github.com/koding/terraform@v0.6.4-0.20170608090606-5d7e0339779d/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 }