Documentation ¶
Index ¶
- Variables
- type BackendServer
- type Client
- func (c *Client) APIToken() string
- func (c *Client) APIURL() string
- func (c *Client) CreateFirewall(ctx context.Context, body FirewallCreateRequest) (FirewallCreateResponse, error)
- func (c *Client) CreateIP(ctx context.Context, body IPCreateRequest) (IPCreateResponse, error)
- func (c *Client) CreateISOImage(ctx context.Context, body ISOImageCreateRequest) (ISOImageCreateResponse, error)
- func (c *Client) CreateLabel(ctx context.Context, body LabelCreateRequest) (CreateResponse, error)
- func (c *Client) CreateLoadBalancer(ctx context.Context, body LoadBalancerCreateRequest) (LoadBalancerCreateResponse, error)
- func (c *Client) CreateNetwork(ctx context.Context, body NetworkCreateRequest) (NetworkCreateResponse, error)
- func (c *Client) CreateObjectStorageAccessKey(ctx context.Context) (ObjectStorageAccessKeyCreateResponse, error)
- func (c *Client) CreatePaaSSecurityZone(ctx context.Context, body PaaSSecurityZoneCreateRequest) (PaaSSecurityZoneCreateResponse, error)
- func (c *Client) CreatePaaSService(ctx context.Context, body PaaSServiceCreateRequest) (PaaSServiceCreateResponse, error)
- func (c *Client) CreateServer(ctx context.Context, body ServerCreateRequest) (ServerCreateResponse, error)
- func (c *Client) CreateServerIP(ctx context.Context, id string, body ServerIPRelationCreateRequest) error
- func (c *Client) CreateServerIsoImage(ctx context.Context, id string, body ServerIsoImageRelationCreateRequest) error
- func (c *Client) CreateServerNetwork(ctx context.Context, id string, body ServerNetworkRelationCreateRequest) error
- func (c *Client) CreateServerStorage(ctx context.Context, id string, body ServerStorageRelationCreateRequest) error
- func (c *Client) CreateSshkey(ctx context.Context, body SshkeyCreateRequest) (CreateResponse, error)
- func (c *Client) CreateStorage(ctx context.Context, body StorageCreateRequest) (CreateResponse, error)
- func (c *Client) CreateStorageSnapshot(ctx context.Context, id string, body StorageSnapshotCreateRequest) (StorageSnapshotCreateResponse, error)
- func (c *Client) CreateStorageSnapshotSchedule(ctx context.Context, id string, body StorageSnapshotScheduleCreateRequest) (StorageSnapshotScheduleCreateResponse, error)
- func (c *Client) CreateTemplate(ctx context.Context, body TemplateCreateRequest) (CreateResponse, error)
- func (c *Client) DelayInterval() time.Duration
- func (c *Client) DeleteFirewall(ctx context.Context, id string) error
- func (c *Client) DeleteIP(ctx context.Context, id string) error
- func (c *Client) DeleteISOImage(ctx context.Context, id string) error
- func (c *Client) DeleteLabel(ctx context.Context, label string) error
- func (c *Client) DeleteLoadBalancer(ctx context.Context, id string) error
- func (c *Client) DeleteNetwork(ctx context.Context, id string) error
- func (c *Client) DeleteObjectStorageAccessKey(ctx context.Context, id string) error
- func (c *Client) DeletePaaSSecurityZone(ctx context.Context, id string) error
- func (c *Client) DeletePaaSService(ctx context.Context, id string) error
- func (c *Client) DeleteServer(ctx context.Context, id string) error
- func (c *Client) DeleteServerIP(ctx context.Context, serverID, ipID string) error
- func (c *Client) DeleteServerIsoImage(ctx context.Context, serverID, isoImageID string) error
- func (c *Client) DeleteServerNetwork(ctx context.Context, serverID, networkID string) error
- func (c *Client) DeleteServerStorage(ctx context.Context, serverID, storageID string) error
- func (c *Client) DeleteSshkey(ctx context.Context, id string) error
- func (c *Client) DeleteStorage(ctx context.Context, id string) error
- func (c *Client) DeleteStorageSnapshot(ctx context.Context, storageID, snapshotID string) error
- func (c *Client) DeleteStorageSnapshotSchedule(ctx context.Context, storageID, scheduleID string) error
- func (c *Client) DeleteTemplate(ctx context.Context, id string) error
- func (c *Client) ExportStorageSnapshotToS3(ctx context.Context, storageID, snapshotID string, ...) error
- func (c *Client) GetDeletedIPs(ctx context.Context) ([]IP, error)
- func (c *Client) GetDeletedISOImages(ctx context.Context) ([]ISOImage, error)
- func (c *Client) GetDeletedNetworks(ctx context.Context) ([]Network, error)
- func (c *Client) GetDeletedPaaSServices(ctx context.Context) ([]PaaSService, error)
- func (c *Client) GetDeletedServers(ctx context.Context) ([]Server, error)
- func (c *Client) GetDeletedSnapshots(ctx context.Context) ([]StorageSnapshot, error)
- func (c *Client) GetDeletedStorages(ctx context.Context) ([]Storage, error)
- func (c *Client) GetDeletedTemplates(ctx context.Context) ([]Template, error)
- func (c *Client) GetEventList(ctx context.Context) ([]Event, error)
- func (c *Client) GetFirewall(ctx context.Context, id string) (Firewall, error)
- func (c *Client) GetFirewallEventList(ctx context.Context, id string) ([]Event, error)
- func (c *Client) GetFirewallList(ctx context.Context) ([]Firewall, error)
- func (c *Client) GetIP(ctx context.Context, id string) (IP, error)
- func (c *Client) GetIPEventList(ctx context.Context, id string) ([]Event, error)
- func (c *Client) GetIPList(ctx context.Context) ([]IP, error)
- func (c *Client) GetIPVersion(ctx context.Context, id string) int
- func (c *Client) GetIPsByLocation(ctx context.Context, id string) ([]IP, error)
- func (c *Client) GetISOImage(ctx context.Context, id string) (ISOImage, error)
- func (c *Client) GetISOImageEventList(ctx context.Context, id string) ([]Event, error)
- func (c *Client) GetISOImageList(ctx context.Context) ([]ISOImage, error)
- func (c *Client) GetISOImagesByLocation(ctx context.Context, id string) ([]ISOImage, error)
- func (c *Client) GetLabelList(ctx context.Context) ([]Label, error)
- func (c *Client) GetLoadBalancer(ctx context.Context, id string) (LoadBalancer, error)
- func (c *Client) GetLoadBalancerEventList(ctx context.Context, id string) ([]Event, error)
- func (c *Client) GetLoadBalancerList(ctx context.Context) ([]LoadBalancer, error)
- func (c *Client) GetLocation(ctx context.Context, id string) (Location, error)
- func (c *Client) GetLocationList(ctx context.Context) ([]Location, error)
- func (c *Client) GetNetwork(ctx context.Context, id string) (Network, error)
- func (c *Client) GetNetworkEventList(ctx context.Context, id string) ([]Event, error)
- func (c *Client) GetNetworkList(ctx context.Context) ([]Network, error)
- func (c *Client) GetNetworkPublic(ctx context.Context) (Network, error)
- func (c *Client) GetNetworksByLocation(ctx context.Context, id string) ([]Network, error)
- func (c *Client) GetObjectStorageAccessKey(ctx context.Context, id string) (ObjectStorageAccessKey, error)
- func (c *Client) GetObjectStorageAccessKeyList(ctx context.Context) ([]ObjectStorageAccessKey, error)
- func (c *Client) GetObjectStorageBucketList(ctx context.Context) ([]ObjectStorageBucket, error)
- func (c *Client) GetPaaSSecurityZone(ctx context.Context, id string) (PaaSSecurityZone, error)
- func (c *Client) GetPaaSSecurityZoneList(ctx context.Context) ([]PaaSSecurityZone, error)
- func (c *Client) GetPaaSService(ctx context.Context, id string) (PaaSService, error)
- func (c *Client) GetPaaSServiceList(ctx context.Context) ([]PaaSService, error)
- func (c *Client) GetPaaSServiceMetrics(ctx context.Context, id string) ([]PaaSServiceMetric, error)
- func (c *Client) GetPaaSTemplateList(ctx context.Context) ([]PaaSTemplate, error)
- func (c *Client) GetServer(ctx context.Context, id string) (Server, error)
- func (c *Client) GetServerEventList(ctx context.Context, id string) ([]Event, error)
- func (c *Client) GetServerIP(ctx context.Context, serverID, ipID string) (ServerIPRelationProperties, error)
- func (c *Client) GetServerIPList(ctx context.Context, id string) ([]ServerIPRelationProperties, error)
- func (c *Client) GetServerIsoImage(ctx context.Context, serverID, isoImageID string) (ServerIsoImageRelationProperties, error)
- func (c *Client) GetServerIsoImageList(ctx context.Context, id string) ([]ServerIsoImageRelationProperties, error)
- func (c *Client) GetServerList(ctx context.Context) ([]Server, error)
- func (c *Client) GetServerMetricList(ctx context.Context, id string) ([]ServerMetric, error)
- func (c *Client) GetServerNetwork(ctx context.Context, serverID, networkID string) (ServerNetworkRelationProperties, error)
- func (c *Client) GetServerNetworkList(ctx context.Context, id string) ([]ServerNetworkRelationProperties, error)
- func (c *Client) GetServerStorage(ctx context.Context, serverID, storageID string) (ServerStorageRelationProperties, error)
- func (c *Client) GetServerStorageList(ctx context.Context, id string) ([]ServerStorageRelationProperties, error)
- func (c *Client) GetServersByLocation(ctx context.Context, id string) ([]Server, error)
- func (c *Client) GetSnapshotsByLocation(ctx context.Context, id string) ([]StorageSnapshot, error)
- func (c *Client) GetSshkey(ctx context.Context, id string) (Sshkey, error)
- func (c *Client) GetSshkeyEventList(ctx context.Context, id string) ([]Event, error)
- func (c *Client) GetSshkeyList(ctx context.Context) ([]Sshkey, error)
- func (c *Client) GetStorage(ctx context.Context, id string) (Storage, error)
- func (c *Client) GetStorageEventList(ctx context.Context, id string) ([]Event, error)
- func (c *Client) GetStorageList(ctx context.Context) ([]Storage, error)
- func (c *Client) GetStorageSnapshot(ctx context.Context, storageID, snapshotID string) (StorageSnapshot, error)
- func (c *Client) GetStorageSnapshotList(ctx context.Context, id string) ([]StorageSnapshot, error)
- func (c *Client) GetStorageSnapshotSchedule(ctx context.Context, storageID, scheduleID string) (StorageSnapshotSchedule, error)
- func (c *Client) GetStorageSnapshotScheduleList(ctx context.Context, id string) ([]StorageSnapshotSchedule, error)
- func (c *Client) GetStoragesByLocation(ctx context.Context, id string) ([]Storage, error)
- func (c *Client) GetTemplate(ctx context.Context, id string) (Template, error)
- func (c *Client) GetTemplateByName(ctx context.Context, name string) (Template, error)
- func (c *Client) GetTemplateEventList(ctx context.Context, id string) ([]Event, error)
- func (c *Client) GetTemplateList(ctx context.Context) ([]Template, error)
- func (c *Client) GetTemplatesByLocation(ctx context.Context, id string) ([]Template, error)
- func (c *Client) HttpClient() *http.Client
- func (c *Client) IsServerOn(ctx context.Context, id string) (bool, error)
- func (c *Client) LinkIP(ctx context.Context, serverID string, ipID string) error
- func (c *Client) LinkIsoImage(ctx context.Context, serverID string, isoimageID string) error
- func (c *Client) LinkNetwork(ctx context.Context, serverID, networkID, firewallTemplate string, ...) error
- func (c *Client) LinkStorage(ctx context.Context, serverID string, storageID string, bootdevice bool) error
- func (c *Client) Logger() logrus.Logger
- func (c *Client) MaxNumberOfRetries() int
- func (c *Client) RequestCheckTimeout() time.Duration
- func (c *Client) RollbackStorage(ctx context.Context, storageID, snapshotID string, body StorageRollbackRequest) error
- func (c *Client) ShutdownServer(ctx context.Context, id string) error
- func (c *Client) StartServer(ctx context.Context, id string) error
- func (c *Client) StopServer(ctx context.Context, id string) error
- func (c *Client) Synchronous() bool
- func (c *Client) UnlinkIP(ctx context.Context, serverID string, ipID string) error
- func (c *Client) UnlinkIsoImage(ctx context.Context, serverID string, isoimageID string) error
- func (c *Client) UnlinkNetwork(ctx context.Context, serverID string, networkID string) error
- func (c *Client) UnlinkStorage(ctx context.Context, serverID string, storageID string) error
- func (c *Client) UpdateFirewall(ctx context.Context, id string, body FirewallUpdateRequest) error
- func (c *Client) UpdateIP(ctx context.Context, id string, body IPUpdateRequest) error
- func (c *Client) UpdateISOImage(ctx context.Context, id string, body ISOImageUpdateRequest) error
- func (c *Client) UpdateLoadBalancer(ctx context.Context, id string, body LoadBalancerUpdateRequest) error
- func (c *Client) UpdateNetwork(ctx context.Context, id string, body NetworkUpdateRequest) error
- func (c *Client) UpdatePaaSSecurityZone(ctx context.Context, id string, body PaaSSecurityZoneUpdateRequest) error
- func (c *Client) UpdatePaaSService(ctx context.Context, id string, body PaaSServiceUpdateRequest) error
- func (c *Client) UpdateServer(ctx context.Context, id string, body ServerUpdateRequest) error
- func (c *Client) UpdateServerIsoImage(ctx context.Context, serverID, isoImageID string, ...) error
- func (c *Client) UpdateServerNetwork(ctx context.Context, serverID, networkID string, ...) error
- func (c *Client) UpdateServerStorage(ctx context.Context, serverID, storageID string, ...) error
- func (c *Client) UpdateSshkey(ctx context.Context, id string, body SshkeyUpdateRequest) error
- func (c *Client) UpdateStorage(ctx context.Context, id string, body StorageUpdateRequest) error
- func (c *Client) UpdateStorageSnapshot(ctx context.Context, storageID, snapshotID string, ...) error
- func (c *Client) UpdateStorageSnapshotSchedule(ctx context.Context, storageID, scheduleID string, ...) error
- func (c *Client) UpdateTemplate(ctx context.Context, id string, body TemplateUpdateRequest) error
- func (c *Client) UserAgent() string
- func (c *Client) UserUUID() string
- type Config
- type CreateResponse
- type Credential
- type DeletedIPList
- type DeletedISOImageList
- type DeletedNetworkList
- type DeletedPaaSServices
- type DeletedServerList
- type DeletedStorageList
- type DeletedStorageSnapshotList
- type DeletedTemplateList
- type Event
- type EventList
- type EventProperties
- type Firewall
- type FirewallCreateRequest
- type FirewallCreateResponse
- type FirewallList
- type FirewallProperties
- type FirewallRelation
- type FirewallRuleProperties
- type FirewallRules
- type FirewallUpdateRequest
- type ForwardingRule
- type GSTime
- type IP
- type IPCreateRequest
- type IPCreateResponse
- type IPList
- type IPLoadbalancer
- type IPProperties
- type IPRelations
- type IPServer
- type IPUpdateRequest
- type ISOImage
- type ISOImageCreateRequest
- type ISOImageCreateResponse
- type ISOImageList
- type ISOImageProperties
- type ISOImageRelation
- type ISOImageUpdateRequest
- type Label
- type LabelCreateRequest
- type LabelList
- type LabelProperties
- type LoadBalancer
- type LoadBalancerCreateRequest
- type LoadBalancerCreateResponse
- type LoadBalancerProperties
- type LoadBalancerUpdateRequest
- type LoadBalancers
- type Location
- type LocationList
- type LocationProperties
- type Network
- type NetworkCreateRequest
- type NetworkCreateResponse
- type NetworkInFirewall
- type NetworkList
- type NetworkPaaSSecurityZone
- type NetworkProperties
- type NetworkRelations
- type NetworkServer
- type NetworkUpdateRequest
- type NetworkVlan
- type ObjectStorageAccessKey
- type ObjectStorageAccessKeyCreateResponse
- type ObjectStorageAccessKeyList
- type ObjectStorageAccessKeyProperties
- type ObjectStorageBucket
- type ObjectStorageBucketList
- type ObjectStorageBucketProperties
- type PaaSMetricProperties
- type PaaSMetricValue
- type PaaSRelationService
- type PaaSSecurityZone
- type PaaSSecurityZoneCreateRequest
- type PaaSSecurityZoneCreateResponse
- type PaaSSecurityZoneProperties
- type PaaSSecurityZoneUpdateRequest
- type PaaSSecurityZones
- type PaaSService
- type PaaSServiceCreateRequest
- type PaaSServiceCreateResponse
- type PaaSServiceMetric
- type PaaSServiceMetrics
- type PaaSServiceProperties
- type PaaSServiceUpdateRequest
- type PaaSServices
- type PaaSTemplate
- type PaaSTemplateProperties
- type PaaSTemplates
- type Parameter
- type RequestError
- type RequestStatus
- type RequestStatusProperties
- type Resource
- type ResourceLimit
- type S3auth
- type S3data
- type Server
- type ServerCreateRequest
- type ServerCreateRequestIP
- type ServerCreateRequestIsoimage
- type ServerCreateRequestNetwork
- type ServerCreateRequestRelations
- type ServerCreateRequestStorage
- type ServerCreateResponse
- type ServerIPRelation
- type ServerIPRelationCreateRequest
- type ServerIPRelationList
- type ServerIPRelationProperties
- type ServerIsoImageRelation
- type ServerIsoImageRelationCreateRequest
- type ServerIsoImageRelationList
- type ServerIsoImageRelationProperties
- type ServerIsoImageRelationUpdateRequest
- type ServerList
- type ServerMetric
- type ServerMetricList
- type ServerMetricProperties
- type ServerNetworkRelation
- type ServerNetworkRelationCreateRequest
- type ServerNetworkRelationList
- type ServerNetworkRelationProperties
- type ServerNetworkRelationUpdateRequest
- type ServerPowerUpdateRequest
- type ServerProperties
- type ServerRelations
- type ServerStorageRelationCreateRequest
- type ServerStorageRelationList
- type ServerStorageRelationProperties
- type ServerStorageRelationSingle
- type ServerStorageRelationUpdateRequest
- type ServerUpdateRequest
- type ServerinISOImage
- type ServiceObject
- type Sshkey
- type SshkeyCreateRequest
- type SshkeyList
- type SshkeyProperties
- type SshkeyUpdateRequest
- type Storage
- type StorageAndSnapshotScheduleRelation
- type StorageCreateRequest
- type StorageList
- type StorageProperties
- type StorageRelations
- type StorageRollbackRequest
- type StorageServerRelation
- type StorageSnapshot
- type StorageSnapshotCreateRequest
- type StorageSnapshotCreateResponse
- type StorageSnapshotExportToS3Request
- type StorageSnapshotList
- type StorageSnapshotProperties
- type StorageSnapshotRelation
- type StorageSnapshotSchedule
- type StorageSnapshotScheduleCreateRequest
- type StorageSnapshotScheduleCreateResponse
- type StorageSnapshotScheduleList
- type StorageSnapshotScheduleProperties
- type StorageSnapshotScheduleRelation
- type StorageSnapshotScheduleRelations
- type StorageSnapshotScheduleUpdateRequest
- type StorageSnapshotUpdateRequest
- type StorageTemplate
- type StorageUpdateRequest
- type Template
- type TemplateCreateRequest
- type TemplateList
- type TemplateProperties
- type TemplateUpdateRequest
Constants ¶
This section is empty.
Variables ¶
var ( IPv4Type = ipAddressType{4} IPv6Type = ipAddressType{6} )
Allowed IP address versions
var ( LoadbalancerRoundrobinAlg = loadbalancerAlgorithm{"roundrobin"} LoadbalancerLeastConnAlg = loadbalancerAlgorithm{"leastconn"} )
All available loadbalancer algorithms
var ( DefaultServerHardware = &serverHardwareProfile{"default"} NestedServerHardware = &serverHardwareProfile{"nested"} LegacyServerHardware = &serverHardwareProfile{"legacy"} CiscoCSRServerHardware = &serverHardwareProfile{"cisco_csr"} SophosUTMServerHardware = &serverHardwareProfile{"sophos_utm"} F5BigipServerHardware = &serverHardwareProfile{"f5_bigip"} Q35ServerHardware = &serverHardwareProfile{"q35"} Q35NestedServerHardware = &serverHardwareProfile{"q35_nested"} )
All available server's hardware types
var ( DefaultStorageType = &storageType{"storage"} HighStorageType = &storageType{"storage_high"} InsaneStorageType = &storageType{"storage_insane"} )
All allowed storage type's values
var ( PlainPasswordType = &passwordType{"plain"} CryptPasswordType = &passwordType{"crypt"} )
All allowed password type's values
Functions ¶
This section is empty.
Types ¶
type BackendServer ¶
type BackendServer struct { //Weight of the server Weight int `json:"weight"` //Host of the server. Can be URL or IP address. Host string `json:"host"` }
BackendServer is the JSON struct of backend server
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client struct of a gridscale golang client
func (*Client) CreateFirewall ¶
func (c *Client) CreateFirewall(ctx context.Context, body FirewallCreateRequest) (FirewallCreateResponse, error)
CreateFirewall creates a new firewall
See: https://gridscale.io/en//api-documentation/index.html#operation/createFirewall
func (*Client) CreateIP ¶
func (c *Client) CreateIP(ctx context.Context, body IPCreateRequest) (IPCreateResponse, error)
CreateIP creates an IP
Note: IP address family can only be either `IPv4Type` or `IPv6Type`
See: https://gridscale.io/en//api-documentation/index.html#operation/createIp
func (*Client) CreateISOImage ¶
func (c *Client) CreateISOImage(ctx context.Context, body ISOImageCreateRequest) (ISOImageCreateResponse, error)
CreateISOImage creates an ISO image
See: https://gridscale.io/en//api-documentation/index.html#operation/createIsoimage
func (*Client) CreateLabel ¶ added in v1.0.0
func (c *Client) CreateLabel(ctx context.Context, body LabelCreateRequest) (CreateResponse, error)
CreateLabel creates a new label
See: https://gridscale.io/en//api-documentation/index.html#operation/CreateLabel
func (*Client) CreateLoadBalancer ¶
func (c *Client) CreateLoadBalancer(ctx context.Context, body LoadBalancerCreateRequest) (LoadBalancerCreateResponse, error)
CreateLoadBalancer creates a new loadbalancer
Note: loadbalancer's algorithm can only be either `LoadbalancerRoundrobinAlg` or `LoadbalancerLeastConnAlg`
See: https://gridscale.io/en//api-documentation/index.html#operation/createLoadbalancer
func (*Client) CreateNetwork ¶
func (c *Client) CreateNetwork(ctx context.Context, body NetworkCreateRequest) (NetworkCreateResponse, error)
CreateNetwork creates a network
See: https://gridscale.io/en//api-documentation/index.html#tag/network
func (*Client) CreateObjectStorageAccessKey ¶
func (c *Client) CreateObjectStorageAccessKey(ctx context.Context) (ObjectStorageAccessKeyCreateResponse, error)
CreateObjectStorageAccessKey creates an object storage access key
See: https://gridscale.io/en//api-documentation/index.html#operation/createAccessKey
func (*Client) CreatePaaSSecurityZone ¶
func (c *Client) CreatePaaSSecurityZone(ctx context.Context, body PaaSSecurityZoneCreateRequest) (PaaSSecurityZoneCreateResponse, error)
CreatePaaSSecurityZone creates a new PaaS security zone
See: https://gridscale.io/en//api-documentation/index.html#operation/createPaasSecurityZone
func (*Client) CreatePaaSService ¶
func (c *Client) CreatePaaSService(ctx context.Context, body PaaSServiceCreateRequest) (PaaSServiceCreateResponse, error)
CreatePaaSService creates a new PaaS service
See: https://gridscale.io/en//api-documentation/index.html#operation/createPaasService
func (*Client) CreateServer ¶
func (c *Client) CreateServer(ctx context.Context, body ServerCreateRequest) (ServerCreateResponse, error)
CreateServer create a server
NOTE: Allowed values of `HardwareProfile`: nil, DefaultServerHardware, NestedServerHardware, LegacyServerHardware, CiscoCSRServerHardware, SophosUTMServerHardware, F5BigipServerHardware, Q35ServerHardware, Q35NestedServerHardware.
See: https://gridscale.io/en//api-documentation/index.html#operation/createServer
func (*Client) CreateServerIP ¶
func (c *Client) CreateServerIP(ctx context.Context, id string, body ServerIPRelationCreateRequest) error
CreateServerIP create a link between a server and an IP
See: https://gridscale.io/en//api-documentation/index.html#operation/linkIpToServer
func (*Client) CreateServerIsoImage ¶
func (c *Client) CreateServerIsoImage(ctx context.Context, id string, body ServerIsoImageRelationCreateRequest) error
CreateServerIsoImage creates a link between a server and an ISO image
See: https://gridscale.io/en//api-documentation/index.html#operation/linkIsoimageToServer
func (*Client) CreateServerNetwork ¶
func (c *Client) CreateServerNetwork(ctx context.Context, id string, body ServerNetworkRelationCreateRequest) error
CreateServerNetwork creates a link between a network and a storage
See: https://gridscale.io/en//api-documentation/index.html#operation/linkNetworkToServer
func (*Client) CreateServerStorage ¶
func (c *Client) CreateServerStorage(ctx context.Context, id string, body ServerStorageRelationCreateRequest) error
CreateServerStorage create a link between a server and a storage
See: https://gridscale.io/en//api-documentation/index.html#operation/linkStorageToServer
func (*Client) CreateSshkey ¶
func (c *Client) CreateSshkey(ctx context.Context, body SshkeyCreateRequest) (CreateResponse, error)
CreateSshkey creates a ssh key
See: https://gridscale.io/en//api-documentation/index.html#operation/createSshKey
func (*Client) CreateStorage ¶
func (c *Client) CreateStorage(ctx context.Context, body StorageCreateRequest) (CreateResponse, error)
CreateStorage create a storage
NOTE:
- Allowed value for `StorageType`: nil, DefaultStorageType, HighStorageType, InsaneStorageType.
- Allowed value for `PasswordType`: nil, PlainPasswordType, CryptPasswordType.
See: https://gridscale.io/en//api-documentation/index.html#operation/createStorage
func (*Client) CreateStorageSnapshot ¶
func (c *Client) CreateStorageSnapshot(ctx context.Context, id string, body StorageSnapshotCreateRequest) (StorageSnapshotCreateResponse, error)
CreateStorageSnapshot creates a new storage's snapshot
See: https://gridscale.io/en//api-documentation/index.html#operation/createSnapshot
func (*Client) CreateStorageSnapshotSchedule ¶
func (c *Client) CreateStorageSnapshotSchedule(ctx context.Context, id string, body StorageSnapshotScheduleCreateRequest) ( StorageSnapshotScheduleCreateResponse, error)
CreateStorageSnapshotSchedule create a storage's snapshot scheduler
See: https://gridscale.io/en//api-documentation/index.html#operation/createSnapshotSchedule
func (*Client) CreateTemplate ¶
func (c *Client) CreateTemplate(ctx context.Context, body TemplateCreateRequest) (CreateResponse, error)
CreateTemplate creates a template
See: https://gridscale.io/en//api-documentation/index.html#operation/createTemplate
func (*Client) DelayInterval ¶
DelayInterval returns request delay interval
func (*Client) DeleteFirewall ¶
DeleteFirewall delete a specific firewall
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteFirewall
func (*Client) DeleteIP ¶
DeleteIP deletes a specific IP based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteIp
func (*Client) DeleteISOImage ¶
DeleteISOImage deletes a specific ISO image
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteIsoimage
func (*Client) DeleteLabel ¶ added in v1.0.0
DeleteLabel deletes a label
See: https://gridscale.io/en//api-documentation/index.html#operation/DeleteLabel
func (*Client) DeleteLoadBalancer ¶
DeleteLoadBalancer deletes a loadbalancer
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteLoadbalancer
func (*Client) DeleteNetwork ¶
DeleteNetwork deletes a specific network based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteNetwork
func (*Client) DeleteObjectStorageAccessKey ¶
DeleteObjectStorageAccessKey deletes a specific object storage access key based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteAccessKey
func (*Client) DeletePaaSSecurityZone ¶
DeletePaaSSecurityZone delete a specific PaaS Security Zone based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/deletePaasSecurityZone
func (*Client) DeletePaaSService ¶
DeletePaaSService deletes a PaaS service
See: https://gridscale.io/en//api-documentation/index.html#operation/deletePaasService
func (*Client) DeleteServer ¶
DeleteServer deletes a specific server
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteServer
func (*Client) DeleteServerIP ¶
DeleteServerIP delete a link between a server and an IP
See: https://gridscale.io/en//api-documentation/index.html#operation/unlinkIpFromServer
func (*Client) DeleteServerIsoImage ¶
DeleteServerIsoImage deletes a link between an ISO image and a server
See: https://gridscale.io/en//api-documentation/index.html#operation/unlinkIsoimageFromServer
func (*Client) DeleteServerNetwork ¶
DeleteServerNetwork deletes a link between a network and a server
See: https://gridscale.io/en//api-documentation/index.html#operation/unlinkNetworkFromServer
func (*Client) DeleteServerStorage ¶
DeleteServerStorage delete a link between a storage and a server
See: https://gridscale.io/en//api-documentation/index.html#operation/unlinkStorageFromServer
func (*Client) DeleteSshkey ¶
DeleteSshkey deletes a ssh key
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteSshKey
func (*Client) DeleteStorage ¶
DeleteStorage delete a storage
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteStorage
func (*Client) DeleteStorageSnapshot ¶
DeleteStorageSnapshot deletes a specific storage's snapshot
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteSnapshot
func (*Client) DeleteStorageSnapshotSchedule ¶
func (c *Client) DeleteStorageSnapshotSchedule(ctx context.Context, storageID, scheduleID string) error
DeleteStorageSnapshotSchedule deletes specific Storage's snapshot scheduler based on a given storage's id and scheduler's id
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteSnapshotSchedule
func (*Client) DeleteTemplate ¶
DeleteTemplate deletes a template
See: https://gridscale.io/en//api-documentation/index.html#operation/deleteTemplate
func (*Client) ExportStorageSnapshotToS3 ¶
func (c *Client) ExportStorageSnapshotToS3(ctx context.Context, storageID, snapshotID string, body StorageSnapshotExportToS3Request) error
ExportStorageSnapshotToS3 export a storage's snapshot to S3
See: https://gridscale.io/en//api-documentation/index.html#operation/SnapshotExportToS3
func (*Client) GetDeletedIPs ¶ added in v1.0.0
GetDeletedIPs gets a list of deleted IPs
See: https://gridscale.io/en//api-documentation/index.html#operation/getDeletedIps
func (*Client) GetDeletedISOImages ¶ added in v1.0.0
GetDeletedISOImages gets a list of deleted ISO images
See: https://gridscale.io/en//api-documentation/index.html#operation/getDeletedIsoimages
func (*Client) GetDeletedNetworks ¶ added in v1.0.0
GetDeletedNetworks gets a list of deleted networks
See: https://gridscale.io/en//api-documentation/index.html#operation/getDeletedNetworks
func (*Client) GetDeletedPaaSServices ¶ added in v1.0.0
func (c *Client) GetDeletedPaaSServices(ctx context.Context) ([]PaaSService, error)
GetDeletedPaaSServices returns a list of deleted PaaS Services
See: https://gridscale.io/en//api-documentation/index.html#operation/getDeletedPaasServices
func (*Client) GetDeletedServers ¶ added in v1.0.0
GetDeletedServers gets a list of deleted servers
See: https://gridscale.io/en//api-documentation/index.html#operation/getDeletedServers
func (*Client) GetDeletedSnapshots ¶ added in v1.0.0
func (c *Client) GetDeletedSnapshots(ctx context.Context) ([]StorageSnapshot, error)
GetDeletedSnapshots gets a list of deleted storage snapshots
See: https://gridscale.io/en//api-documentation/index.html#operation/getDeletedSnapshots
func (*Client) GetDeletedStorages ¶ added in v1.0.0
GetDeletedStorages gets a list of deleted storages
See: https://gridscale.io/en//api-documentation/index.html#operation/getDeletedStorages
func (*Client) GetDeletedTemplates ¶ added in v1.0.0
GetDeletedTemplates gets a list of deleted templates
See: https://gridscale.io/en//api-documentation/index.html#operation/getDeletedTemplates
func (*Client) GetEventList ¶ added in v1.0.0
GetEventList gets a list of events
See: https://gridscale.io/en//api-documentation/index.html#operation/EventGetAll
func (*Client) GetFirewall ¶
GetFirewall gets a specific firewall based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/getFirewall
func (*Client) GetFirewallEventList ¶
GetFirewallEventList get list of a firewall's events
See: https://gridscale.io/en//api-documentation/index.html#operation/getFirewallEvents
func (*Client) GetFirewallList ¶
GetFirewallList gets a list of available firewalls
See: https://gridscale.io/en//api-documentation/index.html#operation/getFirewalls
func (*Client) GetIP ¶
GetIP get a specific IP based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/getIp
func (*Client) GetIPEventList ¶
GetIPEventList gets a list of an IP's events
See: https://gridscale.io/en//api-documentation/index.html#operation/getIpEvents
func (*Client) GetIPList ¶
GetIPList gets a list of available IPs
https://gridscale.io/en//api-documentation/index.html#operation/getIps
func (*Client) GetIPVersion ¶
GetIPVersion gets IP's version, returns 0 if an error was encountered
func (*Client) GetIPsByLocation ¶ added in v1.0.0
GetIPsByLocation gets a list of IPs by location
See: https://gridscale.io/en//api-documentation/index.html#operation/getLocationIps
func (*Client) GetISOImage ¶
GetISOImage returns a specific ISO image based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/getIsoimage
func (*Client) GetISOImageEventList ¶
GetISOImageEventList returns a list of events of an ISO image
See: https://gridscale.io/en//api-documentation/index.html#operation/getIsoimageEvents
func (*Client) GetISOImageList ¶
GetISOImageList returns a list of available ISO images
See: https://gridscale.io/en//api-documentation/index.html#operation/getIsoimages
func (*Client) GetISOImagesByLocation ¶ added in v1.0.0
GetISOImagesByLocation gets a list of ISO images by location
See: https://gridscale.io/en//api-documentation/index.html#operation/getLocationIsoimages
func (*Client) GetLabelList ¶ added in v1.0.0
GetLabelList gets a list of available labels
See: https://gridscale.io/en//api-documentation/index.html#operation/GetLabels
func (*Client) GetLoadBalancer ¶
GetLoadBalancer returns a loadbalancer of a given uuid
See: https://gridscale.io/en//api-documentation/index.html#operation/getLoadbalancer
func (*Client) GetLoadBalancerEventList ¶
GetLoadBalancerEventList retrieves events of a given uuid
See: https://gridscale.io/en//api-documentation/index.html#operation/getLoadbalancerEvents
func (*Client) GetLoadBalancerList ¶
func (c *Client) GetLoadBalancerList(ctx context.Context) ([]LoadBalancer, error)
GetLoadBalancerList returns a list of loadbalancers
See: https://gridscale.io/en//api-documentation/index.html#operation/getLoadbalancers
func (*Client) GetLocation ¶
GetLocation gets a specific location
See: https://gridscale.io/en//api-documentation/index.html#operation/getLocation
func (*Client) GetLocationList ¶
GetLocationList gets a list of available locations]
See: https://gridscale.io/en//api-documentation/index.html#operation/getLocations
func (*Client) GetNetwork ¶
GetNetwork get a specific network based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/getNetwork
func (*Client) GetNetworkEventList ¶
GetNetworkEventList gets a list of a network's events
See: https://gridscale.io/en//api-documentation/index.html#tag/network
func (*Client) GetNetworkList ¶
GetNetworkList gets a list of available networks
See: https://gridscale.io/en//api-documentation/index.html#operation/getNetworks
func (*Client) GetNetworkPublic ¶
GetNetworkPublic gets public network
func (*Client) GetNetworksByLocation ¶ added in v1.0.0
GetNetworksByLocation gets a list of networks by location
See: https://gridscale.io/en//api-documentation/index.html#operation/getDeletedNetworks
func (*Client) GetObjectStorageAccessKey ¶
func (c *Client) GetObjectStorageAccessKey(ctx context.Context, id string) (ObjectStorageAccessKey, error)
GetObjectStorageAccessKey gets a specific object storage access key based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/getAccessKey
func (*Client) GetObjectStorageAccessKeyList ¶
func (c *Client) GetObjectStorageAccessKeyList(ctx context.Context) ([]ObjectStorageAccessKey, error)
GetObjectStorageAccessKeyList gets a list of available object storage access keys
See: https://gridscale.io/en//api-documentation/index.html#operation/getAccessKeys
func (*Client) GetObjectStorageBucketList ¶
func (c *Client) GetObjectStorageBucketList(ctx context.Context) ([]ObjectStorageBucket, error)
GetObjectStorageBucketList gets a list of object storage buckets
See: https://gridscale.io/en//api-documentation/index.html#operation/getBuckets
func (*Client) GetPaaSSecurityZone ¶
GetPaaSSecurityZone get a specific PaaS Security Zone based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/getPaasSecurityZone
func (*Client) GetPaaSSecurityZoneList ¶
func (c *Client) GetPaaSSecurityZoneList(ctx context.Context) ([]PaaSSecurityZone, error)
GetPaaSSecurityZoneList get available security zones
See: https://gridscale.io/en//api-documentation/index.html#operation/getPaasSecurityZones
func (*Client) GetPaaSService ¶
GetPaaSService returns a specific PaaS Service based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/getPaasService
func (*Client) GetPaaSServiceList ¶
func (c *Client) GetPaaSServiceList(ctx context.Context) ([]PaaSService, error)
GetPaaSServiceList returns a list of PaaS Services
See: https://gridscale.io/en//api-documentation/index.html#operation/getPaasServices
func (*Client) GetPaaSServiceMetrics ¶
GetPaaSServiceMetrics get a specific PaaS Service's metrics based on a given id
See: https://gridscale.io/en//api-documentation/index.html#operation/getPaasServiceMetrics
func (*Client) GetPaaSTemplateList ¶
func (c *Client) GetPaaSTemplateList(ctx context.Context) ([]PaaSTemplate, error)
GetPaaSTemplateList returns a list of PaaS service templates
See: https://gridscale.io/en//api-documentation/index.html#operation/getPaasServiceTemplates
func (*Client) GetServer ¶
GetServer gets a specific server based on given list
See: https://gridscale.io/en//api-documentation/index.html#operation/getServer
func (*Client) GetServerEventList ¶
GetServerEventList gets a list of a specific server's events
See: https://gridscale.io/en//api-documentation/index.html#operation/getServerEvents
func (*Client) GetServerIP ¶
func (c *Client) GetServerIP(ctx context.Context, serverID, ipID string) (ServerIPRelationProperties, error)
GetServerIP gets an IP of a specific server
See: https://gridscale.io/en//api-documentation/index.html#operation/getServerLinkedIp
func (*Client) GetServerIPList ¶
func (c *Client) GetServerIPList(ctx context.Context, id string) ([]ServerIPRelationProperties, error)
GetServerIPList gets a list of a specific server's IPs
See: https://gridscale.io/en//api-documentation/index.html#operation/getServerLinkedIps
func (*Client) GetServerIsoImage ¶
func (c *Client) GetServerIsoImage(ctx context.Context, serverID, isoImageID string) (ServerIsoImageRelationProperties, error)
GetServerIsoImage gets an ISO image of a specific server
See: https://gridscale.io/en//api-documentation/index.html#operation/getServerLinkedIsoimage
func (*Client) GetServerIsoImageList ¶
func (c *Client) GetServerIsoImageList(ctx context.Context, id string) ([]ServerIsoImageRelationProperties, error)
GetServerIsoImageList gets a list of a specific server's ISO images
See: https://gridscale.io/en//api-documentation/index.html#operation/getServerLinkedIsoimages
func (*Client) GetServerList ¶
GetServerList gets a list of available servers
See: https://gridscale.io/en//api-documentation/index.html#operation/getServers
func (*Client) GetServerMetricList ¶
GetServerMetricList gets a list of a specific server's metrics
See: https://gridscale.io/en//api-documentation/index.html#operation/getServerMetrics
func (*Client) GetServerNetwork ¶
func (c *Client) GetServerNetwork(ctx context.Context, serverID, networkID string) (ServerNetworkRelationProperties, error)
GetServerNetwork gets a network of a specific server
See: https://gridscale.io/en//api-documentation/index.html#operation/getServerLinkedNetwork
func (*Client) GetServerNetworkList ¶
func (c *Client) GetServerNetworkList(ctx context.Context, id string) ([]ServerNetworkRelationProperties, error)
GetServerNetworkList gets a list of a specific server's networks
See: https://gridscale.io/en//api-documentation/index.html#operation/getServerLinkedNetworks
func (*Client) GetServerStorage ¶
func (c *Client) GetServerStorage(ctx context.Context, serverID, storageID string) (ServerStorageRelationProperties, error)
GetServerStorage gets a storage of a specific server
See: https://gridscale.io/en//api-documentation/index.html#operation/getServerLinkedStorage
func (*Client) GetServerStorageList ¶
func (c *Client) GetServerStorageList(ctx context.Context, id string) ([]ServerStorageRelationProperties, error)
GetServerStorageList gets a list of a specific server's storages
See: https://gridscale.io/en//api-documentation/index.html#operation/getServerLinkedStorages
func (*Client) GetServersByLocation ¶ added in v1.0.0
GetServersByLocation gets a list of servers by location
See: https://gridscale.io/en//api-documentation/index.html#operation/getLocationServers
func (*Client) GetSnapshotsByLocation ¶ added in v1.0.0
GetSnapshotsByLocation gets a list of storage snapshots by location
See: https://gridscale.io/en//api-documentation/index.html#operation/getLocationSnapshots
func (*Client) GetSshkey ¶
GetSshkey gets a ssh key
See: https://gridscale.io/en//api-documentation/index.html#operation/getSshKey
func (*Client) GetSshkeyEventList ¶
GetSshkeyEventList gets a ssh key's events
See: https://gridscale.io/en//api-documentation/index.html#operation/getSshKeyEvents
func (*Client) GetSshkeyList ¶
GetSshkeyList gets a list of ssh keys
See: https://gridscale.io/en//api-documentation/index.html#operation/getSshKeys
func (*Client) GetStorage ¶
GetStorage get a storage
See: https://gridscale.io/en//api-documentation/index.html#operation/getStorage
func (*Client) GetStorageEventList ¶
GetStorageEventList get list of a storage's event
See: https://gridscale.io/en//api-documentation/index.html#operation/getStorageEvents
func (*Client) GetStorageList ¶
GetStorageList gets a list of available storages
See: https://gridscale.io/en//api-documentation/index.html#operation/getStorages
func (*Client) GetStorageSnapshot ¶
func (c *Client) GetStorageSnapshot(ctx context.Context, storageID, snapshotID string) (StorageSnapshot, error)
GetStorageSnapshot gets a specific storage's snapshot based on given storage id and snapshot id.
See: https://gridscale.io/en//api-documentation/index.html#operation/getSnapshot
func (*Client) GetStorageSnapshotList ¶
GetStorageSnapshotList gets a list of storage snapshots
See: https://gridscale.io/en//api-documentation/index.html#operation/getSnapshots
func (*Client) GetStorageSnapshotSchedule ¶
func (c *Client) GetStorageSnapshotSchedule(ctx context.Context, storageID, scheduleID string) (StorageSnapshotSchedule, error)
GetStorageSnapshotSchedule gets a specific storage snapshot scheduler based on a given storage's id and scheduler's id
See: https://gridscale.io/en//api-documentation/index.html#operation/getSnapshotSchedule
func (*Client) GetStorageSnapshotScheduleList ¶
func (c *Client) GetStorageSnapshotScheduleList(ctx context.Context, id string) ([]StorageSnapshotSchedule, error)
GetStorageSnapshotScheduleList gets a list of available storage snapshot schedules based on a given storage's id
See: https://gridscale.io/en//api-documentation/index.html#operation/getSnapshotSchedules
func (*Client) GetStoragesByLocation ¶ added in v1.0.0
GetStoragesByLocation gets a list of storages by location
See: https://gridscale.io/en//api-documentation/index.html#operation/getLocationStorages
func (*Client) GetTemplate ¶
GetTemplate gets a template
See: https://gridscale.io/en//api-documentation/index.html#operation/getTemplate
func (*Client) GetTemplateByName ¶
GetTemplateByName gets a template by its name
func (*Client) GetTemplateEventList ¶
GetTemplateEventList gets a list of a template's events
See: https://gridscale.io/en//api-documentation/index.html#operation/getTemplateEvents
func (*Client) GetTemplateList ¶
GetTemplateList gets a list of templates
See: https://gridscale.io/en//api-documentation/index.html#operation/getTemplates
func (*Client) GetTemplatesByLocation ¶ added in v1.0.0
GetTemplatesByLocation gets a list of templates by location
See: https://gridscale.io/en//api-documentation/index.html#operation/getLocationTemplates
func (*Client) HttpClient ¶
HttpClient returns http client
func (*Client) IsServerOn ¶
IsServerOn returns true if the server's power is on, otherwise returns false
func (*Client) LinkIsoImage ¶
LinkIsoImage attaches an ISO image to a server
func (*Client) LinkNetwork ¶
func (c *Client) LinkNetwork(ctx context.Context, serverID, networkID, firewallTemplate string, bootdevice bool, order int, l3security []string, firewall *FirewallRules) error
LinkNetwork attaches a network to a server
func (*Client) LinkStorage ¶
func (c *Client) LinkStorage(ctx context.Context, serverID string, storageID string, bootdevice bool) error
LinkStorage attaches a storage to a server
func (*Client) MaxNumberOfRetries ¶
MaxNumberOfRetries returns max number of retries
func (*Client) RequestCheckTimeout ¶
RequestCheckTimeout returns request check timeout
func (*Client) RollbackStorage ¶
func (c *Client) RollbackStorage(ctx context.Context, storageID, snapshotID string, body StorageRollbackRequest) error
RollbackStorage rollbacks a storage
See: https://gridscale.io/en//api-documentation/index.html#operation/StorageRollback
func (*Client) ShutdownServer ¶
ShutdownServer shutdowns a specific server
func (*Client) StartServer ¶
StartServer starts a server
func (*Client) StopServer ¶
StopServer stops a server
func (*Client) Synchronous ¶
Synchronous returns if the client is sync or not
func (*Client) UnlinkIsoImage ¶
UnlinkIsoImage removes the link between an ISO image and a server
func (*Client) UnlinkNetwork ¶
UnlinkNetwork removes the link between a network and a server
func (*Client) UnlinkStorage ¶
UnlinkStorage remove a storage from a server
func (*Client) UpdateFirewall ¶
UpdateFirewall update a specific firewall
See: https://gridscale.io/en//api-documentation/index.html#operation/updateFirewall
func (*Client) UpdateIP ¶
UpdateIP updates a specific IP based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/updateIp
func (*Client) UpdateISOImage ¶
UpdateISOImage updates a specific ISO Image
See: https://gridscale.io/en//api-documentation/index.html#operation/updateIsoimage
func (*Client) UpdateLoadBalancer ¶
func (c *Client) UpdateLoadBalancer(ctx context.Context, id string, body LoadBalancerUpdateRequest) error
UpdateLoadBalancer update configuration of a loadbalancer
Note: loadbalancer's algorithm can only be either `LoadbalancerRoundrobinAlg` or `LoadbalancerLeastConnAlg`
See: https://gridscale.io/en//api-documentation/index.html#operation/updateLoadbalancer
func (*Client) UpdateNetwork ¶
UpdateNetwork updates a specific network based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/updateNetwork
func (*Client) UpdatePaaSSecurityZone ¶
func (c *Client) UpdatePaaSSecurityZone(ctx context.Context, id string, body PaaSSecurityZoneUpdateRequest) error
UpdatePaaSSecurityZone update a specific PaaS security zone based on given id
See: https://gridscale.io/en//api-documentation/index.html#operation/updatePaasSecurityZone
func (*Client) UpdatePaaSService ¶
func (c *Client) UpdatePaaSService(ctx context.Context, id string, body PaaSServiceUpdateRequest) error
UpdatePaaSService updates a specific PaaS Service based on a given id
See: https://gridscale.io/en//api-documentation/index.html#operation/updatePaasService
func (*Client) UpdateServer ¶
UpdateServer updates a specific server
See: https://gridscale.io/en//api-documentation/index.html#operation/updateServer
func (*Client) UpdateServerIsoImage ¶
func (c *Client) UpdateServerIsoImage(ctx context.Context, serverID, isoImageID string, body ServerIsoImageRelationUpdateRequest) error
UpdateServerIsoImage updates a link between a storage and an ISO image
See: https://gridscale.io/en//api-documentation/index.html#operation/updateServerLinkedIsoimage
func (*Client) UpdateServerNetwork ¶
func (c *Client) UpdateServerNetwork(ctx context.Context, serverID, networkID string, body ServerNetworkRelationUpdateRequest) error
UpdateServerNetwork updates a link between a network and a server
See: https://gridscale.io/en//api-documentation/index.html#operation/updateServerLinkedNetwork
func (*Client) UpdateServerStorage ¶
func (c *Client) UpdateServerStorage(ctx context.Context, serverID, storageID string, body ServerStorageRelationUpdateRequest) error
UpdateServerStorage updates a link between a storage and a server
See: https://gridscale.io/en//api-documentation/index.html#operation/updateServerLinkedStorage
func (*Client) UpdateSshkey ¶
UpdateSshkey updates a ssh key
See: https://gridscale.io/en//api-documentation/index.html#operation/updateSshKey
func (*Client) UpdateStorage ¶
UpdateStorage update a storage
See: https://gridscale.io/en//api-documentation/index.html#operation/updateStorage
func (*Client) UpdateStorageSnapshot ¶
func (c *Client) UpdateStorageSnapshot(ctx context.Context, storageID, snapshotID string, body StorageSnapshotUpdateRequest) error
UpdateStorageSnapshot updates a specific storage's snapshot
See: https://gridscale.io/en//api-documentation/index.html#operation/updateSnapshot
func (*Client) UpdateStorageSnapshotSchedule ¶
func (c *Client) UpdateStorageSnapshotSchedule(ctx context.Context, storageID, scheduleID string, body StorageSnapshotScheduleUpdateRequest) error
UpdateStorageSnapshotSchedule updates specific Storage's snapshot scheduler based on a given storage's id and scheduler's id
See: https://gridscale.io/en//api-documentation/index.html#operation/updateSnapshotSchedule
func (*Client) UpdateTemplate ¶
UpdateTemplate updates a template
See: https://gridscale.io/en//api-documentation/index.html#operation/updateTemplate
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
Config config for client
func DefaultConfiguration ¶
DefaultConfiguration creates a default configuration
func NewConfiguration ¶
func NewConfiguration(apiURL string, uuid string, token string, debugMode, sync bool, requestCheckTimeoutSecs, delayIntervalMilliSecs, maxNumberOfRetries int) *Config
NewConfiguration creates a new config
- Parameters:
- apiURL string: base URL of API.
- uuid string: UUID of user.
- token string: API token.
- debugMode bool: true => run client in debug mode.
- sync bool: true => client is in synchronous mode. The client will block until Create/Update/Delete processes are completely finished. It is safer to set this parameter to `true`.
- requestCheckTimeoutSecs int: Timeout (in second) for checking requests (for synchronous feature)
- delayIntervalMilliSecs int: delay (in MilliSecond) between requests when checking request (or retry 5xx, 424 error code)
- maxNumberOfRetries int: number of retries when server returns 5xx, 424 error code.
type CreateResponse ¶
type CreateResponse struct { //UUID of the object being created ObjectUUID string `json:"object_uuid"` //UUID of the request RequestUUID string `json:"request_uuid"` }
CreateResponse common struct of a response for creation
type Credential ¶
type Credential struct { //The initial username to authenticate the Service. Username string `json:"username"` //The initial password to authenticate the Service. Password string `json:"password"` //The type of Service. Type string `json:"type"` }
Credential is JSON struct of credential
type DeletedIPList ¶ added in v1.0.0
type DeletedIPList struct { //Array of deleted IP addresses List map[string]IPProperties `json:"deleted_ips"` }
DeletedIPList is JSON struct of a list of deleted IPs
type DeletedISOImageList ¶ added in v1.0.0
type DeletedISOImageList struct { //List of deleted ISO-images List map[string]ISOImageProperties `json:"deleted_isoimages"` }
DeletedISOImageList is JSON struct of a list of deleted SO images
type DeletedNetworkList ¶ added in v1.0.0
type DeletedNetworkList struct { //Array of deleted networks List map[string]NetworkProperties `json:"deleted_networks"` }
DeletedNetworkList is JSON struct of a list of deleted networks
type DeletedPaaSServices ¶ added in v1.0.0
type DeletedPaaSServices struct { //Array of deleted PaaS services List map[string]PaaSServiceProperties `json:"deleted_paas_services"` }
DeletedPaaSServices is the JSON struct of a list of deleted PaaS services
type DeletedServerList ¶ added in v1.0.0
type DeletedServerList struct { //Array of deleted servers List map[string]ServerProperties `json:"deleted_servers"` }
DeletedServerList JSON struct of a list of deleted servers
type DeletedStorageList ¶ added in v1.0.0
type DeletedStorageList struct { //Array of deleted storages List map[string]StorageProperties `json:"deleted_storages"` }
DeletedStorageList JSON struct of a list of storages
type DeletedStorageSnapshotList ¶ added in v1.0.0
type DeletedStorageSnapshotList struct { //Array of deleted snapshots List map[string]StorageSnapshotProperties `json:"deleted_snapshots"` }
DeletedStorageSnapshotList is JSON structure of a list of deleted storage snapshots
type DeletedTemplateList ¶ added in v1.0.0
type DeletedTemplateList struct { //Array of deleted templates List map[string]TemplateProperties `json:"deleted_templates"` }
DeletedTemplateList JSON struct of a list of deleted templates
type Event ¶ added in v1.0.0
type Event struct { //Properties of an event Properties EventProperties `json:"event"` }
Event is JSOn struct of a single firewall's event
type EventList ¶ added in v1.0.0
type EventList struct { //Array of events List []EventProperties `json:"events"` }
EventList is JSON struct of a list of events
type EventProperties ¶ added in v1.0.0
type EventProperties struct { //Type of object (server, storage, IP) etc ObjectType string `json:"object_type"` //The UUID of the event RequestUUID string `json:"request_uuid"` //The UUID of the objects the event was executed on ObjectUUID string `json:"object_uuid"` //The type of change Activity string `json:"activity"` //The type of request RequestType string `json:"request_type"` //True or false, whether the request was successful or not RequestStatus string `json:"request_status"` //A detailed description of the change. Change string `json:"change"` //Time the event was triggered Timestamp GSTime `json:"timestamp"` //The UUID of the user that triggered the event UserUUID string `json:"user_uuid"` }
EventProperties is JSON struct of an event properties
type Firewall ¶
type Firewall struct { //Properties of a firewall Properties FirewallProperties `json:"firewall"` }
Firewall is JSON structure of a single firewall
type FirewallCreateRequest ¶
type FirewallCreateRequest struct { //Name of firewall being created Name string `json:"name"` //Labels. Can be nil Labels []string `json:"labels,omitempty"` //FirewallRules Rules FirewallRules `json:"rules"` }
FirewallCreateRequest is JSON struct of a request for creating a firewall
type FirewallCreateResponse ¶
type FirewallCreateResponse struct { //Request UUID RequestUUID string `json:"request_uuid"` //The UUID of the firewall being created ObjectUUID string `json:"object_uuid"` }
FirewallCreateResponse is JSON struct of a response for creating a firewall
type FirewallList ¶
type FirewallList struct { //Array of firewalls List map[string]FirewallProperties `json:"firewalls"` }
FirewallList is JSON structure of a list of firewalls
type FirewallProperties ¶
type FirewallProperties struct { //Status indicates the status of the object Status string `json:"status"` //List of labels Labels []string `json:"labels"` //The UUID of an object is always unique, and refers to a specific object ObjectUUID string `json:"object_uuid"` //Defines the date and time of the last object change ChangeTime GSTime `json:"change_time"` //FirewallRules Rules FirewallRules `json:"rules"` //Defines the date and time the object was initially created CreateTime GSTime `json:"create_time"` //If this is a private or public Firewall-Template Private bool `json:"private"` //The information about other object which are related to this Firewall. The object could be Network. Relations FirewallRelation `json:"relations"` //Description of the ISO-Image release Description string `json:"description"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationName string `json:"location_name"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` }
FirewallProperties is JSON struct of a firewall's properties
type FirewallRelation ¶
type FirewallRelation struct { //Array of object (NetworkinFirewall) Networks []NetworkInFirewall `json:"networks"` }
FirewallRelation is a JSON struct of a list of firewall's relations
type FirewallRuleProperties ¶
type FirewallRuleProperties struct { //Enum:"udp" "tcp". Either udp or tcp Protocol string `json:"protocol,omitempty"` //A Number between 1 and 65535, port ranges are seperated by a colon for FTP. DstPort string `json:"dst_port,omitempty"` //A Number between 1 and 65535, port ranges are seperated by a colon for FTP. SrcPort string `json:"src_port,omitempty"` //A Number between 1 and 65535, port ranges are seperated by a colon for FTP. SrcCidr string `json:"src_cidr,omitempty"` //Enum:"accept" "drop". This defines what the firewall will do. Either accept or drop. Action string `json:"action"` //Description Comment string `json:"comment,omitempty"` //Either an IPv4/6 address or and IP Network in CIDR format. If this field is empty then all IPs have access to this service. DstCidr string `json:"dst_cidr,omitempty"` //The order at which the firewall will compare packets against its rules, // a packet will be compared against the first rule, it will either allow it to pass // or block it and it won t be matched against any other rules. // However, if it does no match the rule, then it will proceed onto rule 2. // Packets that do not match any rules are blocked by default. Order int `json:"order"` }
FirewallRuleProperties is JSON struct of a firewall's rule properties
type FirewallRules ¶
type FirewallRules struct { //Firewall template rules for inbound traffic - covers ipv6 addresses. RulesV6In []FirewallRuleProperties `json:"rules-v6-in,omitempty"` //Firewall template tules for outbound traffic - covers ipv6 addresses. RulesV6Out []FirewallRuleProperties `json:"rules-v6-out,omitempty"` //Firewall template rules for inbound traffic - covers ipv4 addresses. RulesV4In []FirewallRuleProperties `json:"rules-v4-in,omitempty"` //Firewall template tules for outbound traffic - covers ipv4 addresses. RulesV4Out []FirewallRuleProperties `json:"rules-v4-out,omitempty"` }
FirewallRules is JSON struct of a list of firewall's rules
type FirewallUpdateRequest ¶
type FirewallUpdateRequest struct { //New name. Leave it if you do not want to update the name Name string `json:"name,omitempty"` //New list of labels. Leave it if you do not want to update the Labels Labels []string `json:"labels,omitempty"` //FirewallRules. Leave it if you do not want to update the firewall rules Rules *FirewallRules `json:"rules,omitempty"` }
FirewallUpdateRequest is JSON struct of a request for updating a firewall
type ForwardingRule ¶
type ForwardingRule struct { //SSL from Letsencrypt LetsencryptSSL interface{} `json:"letsencrypt_ssl"` //Listen port ListenPort int `json:"listen_port"` //Mode of forwarding Mode string `json:"mode"` //Target port TargetPort int `json:"target_port"` }
ForwardingRule is the JSON struct of forwarding rule
type GSTime ¶
GSTime is custom time type of Gridscale
func (GSTime) MarshalJSON ¶
MarshalJSON custom marshaller for GSTime
func (*GSTime) UnmarshalJSON ¶
UnmarshalJSON custom unmarshaller for GSTime
type IP ¶
type IP struct { //Properties of an IP address Properties IPProperties `json:"ip"` }
IP is JSON struct if a single IP
type IPCreateRequest ¶
type IPCreateRequest struct { //Name of an IP address being created. Can be an empty string Name string `json:"name,omitempty"` //IP address family. Can only be either `IPv4Type` or `IPv6Type` Family ipAddressType `json:"family"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //Sets failover mode for this IP. If true, then this IP is no longer available for DHCP and can no longer be related to any server. Failover bool `json:"failover,omitempty"` //Defines the reverse DNS entry for the IP Address (PTR Resource Record). ReverseDNS string `json:"reverse_dns,omitempty"` //List of labels. Labels []string `json:"labels,omitempty"` }
IPCreateRequest is JSON struct of a request for creating an IP
type IPCreateResponse ¶
type IPCreateResponse struct { //Request's UUID RequestUUID string `json:"request_uuid"` //UUID of the IP address being created ObjectUUID string `json:"object_uuid"` //The IP prefix. Prefix string `json:"prefix"` //The IP Address (v4 or v6). IP string `json:"ip"` }
IPCreateResponse is JSON struct of a response for creating an IP
type IPList ¶
type IPList struct { //Array of IP addresses List map[string]IPProperties `json:"ips"` }
IPList is JSON struct of a list of IPs
type IPLoadbalancer ¶
type IPLoadbalancer struct { //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. LoadbalancerName string `json:"loadbalancer_name"` //The UUID of loadbalancer. LoadbalancerUUID string `json:"loadbalancer_uuid"` }
IPLoadbalancer is JSON struct of the relation between an IP and a Load Balancer
type IPProperties ¶
type IPProperties struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationCountry string `json:"location_country"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //Defines the reverse DNS entry for the IP Address (PTR Resource Record). ReverseDNS string `json:"reverse_dns"` //Enum:4 6. The IP Address family (v4 or v6) Family int `json:"family"` //Status indicates the status of the object. Status string `json:"status"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //Sets failover mode for this IP. If true, then this IP is no longer available for DHCP and can no longer be related to any server. Failover bool `json:"failover"` //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` //Uses IATA airport code, which works as a location identifier. LocationIata string `json:"location_iata"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationName string `json:"location_name"` //The IP prefix. Prefix string `json:"prefix"` //Defines the IP Address (v4 or v6). IP string `json:"ip"` //Defines if the object is administratively blocked. If true, it can not be deleted by the user. DeleteBlock bool `json:"delete_block"` //Total minutes the object has been running. UsagesInMinutes float64 `json:"usage_in_minutes"` //The price for the current period since the last bill. CurrentPrice float64 `json:"current_price"` //List of labels. Labels []string `json:"labels"` //The information about other object which are related to this IP. the object could be servers and/or loadbalancer. Relations IPRelations `json:"relations"` }
IPProperties is JSON struct of an IP's properties
type IPRelations ¶
type IPRelations struct { //Array of object (IPLoadbalancer) Loadbalancers []IPLoadbalancer `json:"loadbalancers"` //Array of object (IPServer) Servers []IPServer `json:"servers"` //Array of object (ServerIPRelationProperties) PublicIPs []ServerIPRelationProperties `json:"public_ips"` //Array of object (ServerStorageRelationProperties) Storages []ServerStorageRelationProperties `json:"storages"` }
IPRelations is JSON struct of a list of an IP's relations
type IPServer ¶
type IPServer struct { //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ServerName string `json:"server_name"` //The UUID of the server. ServerUUID string `json:"server_uuid"` }
IPServer is JSON struct of the relation between an IP and a Server
type IPUpdateRequest ¶
type IPUpdateRequest struct { //New name. Leave it if you do not want to update the name Name string `json:"name,omitempty"` //Sets failover mode for this IP. If true, then this IP is no longer available for DHCP and can no longer be related to any server. Failover bool `json:"failover"` //Defines the reverse DNS entry for the IP Address (PTR Resource Record). Leave it if you do not want to update the reverse DNS. ReverseDNS string `json:"reverse_dns,omitempty"` //List of labels. Leave it if you do not want to update the labels. Labels []string `json:"labels,omitempty"` }
IPUpdateRequest is JSON struct of a request for updating an IP
type ISOImage ¶
type ISOImage struct { //Properties of an ISO-image Properties ISOImageProperties `json:"isoimage"` }
ISOImage is JSON struct of a list an ISO image
type ISOImageCreateRequest ¶
type ISOImageCreateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The source URL from which the ISO-Image should be downloaded. SourceURL string `json:"source_url"` //List of labels. Can be leave empty. Labels []string `json:"labels,omitempty"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` }
ISOImageCreateRequest is JSON struct of a request for creating an ISO-Image
type ISOImageCreateResponse ¶
type ISOImageCreateResponse struct { //Request's UUID RequestUUID string `json:"request_uuid"` //UUID of an ISO-image being created ObjectUUID string `json:"object_uuid"` }
ISOImageCreateResponse is JSON struct of a response for creating an ISO-Image
type ISOImageList ¶
type ISOImageList struct { //List of ISO-images List map[string]ISOImageProperties `json:"isoimages"` }
ISOImageList is JSON struct of a list of ISO images
type ISOImageProperties ¶
type ISOImageProperties struct { //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //The information about other object which are related to this isoimage. Relations ISOImageRelation `json:"relations"` //Description of the ISO-Image release. Description string `json:"description"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationName string `json:"location_name"` //Contains the source URL of the ISO-Image that it was originally fetched from. SourceURL string `json:"source_url"` //List of labels Labels []string `json:"labels"` //Uses IATA airport code, which works as a location identifier. LocationIata string `json:"location_iata"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //Status indicates the status of the object. Status string `json:"status"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //Upstream version of the ISO-Image release Version string `json:"version"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationCountry string `json:"location_country"` //Total minutes the object has been running. UsageInMinutes int `json:"usage_in_minutes"` //Whether the ISO-Image is private or not. Private bool `json:"private"` //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` //The capacity of an ISO-Image in GB. Capacity int `json:"capacity"` //The price for the current period since the last bill. CurrentPrice float64 `json:"current_price"` }
ISOImageProperties is JSON struct of properties of an ISO image
type ISOImageRelation ¶
type ISOImageRelation struct { //Array of object (ServerinIsoimage) Servers []ServerinISOImage `json:"servers"` }
ISOImageRelation is JSON struct of a list of an ISO-Image's relations
type ISOImageUpdateRequest ¶
type ISOImageUpdateRequest struct { //New name. Leave it if you do not want to update the name. Name string `json:"name,omitempty"` //List of labels. Leave it if you do not want to update the list of labels. Labels []string `json:"labels,omitempty"` }
ISOImageUpdateRequest is JSON struct of a request for updating an ISO-Image
type Label ¶ added in v1.0.0
type Label struct { //Properties of a label Properties LabelProperties `json:"label"` }
Label JSON struct of a single label
type LabelCreateRequest ¶ added in v1.0.0
type LabelCreateRequest struct { //Name of the new label Label string `json:"label"` }
LabelCreateRequest JSON struct of a request for creating a label
type LabelList ¶ added in v1.0.0
type LabelList struct { //List of labels List map[string]LabelProperties `json:"labels"` }
LabelList JSON struct of a list of labels
type LabelProperties ¶ added in v1.0.0
type LabelProperties struct { //Label's name Label string `json:"label"` //Create time of a label CreateTime GSTime `json:"create_time"` //Time of the last change of a label ChangeTime GSTime `json:"change_time"` //Relations of a label Relations []interface{} `json:"relations"` //Status indicates the status of a label. Status string `json:"status"` }
LabelProperties JSON struct of properties of a label
type LoadBalancer ¶
type LoadBalancer struct { //Properties of a loadbalancer Properties LoadBalancerProperties `json:"loadbalancer"` }
LoadBalancer is the JSON struct of a loadbalancer
type LoadBalancerCreateRequest ¶
type LoadBalancerCreateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ListenIPv6UUID string `json:"listen_ipv6_uuid"` //The UUID of the IPv4 address the loadbalancer will listen to for incoming requests. ListenIPv4UUID string `json:"listen_ipv4_uuid"` //The algorithm used to process requests. Allowed values: `LoadbalancerRoundrobinAlg`, `LoadbalancerLeastConnAlg` Algorithm loadbalancerAlgorithm `json:"algorithm"` //An array of ForwardingRule objects containing the forwarding rules for the loadbalancer ForwardingRules []ForwardingRule `json:"forwarding_rules"` //The servers that this loadbalancer can communicate with BackendServers []BackendServer `json:"backend_servers"` //List of labels. Labels []string `json:"labels"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //Whether the Load balancer is forced to redirect requests from HTTP to HTTPS RedirectHTTPToHTTPS bool `json:"redirect_http_to_https"` //Status indicates the status of the object. Status string `json:"status,omitempty"` }
LoadBalancerCreateRequest is the JSON struct for creating a loadbalancer request
type LoadBalancerCreateResponse ¶
type LoadBalancerCreateResponse struct { //Request's UUID RequestUUID string `json:"request_uuid"` //UUID of the loadbalancer being created ObjectUUID string `json:"object_uuid"` }
LoadBalancerCreateResponse is the JSON struct for a loadbalancer response
type LoadBalancerProperties ¶
type LoadBalancerProperties struct { //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //Defines the numbering of the Data Centers on a given IATA location (e.g. where fra is the location_iata, the site is then 1, 2, 3, ...). LocationSite string `json:"location_site"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //Forwarding rules of a loadbalancer ForwardingRules []ForwardingRule `json:"forwarding_rules"` //Uses IATA airport code, which works as a location identifier. LocationIata string `json:"location_iata"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //The servers that this Load balancer can communicate with. BackendServers []BackendServer `json:"backend_servers"` //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` //Status indicates the status of the object. Status string `json:"status"` //The price for the current period since the last bill. CurrentPrice float64 `json:"current_price"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationCountry string `json:"location_country"` //Whether the Load balancer is forced to redirect requests from HTTP to HTTPS. RedirectHTTPToHTTPS bool `json:"redirect_http_to_https"` //List of labels. Labels []string `json:"labels"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationName string `json:"location_name"` //Total minutes of cores used UsageInMinutes int `json:"usage_in_minutes"` //The algorithm used to process requests. Accepted values: roundrobin / leastconn. Algorithm string `json:"algorithm"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The UUID of the IPv6 address the Load balancer will listen to for incoming requests. ListenIPv6UUID string `json:"listen_ipv6_uuid"` //The UUID of the IPv4 address the Load balancer will listen to for incoming requests. ListenIPv4UUID string `json:"listen_ipv4_uuid"` }
LoadBalancerProperties is the properties of a loadbalancer
type LoadBalancerUpdateRequest ¶
type LoadBalancerUpdateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ListenIPv6UUID string `json:"listen_ipv6_uuid"` //The UUID of the IPv4 address the loadbalancer will listen to for incoming requests. ListenIPv4UUID string `json:"listen_ipv4_uuid"` //The algorithm used to process requests. Allowed values: `LoadbalancerRoundrobinAlg`, `LoadbalancerLeastConnAlg` Algorithm loadbalancerAlgorithm `json:"algorithm"` //An array of ForwardingRule objects containing the forwarding rules for the loadbalancer ForwardingRules []ForwardingRule `json:"forwarding_rules"` //The servers that this loadbalancer can communicate with BackendServers []BackendServer `json:"backend_servers"` //List of labels. Labels []string `json:"labels"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //Whether the Load balancer is forced to redirect requests from HTTP to HTTPS RedirectHTTPToHTTPS bool `json:"redirect_http_to_https"` //Status indicates the status of the object. Status string `json:"status,omitempty"` }
LoadBalancerUpdateRequest is the JSON struct for updating a loadbalancer request
type LoadBalancers ¶
type LoadBalancers struct { //Array of loadbalancers List map[string]LoadBalancerProperties `json:"loadbalancers"` }
LoadBalancers is the JSON struct of a list of loadbalancers
type Location ¶
type Location struct { //Properties of a location Properties LocationProperties `json:"location"` }
Location JSON struct of a single location
type LocationList ¶
type LocationList struct { //Array of locations List map[string]LocationProperties `json:"locations"` }
LocationList JSON struct of a list of locations
type LocationProperties ¶
type LocationProperties struct { //Uses IATA airport code, which works as a location identifier. Iata string `json:"iata"` //Status indicates the status of the object. Status string `json:"status"` //List of labels. Labels []string `json:"labels"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. Country string `json:"country"` }
LocationProperties JSON struct of properties of a location
type Network ¶
type Network struct { //Properties of a network Properties NetworkProperties `json:"network"` }
Network is JSON struct of a single network
type NetworkCreateRequest ¶
type NetworkCreateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //List of labels. Can be empty. Labels []string `json:"labels,omitempty"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //Defines information about MAC spoofing protection (filters layer2 and ARP traffic based on MAC source). //It can only be (de-)activated on a private network - the public network always has l2security enabled. //It will be true if the network is public, and false if the network is private. L2Security bool `json:"l2security,omitempty"` }
NetworkCreateRequest is JSON of a request for creating a network
type NetworkCreateResponse ¶
type NetworkCreateResponse struct { //UUID of the network being created ObjectUUID string `json:"object_uuid"` //UUID of the request RequestUUID string `json:"request_uuid"` }
NetworkCreateResponse is JSON of a response for creating a network
type NetworkInFirewall ¶
type NetworkInFirewall struct { //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The UUID of the network you're requesting. NetworkUUID string `json:"network_uuid"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. NetworkName string `json:"network_name"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ObjectName string `json:"object_name"` }
NetworkInFirewall is a JSON struct of a firewall's relation
type NetworkList ¶
type NetworkList struct { //Array of networks List map[string]NetworkProperties `json:"networks"` }
NetworkList is JSON struct of a list of networks
type NetworkPaaSSecurityZone ¶
type NetworkPaaSSecurityZone struct { //IPv6 prefix of the PaaS service IPv6Prefix string `json:"ipv6_prefix"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ObjectName string `json:"object_name"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` }
type NetworkProperties ¶
type NetworkProperties struct { //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationCountry string `json:"location_country"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //True if the network is public. If private it will be false. PublicNet bool `json:"public_net"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //One of 'network', 'network_high' or 'network_insane'. NetworkType string `json:"network_type"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //Status indicates the status of the object. Status string `json:"status"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //Defines information about MAC spoofing protection (filters layer2 and ARP traffic based on MAC source). //It can only be (de-)activated on a private network - the public network always has l2security enabled. //It will be true if the network is public, and false if the network is private. L2Security bool `json:"l2security"` //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` //Uses IATA airport code, which works as a location identifier. LocationIata string `json:"location_iata"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationName string `json:"location_name"` //Defines if the object is administratively blocked. If true, it can not be deleted by the user. DeleteBlock bool `json:"delete_block"` //List of labels. Labels []string `json:"labels"` //The information about other object which are related to this network. the object could be servers and/or vlans Relations NetworkRelations `json:"relations"` }
NetworkProperties is JSON struct of a network's properties
type NetworkRelations ¶
type NetworkRelations struct { //Array of object (NetworkVlan) Vlans []NetworkVlan `json:"vlans"` //Array of object (NetworkServer) Servers []NetworkServer `json:"servers"` //Array of object (NetworkPaaSSecurityZone) PaaSSecurityZones []NetworkPaaSSecurityZone `json:"paas_security_zones"` }
NetworkRelations is JSON struct of a list of a network's relations
type NetworkServer ¶
type NetworkServer struct { //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //Network_mac defines the MAC address of the network interface. Mac string `json:"mac"` //Whether the server boots from this iso image or not. Bootdevice bool `json:"bootdevice"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //Defines information about IP prefix spoof protection (it allows source traffic only from the IPv4/IPv4 network prefixes). //If empty, it allow no IPv4/IPv6 source traffic. If set to null, l3security is disabled (default). L3security []string `json:"l3security"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ObjectName string `json:"object_name"` //The UUID of the network you're requesting. NetworkUUID string `json:"network_uuid"` //The ordering of the network interfaces. Lower numbers have lower PCI-IDs. Ordering int `json:"ordering"` }
NetworkServer is JSON struct of a relation between a network and a server
type NetworkUpdateRequest ¶
type NetworkUpdateRequest struct { //New name. Leave it if you do not want to update the name Name string `json:"name,omitempty"` //L2Security. Leave it if you do not want to update the l2 security L2Security bool `json:"l2security"` }
NetworkUpdateRequest is JSON of a request for updating a network
type NetworkVlan ¶
type NetworkVlan struct { //Vlan Vlan int `json:"vlan"` //Name of tenant TenantName string `json:"tenant_name"` //UUID of tenant TenantUUID string `json:"tenant_uuid"` }
NetworkVlan is JSON struct of a relation between a network and a VLAN
type ObjectStorageAccessKey ¶
type ObjectStorageAccessKey struct { //Properties of an object storage access key Properties ObjectStorageAccessKeyProperties `json:"access_key"` }
ObjectStorageAccessKey is JSON structure of a single Object Storage Access Key
type ObjectStorageAccessKeyCreateResponse ¶
type ObjectStorageAccessKeyCreateResponse struct { AccessKey struct { ////The object storage secret_key. SecretKey string `json:"secret_key"` //The object storage secret_key. AccessKey string `json:"access_key"` } `json:"access_key"` //UUID of the request RequestUUID string `json:"request_uuid"` }
ObjectStorageAccessKeyCreateResponse is JSON struct of a response for creating an object storage access key
type ObjectStorageAccessKeyList ¶
type ObjectStorageAccessKeyList struct { //Array of Object Storages' access keys List []ObjectStorageAccessKeyProperties `json:"access_keys"` }
ObjectStorageAccessKeyList is JSON structure of a list of Object Storage Access Keys
type ObjectStorageAccessKeyProperties ¶
type ObjectStorageAccessKeyProperties struct { //The object storage secret_key. SecretKey string `json:"secret_key"` //The object storage access_key. AccessKey string `json:"access_key"` //Account this credentials belong to. User string `json:"user"` }
ObjectStorageAccessKeyProperties is JSON struct of properties of an object storage access key
type ObjectStorageBucket ¶
type ObjectStorageBucket struct { //Properties of a bucket Properties ObjectStorageBucketProperties `json:"bucket"` }
ObjectStorageBucket is JSON struct of a single bucket
type ObjectStorageBucketList ¶
type ObjectStorageBucketList struct { //Array of Buckets List []ObjectStorageBucketProperties `json:"buckets"` }
ObjectStorageBucketList is JSON struct of a list of buckets
type ObjectStorageBucketProperties ¶
type ObjectStorageBucketProperties struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The current usage of the bucket. Usage struct { //The size of the the bucket (in kb). SizeKb int `json:"size_kb"` //The number of files in the bucket. NumObjects int `json:"num_objects"` } `json:"usage"` }
ObjectStorageBucketProperties is JSON struct of properties of a bucket
type PaaSMetricProperties ¶
type PaaSMetricProperties struct { //Defines the begin of the time range. BeginTime GSTime `json:"begin_time"` //Defines the end of the time range. EndTime GSTime `json:"end_time"` //The UUID of an object is always unique, and refers to a specific object. PaaSServiceUUID string `json:"paas_service_uuid"` //CPU core usage CoreUsage PaaSMetricValue `json:"core_usage"` //Storage usage StorageSize PaaSMetricValue `json:"storage_size"` }
PaaSMetricProperties JSON of properties of a PaaS metric
type PaaSMetricValue ¶
type PaaSMetricValue struct { //Value Value float64 `json:"value"` //Unit of the value Unit string `json:"unit"` }
PaaSMetricValue JSON of a metric value
type PaaSRelationService ¶
type PaaSRelationService struct { //Array of object (ServiceObject) Services []ServiceObject `json:"services"` }
PaaSRelationService JSON struct of a relation between a PaaS service and a service
type PaaSSecurityZone ¶
type PaaSSecurityZone struct { //Properties of a security zone Properties PaaSSecurityZoneProperties `json:"paas_security_zone"` }
PaaSSecurityZone JSON struct of a single PaaS security zone
type PaaSSecurityZoneCreateRequest ¶
type PaaSSecurityZoneCreateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name,omitempty"` //Identifies which datacenter the object belongs to. LocationUUID string `json:"location_uuid,omitempty"` }
PaaSSecurityZoneCreateRequest JSON struct of a request for creating a PaaS security zone
type PaaSSecurityZoneCreateResponse ¶
type PaaSSecurityZoneCreateResponse struct { //UUID of the request RequestUUID string `json:"request_uuid"` //UUID of the security zone being created PaaSSecurityZoneUUID string `json:"paas_security_zone_uuid"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` }
PaaSSecurityZoneCreateResponse JSON struct of a response for creating a PaaS security zone
type PaaSSecurityZoneProperties ¶
type PaaSSecurityZoneProperties struct { //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationCountry string `json:"location_country"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //Uses IATA airport code, which works as a location identifier. LocationIata string `json:"location_iata"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //List of labels. Labels []string `json:"labels"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationName string `json:"location_name"` //Status indicates the status of the object. Status string `json:"status"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //object (PaaSRelationService) Relation PaaSRelationService `json:"relation"` }
PaaSSecurityZoneProperties JSOn struct of properties of a PaaS security zone
type PaaSSecurityZoneUpdateRequest ¶
type PaaSSecurityZoneUpdateRequest struct { //The new name you give to the security zone. Leave it if you do not want to update the name Name string `json:"name,omitempty"` //Identifies which datacenter the object belongs to. Leave it if you do not want to update the location LocationUUID string `json:"location_uuid,omitempty"` //The UUID for the security zone you would like to update. Leave it if you do not want to update the security zone PaaSSecurityZoneUUID string `json:"paas_security_zone_uuid,omitempty"` }
PaaSSecurityZoneUpdateRequest JSON struct of a request for updating a PaaS security zone
type PaaSSecurityZones ¶
type PaaSSecurityZones struct { //Array of security zones List map[string]PaaSSecurityZoneProperties `json:"paas_security_zones"` }
PaaSSecurityZones JSON struct of a list of PaaS security zones
type PaaSService ¶
type PaaSService struct { //Properties of a PaaS service Properties PaaSServiceProperties `json:"paas_service"` }
PaaSService is the JSON struct of a single PaaS service
type PaaSServiceCreateRequest ¶
type PaaSServiceCreateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The template used to create the service, you can find an available list at the /service_templates endpoint. PaaSServiceTemplateUUID string `json:"paas_service_template_uuid"` //The template used to create the service, you can find an available list at the /service_templates endpoint. Labels []string `json:"labels,omitempty"` //The UUID of the security zone that the service is running in. PaaSSecurityZoneUUID string `json:"paas_security_zone_uuid,omitempty"` //A list of service resource limits. ResourceLimits []ResourceLimit `json:"resource_limits,omitempty"` //Contains the service parameters for the service. Parameters map[string]interface{} `json:"parameters,omitempty"` }
PaaSServiceCreateRequest is JSON struct of a request for creating a PaaS service
type PaaSServiceCreateResponse ¶
type PaaSServiceCreateResponse struct { //UUID of the request RequestUUID string `json:"request_uuid"` //Contains the IPv6 address and port that the Service will listen to, you can use these details to connect internally to a service. ListenPorts map[string]map[string]int `json:"listen_ports"` //The template used to create the service, you can find an available list at the /service_templates endpoint. PaaSServiceUUID string `json:"paas_service_uuid"` //Contains the initial setup credentials for Service. Credentials []Credential `json:"credentials"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //A list of service resource limits. ResourceLimits []ResourceLimit `json:"resource_limits"` //Contains the service parameters for the service. Parameters map[string]interface{} `json:"parameters"` }
PaaSServiceCreateResponse is JSON struct of a response for creating a PaaS service
type PaaSServiceMetric ¶
type PaaSServiceMetric struct { //Properties of a PaaS service metric Properties PaaSMetricProperties `json:"paas_service_metric"` }
PaaSServiceMetric JSON of a single PaaS metric
type PaaSServiceMetrics ¶
type PaaSServiceMetrics struct { //Array of a PaaS service's metrics List []PaaSMetricProperties `json:"paas_service_metrics"` }
PaaSServiceMetrics JSON of a list of PaaS metrics
type PaaSServiceProperties ¶
type PaaSServiceProperties struct { //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //List of labels. Labels []string `json:"labels"` //Contains the initial setup credentials for Service. Credentials []Credential `json:"credentials"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //Contains the IPv6 address and port that the Service will listen to, //you can use these details to connect internally to a service. ListenPorts map[string]map[string]int `json:"listen_ports"` //The UUID of the security zone that the service is running in. SecurityZoneUUID string `json:"security_zone_uuid"` //The template used to create the service, you can find an available list at the /service_templates endpoint. ServiceTemplateUUID string `json:"service_template_uuid"` //Total minutes the object has been running. UsageInMinutes int `json:"usage_in_minutes"` //The price for the current period since the last bill. CurrentPrice float64 `json:"current_price"` //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` //Status indicates the status of the object. Status string `json:"status"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //A list of service resource limits. ResourceLimits []ResourceLimit `json:"resource_limits"` //Contains the service parameters for the service. Parameters map[string]interface{} `json:"parameters"` }
PaaSServiceProperties is the properties of a single PaaS service
type PaaSServiceUpdateRequest ¶
type PaaSServiceUpdateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. //Leave it if you do not want to update the name Name string `json:"name,omitempty"` //List of labels. Leave it if you do not want to update the list of labels Labels []string `json:"labels,omitempty"` //Contains the service parameters for the service. Leave it if you do not want to update the parameters Parameters map[string]interface{} `json:"parameters,omitempty"` //A list of service resource limits. Leave it if you do not want to update the resource limits ResourceLimits []ResourceLimit `json:"resource_limits,omitempty"` }
PaaSServiceUpdateRequest JSON of a request for updating a PaaS service
type PaaSServices ¶
type PaaSServices struct { //Array of PaaS services List map[string]PaaSServiceProperties `json:"paas_services"` }
PaaSServices is the JSON struct of a list of PaaS services
type PaaSTemplate ¶
type PaaSTemplate struct { //Properties of a PaaS template Properties PaaSTemplateProperties `json:"paas_service_template"` }
PaaSTemplate is JSON struct for a single PaaS Template
type PaaSTemplateProperties ¶
type PaaSTemplateProperties struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //Describes the category of the service. Category string `json:"category"` //Product No ProductNo int `json:"product_no"` //List of labels. Labels []string `json:"labels"` //The amount of concurrent connections for the service. Resources Resource `json:"resources"` //Status indicates the status of the object. Status string `json:"status"` //A definition of possible service template parameters (python-cerberus compatible). ParametersSchema map[string]Parameter `json:"parameters_schema"` }
PaaSTemplateProperties is JSOn struct of properties of a PaaS template
type PaaSTemplates ¶
type PaaSTemplates struct { //Array of PaaS templates List map[string]PaaSTemplateProperties `json:"paas_service_templates"` }
PaaSTemplates is JSON struct of a list of PaaS Templates
type Parameter ¶
type Parameter struct { //Is required Required bool `json:"required"` //Is empty Empty bool `json:"empty"` //Description of parameter Description string `json:"description"` //Maximum Max int `json:"max"` //Minimum Min int `json:"min"` //Default value Default interface{} `json:"default"` //Type of parameter Type string `json:"type"` //Allowed values Allowed []string `json:"allowed"` //Regex Regex string `json:"regex"` }
Parameter JSON of a parameter
type RequestError ¶
type RequestError struct { Title string `json:"title"` Description string `json:"description"` StatusCode int RequestUUID string }
RequestError error of a request
type RequestStatus ¶
type RequestStatus map[string]RequestStatusProperties
RequestStatus status of a request
type RequestStatusProperties ¶
type RequestStatusProperties struct { Status string `json:"status"` Message string `json:"message"` CreateTime GSTime `json:"create_time"` }
RequestStatusProperties JSON struct of properties of a request's status
type Resource ¶
type Resource struct { //The amount of memory required by the service, either RAM(MB) or SSD Storage(GB). Memory int `json:"memory"` //The amount of concurrent connections for the service. Connections int `json:"connections"` }
Resource JSON of a resource
type ResourceLimit ¶
type ResourceLimit struct { //The name of the resource you would like to cap. Resource string `json:"resource"` //The maximum number of the specific resource your service can use. Limit int `json:"limit"` }
ResourceLimit is JSON struct of resource limit
type S3auth ¶
type S3auth struct { //Host of S3 Host string `json:"host"` //Access key of S3 AccessKey string `json:"access_key"` //Secret key of S3 SecretKey string `json:"secret_key"` }
S3auth JSON struct of S3 authentication data
type S3data ¶
type S3data struct { //Host of S3 Host string `json:"host"` //Bucket that file will be uploaded to Bucket string `json:"bucket"` //Name of the file being uploaded Filename string `json:"filename"` //Is the file private? Private bool `json:"private"` }
S3data JSON struct of info about snapshot being uploaded
type Server ¶
type Server struct { //Properties of a server Properties ServerProperties `json:"server"` }
Server JSON struct of a single server
type ServerCreateRequest ¶
type ServerCreateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The amount of server memory in GB. Memory int `json:"memory"` //The number of server cores. Cores int `json:"cores"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //Specifies the hardware settings for the virtual machine. //Allowed values: nil, DefaultServerHardware, NestedServerHardware, LegacyServerHardware, CiscoCSRServerHardware, //SophosUTMServerHardware, F5BigipServerHardware, Q35ServerHardware, Q35NestedServerHardware. //HardwareProfile = nil => server hardware is normal type HardwareProfile *serverHardwareProfile `json:"hardware_profile,omitempty"` //Defines which Availability-Zone the Server is placed. Can be empty AvailablityZone string `json:"availability_zone,omitempty"` //List of labels. Can be empty. Labels []string `json:"labels,omitempty"` //Status indicates the status of the object. Can be empty Status string `json:"status,omitempty"` //If the server should be auto-started in case of a failure (default=true when AutoRecovery=nil). AutoRecovery *bool `json:"auto_recovery,omitempty"` //The information about other object which are related to this server. the object could be ip, storage, network, and isoimage. //*Caution: This field will be deprecated. Relations *ServerCreateRequestRelations `json:"relations,omitempty"` }
ServerCreateRequest JSON struct of a request for creating a server
type ServerCreateRequestIP ¶
type ServerCreateRequestIP struct { //UUID of the IP address being attached to the server IPaddrUUID string `json:"ipaddr_uuid"` }
ServerCreateRequestIP JSON struct of a relation between a server and an IP address
type ServerCreateRequestIsoimage ¶
type ServerCreateRequestIsoimage struct { //UUID of the ISO-image being attached to the server IsoimageUUID string `json:"isoimage_uuid"` }
ServerCreateRequestIsoimage JSON struct of a relation between a server and an ISO-Image
type ServerCreateRequestNetwork ¶
type ServerCreateRequestNetwork struct { //UUID of the networks being attached to the server NetworkUUID string `json:"network_uuid"` //Is the network a boot device? BootDevice bool `json:"bootdevice,omitempty"` }
ServerCreateRequestNetwork JSON struct of a relation between a server and a network
type ServerCreateRequestRelations ¶
type ServerCreateRequestRelations struct { //Array of objects (ServerCreateRequestIsoimage) IsoImages []ServerCreateRequestIsoimage `json:"isoimages"` //Array of objects (ServerCreateRequestNetwork) Networks []ServerCreateRequestNetwork `json:"networks"` //Array of objects (ServerCreateRequestIP) PublicIPs []ServerCreateRequestIP `json:"public_ips"` //Array of objects (ServerCreateRequestStorage) Storages []ServerCreateRequestStorage `json:"storages"` }
ServerCreateRequestRelations JSOn struct of a list of a server's relations
type ServerCreateRequestStorage ¶
type ServerCreateRequestStorage struct { //UUID of the storage being attached to the server StorageUUID string `json:"storage_uuid"` //Is the storage a boot device? BootDevice bool `json:"bootdevice,omitempty"` }
ServerCreateRequestStorage JSON struct of a relation between a server and a storage
type ServerCreateResponse ¶
type ServerCreateResponse struct { //UUID of object being created. Same as ServerUUID. ObjectUUID string `json:"object_uuid"` //UUID of the request RequestUUID string `json:"request_uuid"` //UUID of server being created. Same as ObjectUUID. ServerUUID string `json:"server_uuid"` //UUIDs of attached networks NetworkUUIDs []string `json:"network_uuids"` //UUIDs of attached storages StorageUUIDs []string `json:"storage_uuids"` //UUIDs of attached IP addresses IPaddrUUIDs []string `json:"ipaddr_uuids"` }
ServerCreateResponse JSON struct of a response for creating a server
type ServerIPRelation ¶
type ServerIPRelation struct { //Properties of a relation between a server and IP addresses Properties ServerIPRelationProperties `json:"ip_relation"` }
ServerIPRelation JSON struct of a single relation between a server and a IP address
type ServerIPRelationCreateRequest ¶
type ServerIPRelationCreateRequest struct { //You can only attach 1 IPv4 and/or IPv6 to a server based on the IP address's UUID ObjectUUID string `json:"object_uuid"` }
ServerIPRelationCreateRequest JSON struct of request for creating a relation between a server and a IP address
type ServerIPRelationList ¶
type ServerIPRelationList struct { //Array of relations between a server and IP addresses List []ServerIPRelationProperties `json:"ip_relations"` }
ServerIPRelationList JSON struct of a list of relations between a server and IP addresses
type ServerIPRelationProperties ¶
type ServerIPRelationProperties struct { //The UUID of the server that this IP is attached to. ServerUUID string `json:"server_uuid"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The prefix of the IP Address. Prefix string `json:"prefix"` //Either 4 or 6 Family int `json:"family"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //The IP Address (v4 or v6) IP string `json:"ip"` }
ServerIPRelationProperties JSON struct of properties of a relation between a server and a IP address
type ServerIsoImageRelation ¶
type ServerIsoImageRelation struct { //Properties of a relation between a server and an ISO-Image Properties ServerIsoImageRelationProperties `json:"isoimage_relation"` }
ServerIsoImageRelation JSON struct of a single relation between a server and an ISO-Image
type ServerIsoImageRelationCreateRequest ¶
type ServerIsoImageRelationCreateRequest struct { //The UUID of the ISO-image you are requesting. ObjectUUID string `json:"object_uuid"` }
ServerIsoImageRelationCreateRequest JSON struct of a request for creating a relation between a server and an ISO-Image
type ServerIsoImageRelationList ¶
type ServerIsoImageRelationList struct { //Array of relations between a server and ISO-Images List []ServerIsoImageRelationProperties `json:"isoimage_relations"` }
ServerIsoImageRelationList JSON struct of a list of relations between a server and ISO-Images
type ServerIsoImageRelationProperties ¶
type ServerIsoImageRelationProperties struct { //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ObjectName string `json:"object_name"` //Whether the ISO-Image is private or not. Private bool `json:"private"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //Whether the server boots from this iso image or not. Bootdevice bool `json:"bootdevice"` }
ServerIsoImageRelationProperties JSON struct of properties of a relation between a server and an ISO-Image
type ServerIsoImageRelationUpdateRequest ¶
type ServerIsoImageRelationUpdateRequest struct { //Whether the server boots from this ISO-image or not. BootDevice bool `json:"bootdevice"` Name string `json:"name"` }
ServerIsoImageRelationUpdateRequest JSON struct of a request for updating a relation between a server and an ISO-Image
type ServerList ¶
type ServerList struct { //Array of servers List map[string]ServerProperties `json:"servers"` }
ServerList JSON struct of a list of servers
type ServerMetric ¶
type ServerMetric struct { //Properties of a server metric Properties ServerMetricProperties `json:"server_metric"` }
ServerMetric JSON struct of a single metric of a server
type ServerMetricList ¶
type ServerMetricList struct { //Array of a server's metrics List []ServerMetricProperties `json:"server_metrics"` }
ServerMetricList JSON struct of a list of a server's metrics
type ServerMetricProperties ¶
type ServerMetricProperties struct { //Defines the begin of the time range. BeginTime GSTime `json:"begin_time"` //Defines the end of the time range. EndTime GSTime `json:"end_time"` //The UUID of an object is always unique, and refers to a specific object. PaaSServiceUUID string `json:"paas_service_uuid"` //Core usage CoreUsage struct { //Value Value float64 `json:"value"` //Unit of value Unit string `json:"unit"` } `json:"core_usage"` //Storage usage StorageSize struct { //Value Value float64 `json:"value"` //Unit of value Unit string `json:"unit"` } `json:"storage_size"` }
ServerMetricProperties JSON struct
type ServerNetworkRelation ¶
type ServerNetworkRelation struct { //Properties of a relation between a server and a network Properties ServerNetworkRelationProperties `json:"network_relation"` }
ServerNetworkRelation JSON struct of a single relation between a server and a network
type ServerNetworkRelationCreateRequest ¶
type ServerNetworkRelationCreateRequest struct { //The uuid of network you wish to add. Only 7 private networks are allowed to be attached to a server ObjectUUID string `json:"object_uuid"` //The ordering of the network interfaces. Lower numbers have lower PCI-IDs. Can be empty. Ordering int `json:"ordering,omitempty"` //Whether the server boots from this network or not. Can be empty. BootDevice bool `json:"bootdevice,omitempty"` //Defines information about IP prefix spoof protection (it allows source traffic only from the IPv4/IPv4 network prefixes). //If empty, it allow no IPv4/IPv6 source traffic. If set to null, l3security is disabled (default). //Can be empty L3security []string `json:"l3security,omitempty"` //All rules of Firewall. Can be empty Firewall *FirewallRules `json:"firewall,omitempty"` //Instead of setting firewall rules manually, you can use a firewall template by setting UUID of the firewall template. //Can be empty. FirewallTemplateUUID string `json:"firewall_template_uuid,omitempty"` }
ServerNetworkRelationCreateRequest JSON struct of a request for creating a relation between a server and a network
type ServerNetworkRelationList ¶
type ServerNetworkRelationList struct { //Array of relations between a server and networks List []ServerNetworkRelationProperties `json:"network_relations"` }
ServerNetworkRelationList JSON struct of a list of relations between a server and networks
type ServerNetworkRelationProperties ¶
type ServerNetworkRelationProperties struct { //Defines information about MAC spoofing protection (filters layer2 and ARP traffic based on MAC source). //It can only be (de-)activated on a private network - the public network always has l2security enabled. //It will be true if the network is public, and false if the network is private. L2security bool `json:"l2security"` //The UUID of the Server. ServerUUID string `json:"server_uuid"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //True if the network is public. If private it will be false. //Each private network is a secure and fully transparent 2-Layer network between servers. //There is no limit on how many servers can be connected to the same private network. PublicNet bool `json:"public_net"` //The UUID of firewall template. FirewallTemplateUUID string `json:"firewall_template_uuid"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ObjectName string `json:"object_name"` //network_mac defines the MAC address of the network interface. Mac string `json:"mac"` //Defines if this object is the bootdevice. Storages, Networks and ISO-Images can have a bootdevice configured, //but only one bootdevice per Storage, Network or ISO-Image. //The boot order is as follows => Network > ISO-Image > Storage. BootDevice bool `json:"bootdevice"` //PartnerUUID PartnerUUID string `json:"partner_uuid"` //Defines the ordering of the network interfaces. Lower numbers have lower PCI-IDs. Ordering int `json:"ordering"` //Firewall that is used to this server network relation Firewall FirewallRules `json:"firewall"` //(one of network, network_high, network_insane) NetworkType string `json:"network_type"` //The UUID of the network you're requesting. NetworkUUID string `json:"network_uuid"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //Defines information about IP prefix spoof protection (it allows source traffic only from the IPv4/IPv4 network prefixes). //If empty, it allow no IPv4/IPv6 source traffic. If set to null, l3security is disabled (default). L3security []string `json:"l3security"` }
ServerNetworkRelationProperties JSON struct of properties of a relation between a server and a network
type ServerNetworkRelationUpdateRequest ¶
type ServerNetworkRelationUpdateRequest struct { //The ordering of the network interfaces. Lower numbers have lower PCI-IDs. Optional. Ordering int `json:"ordering,omitempty"` //The ordering of the network interfaces. Lower numbers have lower PCI-IDs. Optional. BootDevice bool `json:"bootdevice,omitempty"` //Defines information about IP prefix spoof protection (it allows source traffic only from the IPv4/IPv4 network prefixes). //If empty, it allow no IPv4/IPv6 source traffic. If set to null, l3security is disabled (default). //Can be empty L3security []string `json:"l3security,omitempty"` //All rules of Firewall. Optional. Firewall *FirewallRules `json:"firewall,omitempty"` //Instead of setting firewall rules manually, you can use a firewall template by setting UUID of the firewall template. //Optional. FirewallTemplateUUID string `json:"firewall_template_uuid,omitempty"` }
ServerNetworkRelationUpdateRequest JSON struct of a request for updating a relation between a server and a network
type ServerPowerUpdateRequest ¶
type ServerPowerUpdateRequest struct { //Power=true => server is on //Power=false => server if off Power bool `json:"power"` }
ServerPowerUpdateRequest JSON struct of a request for updating server's power state
type ServerProperties ¶
type ServerProperties struct { //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //Indicates the amount of memory in GB. Memory int `json:"memory"` //Number of server cores. Cores int `json:"cores"` //Specifies the hardware settings for the virtual machine. HardwareProfile string `json:"hardware_profile"` //Status indicates the status of the object. it could be in-provisioning or active Status string `json:"status"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //The power status of the server. Power bool `json:"power"` //The price for the current period since the last bill. CurrentPrice float64 `json:"current_price"` //Which Availability-Zone the Server is placed. AvailabilityZone string `json:"availability_zone"` //If the server should be auto-started in case of a failure (default=true). AutoRecovery bool `json:"auto_recovery"` //Legacy-Hardware emulation instead of virtio hardware. //If enabled, hotplugging cores, memory, storage, network, etc. will not work, //but the server will most likely run every x86 compatible operating system. //This mode comes with a performance penalty, as emulated hardware does not benefit from the virtio driver infrastructure. Legacy bool `json:"legacy"` //The token used by the panel to open the websocket VNC connection to the server console. ConsoleToken string `json:"console_token"` //Total minutes of memory used. UsageInMinutesMemory int `json:"usage_in_minutes_memory"` //Total minutes of cores used. UsageInMinutesCores int `json:"usage_in_minutes_cores"` //List of labels. Labels []string `json:"labels"` //The information about other object which are related to this server. the object could be ip, storage, network, and isoimage Relations ServerRelations `json:"relations"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` }
ServerProperties JSON struct of properties of a server
type ServerRelations ¶
type ServerRelations struct { //Array of object (ServerIsoImageRelationProperties) IsoImages []ServerIsoImageRelationProperties `json:"isoimages"` //Array of object (ServerNetworkRelationProperties) Networks []ServerNetworkRelationProperties `json:"networks"` //Array of object (ServerIPRelationProperties) PublicIPs []ServerIPRelationProperties `json:"public_ips"` //Array of object (ServerStorageRelationProperties) Storages []ServerStorageRelationProperties `json:"storages"` }
ServerRelations JSON struct of a list of server relations
type ServerStorageRelationCreateRequest ¶
type ServerStorageRelationCreateRequest struct { //The UUID of the storage you are requesting. If server's hardware profile is default, nested, q35 or q35_nested, //you are allowed to attached 8 servers. Only 2 storage are allowed to be attached to server with other hardware profile ObjectUUID string `json:"object_uuid"` //Whether the server will boot from this storage device or not. Optional. BootDevice bool `json:"bootdevice,omitempty"` }
ServerStorageRelationCreateRequest JSON struct of a request for creating a relation between a server and a storage
type ServerStorageRelationList ¶
type ServerStorageRelationList struct { //Array of relations between a server and storages List []ServerStorageRelationProperties `json:"storage_relations"` }
ServerStorageRelationList JSON struct of a list of relations between a server and storages
type ServerStorageRelationProperties ¶
type ServerStorageRelationProperties struct { //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ObjectName string `json:"object_name"` //The capacity of a storage/ISO-Image/template/snapshot in GB. Capacity int `json:"capacity"` //Indicates the speed of the storage. This may be (storage, storage_high or storage_insane). StorageType string `json:"storage_type"` //Defines the SCSI target ID. The SCSI defines transmission routes like Serial Attached SCSI (SAS), Fibre Channel and iSCSI. //The target ID is a device (e.g. disk). Target int `json:"target"` //Is the common SCSI abbreviation of the Logical Unit Number. A lun is a unique identifier for a single disk or a composite of disks. Lun int `json:"lun"` //Defines the SCSI controller id. The SCSI defines transmission routes such as Serial Attached SCSI (SAS), Fibre Channel and iSCSI. Controller int `json:"controller"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //Defines if this object is the bootdevice. Storages, Networks and ISO-Images can have a bootdevice configured, //but only one bootdevice per Storage, Network or ISO-Image. //The boot order is as follows => Network > ISO-Image > Storage. BootDevice bool `json:"bootdevice"` //The SCSI bus id. The SCSI defines transmission routes like Serial Attached SCSI (SAS), Fibre Channel and iSCSI. //Each SCSI device is addressed via a specific number. Each SCSI bus can have multiple SCSI devices connected to it. Bus int `json:"bus"` //Indicates the UUID of the last used template on this storage (inherited from snapshots). LastUsedTemplate string `json:"last_used_template"` //If a template has been used that requires a license key (e.g. Windows Servers) //this shows the product_no of the license (see the /prices endpoint for more details). LicenseProductNo int `json:"license_product_no"` //The same as the object_uuid. ServerUUID string `json:"server_uuid"` }
ServerStorageRelationProperties JSON struct of properties of a relation between a server and a storage
type ServerStorageRelationSingle ¶
type ServerStorageRelationSingle struct { //Properties of a relation between a server and a storage Properties ServerStorageRelationProperties `json:"storage_relation"` }
ServerStorageRelationSingle JSON struct of a single relation between a server and a storage
type ServerStorageRelationUpdateRequest ¶
type ServerStorageRelationUpdateRequest struct { //The ordering of the network interfaces. Lower numbers have lower PCI-IDs. Optional. Ordering int `json:"ordering,omitempty"` //Whether the server boots from this network or not. Optional. BootDevice bool `json:"bootdevice,omitempty"` //Defines information about IP prefix spoof protection (it allows source traffic only from the IPv4/IPv4 network prefixes). //If empty, it allow no IPv4/IPv6 source traffic. If set to null, l3security is disabled (default). Optional. L3security []string `json:"l3security,omitempty"` }
ServerStorageRelationUpdateRequest JSON struct of a request for updating a relation between a server and a storage
type ServerUpdateRequest ¶
type ServerUpdateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. //Leave it if you do not want to update the name. Name string `json:"name,omitempty"` //Defines which Availability-Zone the Server is placed. Leave it if you do not want to update the zone. AvailablityZone string `json:"availability_zone,omitempty"` //The amount of server memory in GB. Leave it if you do not want to update the memory Memory int `json:"memory,omitempty"` //The number of server cores. Leave it if you do not want to update the number of the cpu cores. Cores int `json:"cores,omitempty"` //List of labels. Leave it if you do not want to update the list of labels Labels []string `json:"labels,omitempty"` //If the server should be auto-started in case of a failure (default=true). //Leave it if you do not want to update this feature of the server. AutoRecovery *bool `json:"auto_recovery,omitempty"` }
ServerUpdateRequest JSON of a request for updating a server
type ServerinISOImage ¶
type ServerinISOImage struct { //Whether the server boots from this iso image or not. Bootdevice bool `json:"bootdevice"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ObjectName string `json:"object_name"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` }
ServerinISOImage is JSON struct of a relation between an ISO-Image and a Server
type ServiceObject ¶
type ServiceObject struct { //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` }
ServiceObject JSON struct of a service object
type Sshkey ¶
type Sshkey struct { //Properties of a SSH-key Properties SshkeyProperties `json:"sshkey"` }
Sshkey JSON struct of a single SSH-key
type SshkeyCreateRequest ¶
type SshkeyCreateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The OpenSSH public key string (all key types are supported => ed25519, ecdsa, dsa, rsa, rsa1). Sshkey string `json:"sshkey"` //List of labels. Optional. Labels []string `json:"labels,omitempty"` }
SshkeyCreateRequest JSON struct of a request for creating a SSH-key
type SshkeyList ¶
type SshkeyList struct { //Array of SSH-keys List map[string]SshkeyProperties `json:"sshkeys"` }
SshkeyList JSON struct of a list of SSH-keys
type SshkeyProperties ¶
type SshkeyProperties struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //Status indicates the status of the object. Status string `json:"status"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` //The OpenSSH public key string (all key types are supported => ed25519, ecdsa, dsa, rsa, rsa1). Sshkey string `json:"sshkey"` //List of labels. Labels []string `json:"labels"` //The User-UUID of the account which created this SSH Key. UserUUID string `json:"user_uuid"` }
SshkeyProperties JSON struct of properties of a single SSH-key
type SshkeyUpdateRequest ¶
type SshkeyUpdateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. //Optional. Name string `json:"name,omitempty"` //The OpenSSH public key string (all key types are supported => ed25519, ecdsa, dsa, rsa, rsa1). Optional. Sshkey string `json:"sshkey,omitempty"` //List of labels. Optional. Labels []string `json:"labels,omitempty"` }
SshkeyUpdateRequest JSON struct of a request for updating a SSH-key
type Storage ¶
type Storage struct { //Properties of a storage Properties StorageProperties `json:"storage"` }
Storage JSON struct of a single storage
type StorageAndSnapshotScheduleRelation ¶
type StorageAndSnapshotScheduleRelation struct { //The interval at which the schedule will run (in minutes) RunInterval int `json:"run_interval"` //The amount of Snapshots to keep before overwriting the last created Snapshot. KeepSnapshots int `json:"keep_snapshots"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ObjectName string `json:"object_name"` //The date and time that the snapshot schedule will be run. NextRuntime GSTime `json:"next_runtime"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` }
StorageAndSnapshotScheduleRelation JSON struct of a relation between a storage and a snapshot schedule
type StorageCreateRequest ¶
type StorageCreateRequest struct { //Required (integer - minimum: 1 - maximum: 4096). Capacity int `json:"capacity"` //Helps to identify which datacenter an object belongs to. Optional. LocationUUID string `json:"location_uuid"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //Storage type. Allowed values: nil, DefaultStorageType, HighStorageType, InsaneStorageType. Optional. StorageType *storageType `json:"storage_type,omitempty"` //An object holding important values such as hostnames, passwords, and SSH keys. //Creating a storage with a template is required either sshkey or password. //Optional Template *StorageTemplate `json:"template,omitempty"` //List of labels. Optional. Labels []string `json:"labels,omitempty"` }
StorageCreateRequest JSON struct of a request for creating a storage
type StorageList ¶
type StorageList struct { //Array of storages List map[string]StorageProperties `json:"storages"` }
StorageList JSON struct of a list of storages
type StorageProperties ¶
type StorageProperties struct { //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` //Uses IATA airport code, which works as a location identifier. LocationIata string `json:"location_iata"` //Status indicates the status of the object. Status string `json:"status"` //If a template has been used that requires a license key (e.g. Windows Servers) //this shows the product_no of the license (see the /prices endpoint for more details). LicenseProductNo int `json:"license_product_no"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationCountry string `json:"location_country"` //Total minutes the object has been running. UsageInMinutes int `json:"usage_in_minutes"` //Indicates the UUID of the last used template on this storage. LastUsedTemplate string `json:"last_used_template"` //The price for the current period since the last bill. CurrentPrice float64 `json:"current_price"` //The capacity of a storage/ISO-Image/template/snapshot in GB. Capacity int `json:"capacity"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //(one of storage, storage_high, storage_insane). StorageType string `json:"storage_type"` //The UUID of the Storage used to create this Snapshot. ParentUUID string `json:"parent_uuid"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationName string `json:"location_name"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //Snapshots list in this storage. Snapshots []StorageSnapshotRelation `json:"snapshots"` //The information about other object which are related to this storage. //The object could be servers and/or snapshot schedules. Relations StorageRelations `json:"relations"` //List of labels. Labels []string `json:"labels"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` }
StorageProperties JSON struct of properties of a storage
type StorageRelations ¶
type StorageRelations struct { //Array of related servers Servers []StorageServerRelation `json:"servers"` //Array if related snapshot schedules SnapshotSchedules []StorageAndSnapshotScheduleRelation `json:"snapshot_schedules"` }
StorageRelations JSON struct of a list of a storage's relations
type StorageRollbackRequest ¶
type StorageRollbackRequest struct { //Rollback=true => storage will be restored Rollback bool `json:"rollback,omitempty"` }
StorageRollbackRequest JSON struct of a request for rolling back
type StorageServerRelation ¶
type StorageServerRelation struct { //Whether the server boots from this iso image or not. Bootdevice bool `json:"bootdevice"` //Defines the SCSI target ID. The SCSI defines transmission routes like Serial Attached SCSI (SAS), //Fibre Channel and iSCSI. The target ID is a device (e.g. disk). Target int `json:"target"` //Defines the SCSI controller id. The SCSI defines transmission routes such as Serial Attached SCSI (SAS), Fibre Channel and iSCSI. Controller int `json:"controller"` //The SCSI bus id. The SCSI defines transmission routes like Serial Attached SCSI (SAS), Fibre Channel and iSCSI. //Each SCSI device is addressed via a specific number. Each SCSI bus can have multiple SCSI devices connected to it. Bus int `json:"bus"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //Is the common SCSI abbreviation of the Logical Unit Number. A lun is a unique identifier for a single disk or a composite of disks. Lun int `json:"lun"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ObjectName string `json:"object_name"` }
StorageServerRelation JSON struct of a relation between a storage and a server
type StorageSnapshot ¶
type StorageSnapshot struct { //Properties of a snapshot Properties StorageSnapshotProperties `json:"snapshot"` }
StorageSnapshot is JSON structure of a single storage snapshot
type StorageSnapshotCreateRequest ¶
type StorageSnapshotCreateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. //Optional Name string `json:"name,omitempty"` //List of labels. Optional. Labels []string `json:"labels,omitempty"` }
StorageSnapshotCreateRequest JSON struct of a request for creating a storage snapshot
type StorageSnapshotCreateResponse ¶
type StorageSnapshotCreateResponse struct { //UUID of the request RequestUUID string `json:"request_uuid"` //UUID of the snapshot being created ObjectUUID string `json:"object_uuid"` }
StorageSnapshotCreateResponse JSON struct of a response for creating a storage snapshot
type StorageSnapshotExportToS3Request ¶
type StorageSnapshotExportToS3Request struct { //S3 authentication data S3auth `json:"s3auth"` //S3 info about snapshot being uploaded S3data `json:"s3data"` }
StorageSnapshotExportToS3Request JSON struct of a request for exporting a storage snapshot to S3
type StorageSnapshotList ¶
type StorageSnapshotList struct { //Array of snapshots List map[string]StorageSnapshotProperties `json:"snapshots"` }
StorageSnapshotList is JSON structure of a list of storage snapshots
type StorageSnapshotProperties ¶
type StorageSnapshotProperties struct { //List of labels. Labels []string `json:"labels"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //Status indicates the status of the object. Status string `json:"status"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationCountry string `json:"location_country"` //Total minutes the object has been running. UsageInMinutes int `json:"usage_in_minutes"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` //If a template has been used that requires a license key (e.g. Windows Servers) //this shows the product_no of the license (see the /prices endpoint for more details). LicenseProductNo int `json:"license_product_no"` //The price for the current period since the last bill. CurrentPrice float64 `json:"current_price"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The capacity of a storage/ISO-Image/template/snapshot in GB. Capacity int `json:"capacity"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationName string `json:"location_name"` //Uses IATA airport code, which works as a location identifier. LocationIata string `json:"location_iata"` //Uuid of the storage used to create this snapshot ParentUUID string `json:"parent_uuid"` }
StorageSnapshotProperties JSON struct of properties of a storage snapshot
type StorageSnapshotRelation ¶
type StorageSnapshotRelation struct { //Indicates the UUID of the last used template on this storage. LastUsedTemplate string `json:"last_used_template"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //The UUID of an object is always unique, and refers to a specific object. StorageUUID string `json:"storage_uuid"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. SchedulesSnapshotName string `json:"schedules_snapshot_name"` //The UUID of an object is always unique, and refers to a specific object. SchedulesSnapshotUUID string `json:"schedules_snapshot_uuid"` //Capacity of the snapshot (in GB) ObjectCapacity int `json:"object_capacity"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. ObjectName string `json:"object_name"` }
StorageSnapshotRelation JSON struct of a relation between a storage and a snapshot
type StorageSnapshotSchedule ¶
type StorageSnapshotSchedule struct { //Properties of a storage snapshot schedule Properties StorageSnapshotScheduleProperties `json:"snapshot_schedule"` }
StorageSnapshotSchedule JSON struct of a single storage snapshot scheduler
type StorageSnapshotScheduleCreateRequest ¶
type StorageSnapshotScheduleCreateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //List of labels. Optional. Labels []string `json:"labels,omitempty"` //The interval at which the schedule will run (in minutes) //Allowed value >= 60 RunInterval int `json:"run_interval"` //The amount of Snapshots to keep before overwriting the last created Snapshot. //Allowed value >= 1 KeepSnapshots int `json:"keep_snapshots"` //The date and time that the snapshot schedule will be run. Optional. NextRuntime *GSTime `json:"next_runtime,omitempty"` }
StorageSnapshotScheduleCreateRequest JSON struct of a request for creating a storage snapshot schedule
type StorageSnapshotScheduleCreateResponse ¶
type StorageSnapshotScheduleCreateResponse struct { //UUID of the request RequestUUID string `json:"request_uuid"` //UUID of the snapshot schedule being created ObjectUUID string `json:"object_uuid"` }
StorageSnapshotScheduleCreateResponse JSON struct of a response for creating a storage snapshot schedule
type StorageSnapshotScheduleList ¶
type StorageSnapshotScheduleList struct { //Array of storage snapshot schedules List map[string]StorageSnapshotScheduleProperties `json:"snapshot_schedules"` }
StorageSnapshotScheduleList JSON of a list of storage snapshot schedules
type StorageSnapshotScheduleProperties ¶
type StorageSnapshotScheduleProperties struct { //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The amount of Snapshots to keep before overwriting the last created Snapshot. //value >= 1 KeepSnapshots int `json:"keep_snapshots"` //List of labels. Labels []string `json:"labels"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The date and time that the snapshot schedule will be run. NextRuntime GSTime `json:"next_runtime"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //Related snapshots (snapshots taken by this snapshot schedule) Relations StorageSnapshotScheduleRelations `json:"relations"` //The interval at which the schedule will run (in minutes) //value >= 60 RunInterval int `json:"run_interval"` //Status indicates the status of the object. Status string `json:"status"` //UUID of the storage that will be used for taking snapshots StorageUUID string `json:"storage_uuid"` }
StorageSnapshotScheduleProperties JSON struct of properties of a single storage snapshot schedule
type StorageSnapshotScheduleRelation ¶
type StorageSnapshotScheduleRelation struct { //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` }
StorageSnapshotScheduleRelation JSON struct of a relation of a storage snapshot schedule
type StorageSnapshotScheduleRelations ¶
type StorageSnapshotScheduleRelations struct { //Array of all related snapshots (snapshots taken by this snapshot schedule) Snapshots []StorageSnapshotScheduleRelation `json:"snapshots"` }
StorageSnapshotScheduleRelations JSON struct of a list of relations of a storage snapshot schedule
type StorageSnapshotScheduleUpdateRequest ¶
type StorageSnapshotScheduleUpdateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. //Optional. Name string `json:"name,omitempty"` //List of labels. Optional. Labels []string `json:"labels,omitempty"` //The interval at which the schedule will run (in minutes). Optional. //Allowed value >= 60 RunInterval int `json:"run_interval,omitempty"` //The amount of Snapshots to keep before overwriting the last created Snapshot. Optional. //Allowed value >= 1 KeepSnapshots int `json:"keep_snapshots,omitempty"` //The date and time that the snapshot schedule will be run. Optional. NextRuntime *GSTime `json:"next_runtime,omitempty"` }
StorageSnapshotScheduleUpdateRequest JSON struct of a request for updating a storage snapshot schedule
type StorageSnapshotUpdateRequest ¶
type StorageSnapshotUpdateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. //Optional Name string `json:"name,omitempty"` //List of labels. Optional. Labels []string `json:"labels,omitempty"` }
StorageSnapshotUpdateRequest JSON struct of a request for updating a storage snapshot
type StorageTemplate ¶
type StorageTemplate struct { //List of SSH Keys uuid. Optional Sshkeys []string `json:"sshkeys,omitempty"` //The UUID of a template (public or private). TemplateUUID string `json:"template_uuid"` //The root (Linux) or Administrator (Windows) password to set for the installed storage. Valid only for public templates. //The password has to be either plaintext or a crypt string (modular crypt format - MCF). Optional. Password string `json:"password,omitempty"` //Password type. Allowed values: nil, PlainPasswordType, CryptPasswordType. Optional. PasswordType *passwordType `json:"password_type,omitempty"` //Hostname to set for the installed storage. The running server will use this as its hostname. //Valid only for public Linux and Windows templates. Optional. Hostname string `json:"hostname,omitempty"` }
StorageTemplate JSON struct of a storage template
type StorageUpdateRequest ¶
type StorageUpdateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Optional. Name string `json:"name,omitempty"` //List of labels. Optional. Labels []string `json:"labels,omitempty"` //The Capacity of the Storage in GB. Optional. Capacity int `json:"capacity,omitempty"` }
StorageUpdateRequest JSON struct of a request for updating a storage
type Template ¶
type Template struct { //Properties of a template Properties TemplateProperties `json:"template"` }
Template JSON struct of a single template
type TemplateCreateRequest ¶
type TemplateCreateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //snapshot uuid for template SnapshotUUID string `json:"snapshot_uuid"` //List of labels. Optional. Labels []string `json:"labels,omitempty"` }
TemplateCreateRequest JSON struct of a request for creating a template
type TemplateList ¶
type TemplateList struct { //Array of templates List map[string]TemplateProperties `json:"templates"` }
TemplateList JSON struct of a list of templates
type TemplateProperties ¶
type TemplateProperties struct { //Status indicates the status of the object. Status string `json:"status"` //Status indicates the status of the object. Ostype string `json:"ostype"` //Helps to identify which datacenter an object belongs to. LocationUUID string `json:"location_uuid"` //Description of the Template. Version string `json:"version"` //Description of the Template. LocationIata string `json:"location_iata"` //Defines the date and time of the last object change. ChangeTime GSTime `json:"change_time"` //the object is private, the value will be true. Otherwise the value will be false. Private bool `json:"private"` //The UUID of an object is always unique, and refers to a specific object. ObjectUUID string `json:"object_uuid"` //If a template has been used that requires a license key (e.g. Windows Servers) //this shows the product_no of the license (see the /prices endpoint for more details). LicenseProductNo int `json:"license_product_no"` //Defines the date and time the object was initially created. CreateTime GSTime `json:"create_time"` //Total minutes the object has been running. UsageInMinutes int `json:"usage_in_minutes"` //The capacity of a storage/ISO-Image/template/snapshot in GB. Capacity int `json:"capacity"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationName string `json:"location_name"` //The OS distrobution that the Template contains. Distro string `json:"distro"` //Description of the Template. Description string `json:"description"` //The price for the current period since the last bill. CurrentPrice float64 `json:"current_price"` //The human-readable name of the location. It supports the full UTF-8 charset, with a maximum of 64 characters. LocationCountry string `json:"location_country"` //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. Name string `json:"name"` //List of labels. Labels []string `json:"labels"` }
TemplateProperties JSOn struct of properties of a template
type TemplateUpdateRequest ¶
type TemplateUpdateRequest struct { //The human-readable name of the object. It supports the full UTF-8 charset, with a maximum of 64 characters. //Optional. Name string `json:"name,omitempty"` //List of labels. Optional. Labels []string `json:"labels,omitempty"` }
TemplateUpdateRequest JSON struct of a request for updating a template
Source Files ¶
- client.go
- common.go
- config.go
- event.go
- firewall.go
- ip.go
- isoimage.go
- label.go
- loadbalancer.go
- location.go
- network.go
- objectstorage.go
- paas.go
- request.go
- server.go
- serverip.go
- serverisoimage.go
- servernetwork.go
- serverstorage.go
- snapshot.go
- snapshotscheduler.go
- sshkey.go
- storage.go
- template.go
- testcommon.go
- types.go