github.com/jrperritt/terraform@v0.1.1-0.20170525065507-96f391dafc38/builtin/providers/ovh/types.go (about)

     1  package ovh
     2  
     3  import (
     4  	"fmt"
     5  	"time"
     6  )
     7  
     8  // Opts
     9  type PublicCloudPrivateNetworkCreateOpts struct {
    10  	ProjectId string   `json:"serviceName"`
    11  	VlanId    int      `json:"vlanId"`
    12  	Name      string   `json:"name"`
    13  	Regions   []string `json:"regions"`
    14  }
    15  
    16  func (p *PublicCloudPrivateNetworkCreateOpts) String() string {
    17  	return fmt.Sprintf("projectId: %s, vlanId:%d, name: %s, regions: %s", p.ProjectId, p.VlanId, p.Name, p.Regions)
    18  }
    19  
    20  // Opts
    21  type PublicCloudPrivateNetworkUpdateOpts struct {
    22  	Name string `json:"name"`
    23  }
    24  
    25  type PublicCloudPrivateNetworkRegion struct {
    26  	Status string `json:"status"`
    27  	Region string `json:"region"`
    28  }
    29  
    30  func (p *PublicCloudPrivateNetworkRegion) String() string {
    31  	return fmt.Sprintf("Status:%s, Region: %s", p.Status, p.Region)
    32  }
    33  
    34  type PublicCloudPrivateNetworkResponse struct {
    35  	Id      string                             `json:"id"`
    36  	Status  string                             `json:"status"`
    37  	Vlanid  int                                `json:"vlanId"`
    38  	Name    string                             `json:"name"`
    39  	Type    string                             `json:"type"`
    40  	Regions []*PublicCloudPrivateNetworkRegion `json:"regions"`
    41  }
    42  
    43  func (p *PublicCloudPrivateNetworkResponse) String() string {
    44  	return fmt.Sprintf("Id: %s, Status: %s, Name: %s, Vlanid: %d, Type: %s, Regions: %s", p.Id, p.Status, p.Name, p.Vlanid, p.Type, p.Regions)
    45  }
    46  
    47  // Opts
    48  type PublicCloudPrivateNetworksCreateOpts struct {
    49  	ProjectId string `json:"serviceName"`
    50  	NetworkId string `json:"networkId"`
    51  	Dhcp      bool   `json:"dhcp"`
    52  	NoGateway bool   `json:"noGateway"`
    53  	Start     string `json:"start"`
    54  	End       string `json:"end"`
    55  	Network   string `json:"network"`
    56  	Region    string `json:"region"`
    57  }
    58  
    59  func (p *PublicCloudPrivateNetworksCreateOpts) String() string {
    60  	return fmt.Sprintf("PCPNSCreateOpts[projectId: %s, networkId:%s, dchp: %v, noGateway: %v, network: %s, start: %s, end: %s, region: %s]",
    61  		p.ProjectId, p.NetworkId, p.Dhcp, p.NoGateway, p.Network, p.Start, p.End, p.Region)
    62  }
    63  
    64  type IPPool struct {
    65  	Network string `json:"network"`
    66  	Region  string `json:"region"`
    67  	Dhcp    bool   `json:"dhcp"`
    68  	Start   string `json:"start"`
    69  	End     string `json:"end"`
    70  }
    71  
    72  func (p *IPPool) String() string {
    73  	return fmt.Sprintf("IPPool[Network: %s, Region: %s, Dhcp: %v, Start: %s, End: %s]", p.Network, p.Region, p.Dhcp, p.Start, p.End)
    74  }
    75  
    76  type PublicCloudPrivateNetworksResponse struct {
    77  	Id        string    `json:"id"`
    78  	GatewayIp string    `json:"gatewayIp"`
    79  	Cidr      string    `json:"cidr"`
    80  	IPPools   []*IPPool `json:"ipPools"`
    81  }
    82  
    83  func (p *PublicCloudPrivateNetworksResponse) String() string {
    84  	return fmt.Sprintf("PCPNSResponse[Id: %s, GatewayIp: %s, Cidr: %s, IPPools: %s]", p.Id, p.GatewayIp, p.Cidr, p.IPPools)
    85  }
    86  
    87  // Opts
    88  type PublicCloudUserCreateOpts struct {
    89  	ProjectId   string `json:"serviceName"`
    90  	Description string `json:"description"`
    91  }
    92  
    93  func (p *PublicCloudUserCreateOpts) String() string {
    94  	return fmt.Sprintf("UserOpts[projectId: %s, description:%s]", p.ProjectId, p.Description)
    95  }
    96  
    97  type PublicCloudUserResponse struct {
    98  	Id           int    `json:"id"`
    99  	Username     string `json:"username"`
   100  	Status       string `json:"status"`
   101  	Description  string `json:"description"`
   102  	Password     string `json:"password"`
   103  	CreationDate string `json:"creationDate"`
   104  }
   105  
   106  func (p *PublicCloudUserResponse) String() string {
   107  	return fmt.Sprintf("UserResponse[Id: %v, Username: %s, Status: %s, Description: %s, CreationDate: %s]", p.Id, p.Username, p.Status, p.Description, p.CreationDate)
   108  }
   109  
   110  type PublicCloudUserOpenstackRC struct {
   111  	Content string `json:"content"`
   112  }
   113  
   114  // Opts
   115  type VRackAttachOpts struct {
   116  	Project string `json:"project"`
   117  }
   118  
   119  // Task Opts
   120  type TaskOpts struct {
   121  	ServiceName string `json:"serviceName"`
   122  	TaskId      string `json:"taskId"`
   123  }
   124  
   125  type VRackAttachTaskResponse struct {
   126  	Id           int       `json:"id"`
   127  	Function     string    `json:"function"`
   128  	TargetDomain string    `json:"targetDomain"`
   129  	Status       string    `json:"status"`
   130  	ServiceName  string    `json:"serviceName"`
   131  	OrderId      int       `json:"orderId"`
   132  	LastUpdate   time.Time `json:"lastUpdate"`
   133  	TodoDate     time.Time `json:"TodoDate"`
   134  }
   135  
   136  type PublicCloudRegionResponse struct {
   137  	ContinentCode      string                             `json:"continentCode"`
   138  	DatacenterLocation string                             `json:"datacenterLocation"`
   139  	Name               string                             `json:"name"`
   140  	Services           []PublicCloudServiceStatusResponse `json:"services"`
   141  }
   142  
   143  func (r *PublicCloudRegionResponse) String() string {
   144  	return fmt.Sprintf("Region: %s, Services: %s", r.Name, r.Services)
   145  }
   146  
   147  type PublicCloudServiceStatusResponse struct {
   148  	Status string `json:"status"`
   149  	Name   string `json:"name"`
   150  }
   151  
   152  func (s *PublicCloudServiceStatusResponse) String() string {
   153  	return fmt.Sprintf("%s: %s", s.Name, s.Status)
   154  }