schema

package
v2.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Action

type Action struct {
	ID        int64                     `json:"id"`
	Status    string                    `json:"status"`
	Command   string                    `json:"command"`
	Progress  int                       `json:"progress"`
	Started   time.Time                 `json:"started"`
	Finished  *time.Time                `json:"finished"`
	Error     *ActionError              `json:"error"`
	Resources []ActionResourceReference `json:"resources"`
}

Action defines the schema of an action.

type ActionError

type ActionError struct {
	Code    string `json:"code"`
	Message string `json:"message"`
}

ActionError defines the schema of an error embedded in an action.

type ActionGetResponse

type ActionGetResponse struct {
	Action Action `json:"action"`
}

ActionGetResponse is the schema of the response when retrieving a single action.

type ActionListResponse

type ActionListResponse struct {
	Actions []Action `json:"actions"`
}

ActionListResponse defines the schema of the response when listing actions.

type ActionResourceReference

type ActionResourceReference struct {
	ID   int64  `json:"id"`
	Type string `json:"type"`
}

ActionResourceReference defines the schema of an action resource reference.

type Certificate

type Certificate struct {
	ID             int64                  `json:"id"`
	Name           string                 `json:"name"`
	Labels         map[string]string      `json:"labels"`
	Type           string                 `json:"type"`
	Certificate    string                 `json:"certificate"`
	Created        time.Time              `json:"created"`
	NotValidBefore time.Time              `json:"not_valid_before"`
	NotValidAfter  time.Time              `json:"not_valid_after"`
	DomainNames    []string               `json:"domain_names"`
	Fingerprint    string                 `json:"fingerprint"`
	Status         *CertificateStatusRef  `json:"status"`
	UsedBy         []CertificateUsedByRef `json:"used_by"`
}

Certificate defines the schema of an certificate.

type CertificateCreateRequest

type CertificateCreateRequest struct {
	Name        string             `json:"name"`
	Type        string             `json:"type"`
	DomainNames []string           `json:"domain_names,omitempty"`
	Certificate string             `json:"certificate,omitempty"`
	PrivateKey  string             `json:"private_key,omitempty"`
	Labels      *map[string]string `json:"labels,omitempty"`
}

CertificateCreateRequest defines the schema of the request to create a certificate.

type CertificateCreateResponse

type CertificateCreateResponse struct {
	Certificate Certificate `json:"certificate"`
	Action      *Action     `json:"action"`
}

CertificateCreateResponse defines the schema of the response when creating a certificate.

type CertificateGetResponse

type CertificateGetResponse struct {
	Certificate Certificate `json:"certificate"`
}

CertificateGetResponse defines the schema of the response when retrieving a single Certificate.

type CertificateIssuanceRetryResponse

type CertificateIssuanceRetryResponse struct {
	Action Action `json:"action"`
}

CertificateIssuanceRetryResponse defines the schema for the response of the retry issuance endpoint.

type CertificateListResponse

type CertificateListResponse struct {
	Certificates []Certificate `json:"certificates"`
}

CertificateListResponse defines the schema of the response when listing Certificates.

type CertificateStatusRef

type CertificateStatusRef struct {
	Issuance string `json:"issuance"`
	Renewal  string `json:"renewal"`
	Error    *Error `json:"error,omitempty"`
}

type CertificateUpdateRequest

type CertificateUpdateRequest struct {
	Name   *string            `json:"name,omitempty"`
	Labels *map[string]string `json:"labels,omitempty"`
}

CertificateUpdateRequest defines the schema of the request to update a certificate.

type CertificateUpdateResponse

type CertificateUpdateResponse struct {
	Certificate Certificate `json:"certificate"`
}

CertificateUpdateResponse defines the schema of the response when updating a certificate.

type CertificateUsedByRef

type CertificateUsedByRef struct {
	ID   int64  `json:"id"`
	Type string `json:"type"`
}

CertificateUsedByRef defines the schema of a resource using a certificate.

type Datacenter

type Datacenter struct {
	ID          int64                 `json:"id"`
	Name        string                `json:"name"`
	Description string                `json:"description"`
	Location    Location              `json:"location"`
	ServerTypes DatacenterServerTypes `json:"server_types"`
}

Datacenter defines the schema of a datacenter.

type DatacenterGetResponse

type DatacenterGetResponse struct {
	Datacenter Datacenter `json:"datacenter"`
}

DatacenterGetResponse defines the schema of the response when retrieving a single datacenter.

type DatacenterListResponse

type DatacenterListResponse struct {
	Datacenters []Datacenter `json:"datacenters"`
}

DatacenterListResponse defines the schema of the response when listing datacenters.

type DatacenterServerTypes added in v2.5.0

type DatacenterServerTypes struct {
	Supported             []int64 `json:"supported"`
	AvailableForMigration []int64 `json:"available_for_migration"`
	Available             []int64 `json:"available"`
}

DatacenterServerTypes defines the schema of the server types available in a datacenter.

type DeprecatableResource

type DeprecatableResource struct {
	Deprecation *DeprecationInfo `json:"deprecation"`
}

type DeprecationInfo

type DeprecationInfo struct {
	Announced        time.Time `json:"announced"`
	UnavailableAfter time.Time `json:"unavailable_after"`
}

type Error

type Error struct {
	Code       string          `json:"code"`
	Message    string          `json:"message"`
	DetailsRaw json.RawMessage `json:"details"`
	Details    interface{}
}

Error represents the schema of an error response.

func (*Error) UnmarshalJSON

func (e *Error) UnmarshalJSON(data []byte) (err error)

UnmarshalJSON overrides default json unmarshalling.

type ErrorDetailsInvalidInput

type ErrorDetailsInvalidInput struct {
	Fields []struct {
		Name     string   `json:"name"`
		Messages []string `json:"messages"`
	} `json:"fields"`
}

ErrorDetailsInvalidInput defines the schema of the Details field of an error with code 'invalid_input'.

type ErrorResponse

type ErrorResponse struct {
	Error Error `json:"error"`
}

ErrorResponse defines the schema of a response containing an error.

type Firewall

type Firewall struct {
	ID        int64              `json:"id"`
	Name      string             `json:"name"`
	Labels    map[string]string  `json:"labels"`
	Created   time.Time          `json:"created"`
	Rules     []FirewallRule     `json:"rules"`
	AppliedTo []FirewallResource `json:"applied_to"`
}

Firewall defines the schema of a Firewall.

type FirewallActionApplyToResourcesRequest

type FirewallActionApplyToResourcesRequest struct {
	ApplyTo []FirewallResource `json:"apply_to"`
}

FirewallActionApplyToResourcesRequest defines the schema of the request when applying a Firewall on resources.

type FirewallActionApplyToResourcesResponse

type FirewallActionApplyToResourcesResponse struct {
	Actions []Action `json:"actions"`
}

FirewallActionApplyToResourcesResponse defines the schema of the response when applying a Firewall on resources.

type FirewallActionRemoveFromResourcesRequest

type FirewallActionRemoveFromResourcesRequest struct {
	RemoveFrom []FirewallResource `json:"remove_from"`
}

FirewallActionRemoveFromResourcesRequest defines the schema of the request when removing a Firewall from resources.

type FirewallActionRemoveFromResourcesResponse

type FirewallActionRemoveFromResourcesResponse struct {
	Actions []Action `json:"actions"`
}

FirewallActionRemoveFromResourcesResponse defines the schema of the response when removing a Firewall from resources.

type FirewallActionSetRulesRequest

type FirewallActionSetRulesRequest struct {
	Rules []FirewallRuleRequest `json:"rules"`
}

FirewallActionSetRulesRequest defines the schema of the request when setting Firewall rules.

type FirewallActionSetRulesResponse

type FirewallActionSetRulesResponse struct {
	Actions []Action `json:"actions"`
}

FirewallActionSetRulesResponse defines the schema of the response when setting Firewall rules.

type FirewallCreateRequest

type FirewallCreateRequest struct {
	Name    string                `json:"name"`
	Labels  *map[string]string    `json:"labels,omitempty"`
	Rules   []FirewallRuleRequest `json:"rules,omitempty"`
	ApplyTo []FirewallResource    `json:"apply_to,omitempty"`
}

FirewallCreateRequest defines the schema of the request to create a Firewall.

type FirewallCreateResponse

type FirewallCreateResponse struct {
	Firewall Firewall `json:"firewall"`
	Actions  []Action `json:"actions"`
}

FirewallCreateResponse defines the schema of the response when creating a Firewall.

type FirewallGetResponse

type FirewallGetResponse struct {
	Firewall Firewall `json:"firewall"`
}

FirewallGetResponse defines the schema of the response when retrieving a single Firewall.

type FirewallListResponse

type FirewallListResponse struct {
	Firewalls []Firewall `json:"firewalls"`
}

FirewallListResponse defines the schema of the response when listing Firewalls.

type FirewallResource

type FirewallResource struct {
	Type          string                         `json:"type"`
	Server        *FirewallResourceServer        `json:"server,omitempty"`
	LabelSelector *FirewallResourceLabelSelector `json:"label_selector,omitempty"`
}

FirewallResource defines the schema of a resource to apply the new Firewall on.

type FirewallResourceLabelSelector

type FirewallResourceLabelSelector struct {
	Selector string `json:"selector"`
}

FirewallResourceLabelSelector defines the schema of a LabelSelector to apply a Firewall on.

type FirewallResourceServer

type FirewallResourceServer struct {
	ID int64 `json:"id"`
}

FirewallResourceServer defines the schema of a Server to apply a Firewall on.

type FirewallRule

type FirewallRule struct {
	Direction      string   `json:"direction"`
	SourceIPs      []string `json:"source_ips"`
	DestinationIPs []string `json:"destination_ips"`
	Protocol       string   `json:"protocol"`
	Port           *string  `json:"port"`
	Description    *string  `json:"description"`
}

FirewallRule defines the schema of a Firewall rule in responses.

type FirewallRuleRequest added in v2.7.2

type FirewallRuleRequest struct {
	Direction      string   `json:"direction"`
	SourceIPs      []string `json:"source_ips,omitempty"`
	DestinationIPs []string `json:"destination_ips,omitempty"`
	Protocol       string   `json:"protocol"`
	Port           *string  `json:"port,omitempty"`
	Description    *string  `json:"description,omitempty"`
}

FirewallRuleRequest defines the schema of a Firewall rule in requests.

type FirewallUpdateRequest

type FirewallUpdateRequest struct {
	Name   *string            `json:"name,omitempty"`
	Labels *map[string]string `json:"labels,omitempty"`
}

FirewallUpdateRequest defines the schema of the request to update a Firewall.

type FirewallUpdateResponse

type FirewallUpdateResponse struct {
	Firewall Firewall `json:"firewall"`
}

FirewallUpdateResponse defines the schema of the response when updating a Firewall.

type FloatingIP

type FloatingIP struct {
	ID           int64                `json:"id"`
	Description  *string              `json:"description"`
	Created      time.Time            `json:"created"`
	IP           string               `json:"ip"`
	Type         string               `json:"type"`
	Server       *int64               `json:"server"`
	DNSPtr       []FloatingIPDNSPtr   `json:"dns_ptr"`
	HomeLocation Location             `json:"home_location"`
	Blocked      bool                 `json:"blocked"`
	Protection   FloatingIPProtection `json:"protection"`
	Labels       map[string]string    `json:"labels"`
	Name         string               `json:"name"`
}

FloatingIP defines the schema of a Floating IP.

type FloatingIPActionAssignRequest

type FloatingIPActionAssignRequest struct {
	Server int64 `json:"server"`
}

FloatingIPActionAssignRequest defines the schema of the request to create an assign Floating IP action.

type FloatingIPActionAssignResponse

type FloatingIPActionAssignResponse struct {
	Action Action `json:"action"`
}

FloatingIPActionAssignResponse defines the schema of the response when creating an assign action.

type FloatingIPActionChangeDNSPtrRequest

type FloatingIPActionChangeDNSPtrRequest struct {
	IP     string  `json:"ip"`
	DNSPtr *string `json:"dns_ptr"`
}

FloatingIPActionChangeDNSPtrRequest defines the schema for the request to change a Floating IP's reverse DNS pointer.

type FloatingIPActionChangeDNSPtrResponse

type FloatingIPActionChangeDNSPtrResponse struct {
	Action Action `json:"action"`
}

FloatingIPActionChangeDNSPtrResponse defines the schema of the response when creating a change_dns_ptr Floating IP action.

type FloatingIPActionChangeProtectionRequest

type FloatingIPActionChangeProtectionRequest struct {
	Delete *bool `json:"delete,omitempty"`
}

FloatingIPActionChangeProtectionRequest defines the schema of the request to change the resource protection of a Floating IP.

type FloatingIPActionChangeProtectionResponse

type FloatingIPActionChangeProtectionResponse struct {
	Action Action `json:"action"`
}

FloatingIPActionChangeProtectionResponse defines the schema of the response when changing the resource protection of a Floating IP.

type FloatingIPActionUnassignRequest

type FloatingIPActionUnassignRequest struct{}

FloatingIPActionUnassignRequest defines the schema of the request to create an unassign Floating IP action.

type FloatingIPActionUnassignResponse

type FloatingIPActionUnassignResponse struct {
	Action Action `json:"action"`
}

FloatingIPActionUnassignResponse defines the schema of the response when creating an unassign action.

type FloatingIPCreateRequest

type FloatingIPCreateRequest struct {
	Type         string             `json:"type"`
	HomeLocation *string            `json:"home_location,omitempty"`
	Server       *int64             `json:"server,omitempty"`
	Description  *string            `json:"description,omitempty"`
	Labels       *map[string]string `json:"labels,omitempty"`
	Name         *string            `json:"name,omitempty"`
}

FloatingIPCreateRequest defines the schema of the request to create a Floating IP.

type FloatingIPCreateResponse

type FloatingIPCreateResponse struct {
	FloatingIP FloatingIP `json:"floating_ip"`
	Action     *Action    `json:"action"`
}

FloatingIPCreateResponse defines the schema of the response when creating a Floating IP.

type FloatingIPDNSPtr

type FloatingIPDNSPtr struct {
	IP     string `json:"ip"`
	DNSPtr string `json:"dns_ptr"`
}

FloatingIPDNSPtr contains reverse DNS information for a IPv4 or IPv6 Floating IP.

type FloatingIPGetResponse

type FloatingIPGetResponse struct {
	FloatingIP FloatingIP `json:"floating_ip"`
}

FloatingIPGetResponse defines the schema of the response when retrieving a single Floating IP.

type FloatingIPListResponse

type FloatingIPListResponse struct {
	FloatingIPs []FloatingIP `json:"floating_ips"`
}

FloatingIPListResponse defines the schema of the response when listing Floating IPs.

type FloatingIPProtection

type FloatingIPProtection struct {
	Delete bool `json:"delete"`
}

FloatingIPProtection represents the protection level of a Floating IP.

type FloatingIPUpdateRequest

type FloatingIPUpdateRequest struct {
	Description string             `json:"description,omitempty"`
	Labels      *map[string]string `json:"labels,omitempty"`
	Name        string             `json:"name,omitempty"`
}

FloatingIPUpdateRequest defines the schema of the request to update a Floating IP.

type FloatingIPUpdateResponse

type FloatingIPUpdateResponse struct {
	FloatingIP FloatingIP `json:"floating_ip"`
}

FloatingIPUpdateResponse defines the schema of the response when updating a Floating IP.

type ISO

type ISO struct {
	ID           int64   `json:"id"`
	Name         string  `json:"name"`
	Description  string  `json:"description"`
	Type         string  `json:"type"`
	Architecture *string `json:"architecture"`
	DeprecatableResource
}

ISO defines the schema of an ISO image.

type ISOGetResponse

type ISOGetResponse struct {
	ISO ISO `json:"iso"`
}

ISOGetResponse defines the schema of the response when retrieving a single ISO.

type ISOListResponse

type ISOListResponse struct {
	ISOs []ISO `json:"isos"`
}

ISOListResponse defines the schema of the response when listing ISOs.

type Image

type Image struct {
	ID           int64             `json:"id"`
	Status       string            `json:"status"`
	Type         string            `json:"type"`
	Name         *string           `json:"name"`
	Description  string            `json:"description"`
	ImageSize    *float32          `json:"image_size"`
	DiskSize     float32           `json:"disk_size"`
	Created      *time.Time        `json:"created"`
	CreatedFrom  *ImageCreatedFrom `json:"created_from"`
	BoundTo      *int64            `json:"bound_to"`
	OSFlavor     string            `json:"os_flavor"`
	OSVersion    *string           `json:"os_version"`
	Architecture string            `json:"architecture"`
	RapidDeploy  bool              `json:"rapid_deploy"`
	Protection   ImageProtection   `json:"protection"`
	Deprecated   *time.Time        `json:"deprecated"`
	Deleted      *time.Time        `json:"deleted"`
	Labels       map[string]string `json:"labels"`
}

Image defines the schema of an image.

type ImageActionChangeProtectionRequest

type ImageActionChangeProtectionRequest struct {
	Delete *bool `json:"delete,omitempty"`
}

ImageActionChangeProtectionRequest defines the schema of the request to change the resource protection of an image.

type ImageActionChangeProtectionResponse

type ImageActionChangeProtectionResponse struct {
	Action Action `json:"action"`
}

ImageActionChangeProtectionResponse defines the schema of the response when changing the resource protection of an image.

type ImageCreatedFrom

type ImageCreatedFrom struct {
	ID   int64  `json:"id"`
	Name string `json:"name"`
}

ImageCreatedFrom defines the schema of the images created from reference.

type ImageGetResponse

type ImageGetResponse struct {
	Image Image `json:"image"`
}

ImageGetResponse defines the schema of the response when retrieving a single image.

type ImageListResponse

type ImageListResponse struct {
	Images []Image `json:"images"`
}

ImageListResponse defines the schema of the response when listing images.

type ImageProtection

type ImageProtection struct {
	Delete bool `json:"delete"`
}

ImageProtection represents the protection level of a image.

type ImageUpdateRequest

type ImageUpdateRequest struct {
	Description *string            `json:"description,omitempty"`
	Type        *string            `json:"type,omitempty"`
	Labels      *map[string]string `json:"labels,omitempty"`
}

ImageUpdateRequest defines the schema of the request to update an image.

type ImageUpdateResponse

type ImageUpdateResponse struct {
	Image Image `json:"image"`
}

ImageUpdateResponse defines the schema of the response when updating an image.

type LoadBalancer

type LoadBalancer struct {
	ID               int64                    `json:"id"`
	Name             string                   `json:"name"`
	PublicNet        LoadBalancerPublicNet    `json:"public_net"`
	PrivateNet       []LoadBalancerPrivateNet `json:"private_net"`
	Location         Location                 `json:"location"`
	LoadBalancerType LoadBalancerType         `json:"load_balancer_type"`
	Protection       LoadBalancerProtection   `json:"protection"`
	Labels           map[string]string        `json:"labels"`
	Created          time.Time                `json:"created"`
	Services         []LoadBalancerService    `json:"services"`
	Targets          []LoadBalancerTarget     `json:"targets"`
	Algorithm        LoadBalancerAlgorithm    `json:"algorithm"`
	IncludedTraffic  uint64                   `json:"included_traffic"`
	OutgoingTraffic  *uint64                  `json:"outgoing_traffic"`
	IngoingTraffic   *uint64                  `json:"ingoing_traffic"`
}

type LoadBalancerActionAddServiceRequest

type LoadBalancerActionAddServiceRequest struct {
	Protocol        string                                          `json:"protocol"`
	ListenPort      *int                                            `json:"listen_port,omitempty"`
	DestinationPort *int                                            `json:"destination_port,omitempty"`
	Proxyprotocol   *bool                                           `json:"proxyprotocol,omitempty"`
	HTTP            *LoadBalancerActionAddServiceRequestHTTP        `json:"http,omitempty"`
	HealthCheck     *LoadBalancerActionAddServiceRequestHealthCheck `json:"health_check,omitempty"`
}

type LoadBalancerActionAddServiceRequestHTTP

type LoadBalancerActionAddServiceRequestHTTP struct {
	CookieName     *string  `json:"cookie_name,omitempty"`
	CookieLifetime *int     `json:"cookie_lifetime,omitempty"`
	Certificates   *[]int64 `json:"certificates,omitempty"`
	RedirectHTTP   *bool    `json:"redirect_http,omitempty"`
	StickySessions *bool    `json:"sticky_sessions,omitempty"`
}

type LoadBalancerActionAddServiceRequestHealthCheck

type LoadBalancerActionAddServiceRequestHealthCheck struct {
	Protocol string                                              `json:"protocol"`
	Port     *int                                                `json:"port,omitempty"`
	Interval *int                                                `json:"interval,omitempty"`
	Timeout  *int                                                `json:"timeout,omitempty"`
	Retries  *int                                                `json:"retries,omitempty"`
	HTTP     *LoadBalancerActionAddServiceRequestHealthCheckHTTP `json:"http,omitempty"`
}

type LoadBalancerActionAddServiceRequestHealthCheckHTTP

type LoadBalancerActionAddServiceRequestHealthCheckHTTP struct {
	Domain      *string   `json:"domain,omitempty"`
	Path        *string   `json:"path,omitempty"`
	Response    *string   `json:"response,omitempty"`
	StatusCodes *[]string `json:"status_codes,omitempty"`
	TLS         *bool     `json:"tls,omitempty"`
}

type LoadBalancerActionAddServiceResponse

type LoadBalancerActionAddServiceResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerActionAddTargetRequest

type LoadBalancerActionAddTargetRequest struct {
	Type          string                                           `json:"type"`
	Server        *LoadBalancerActionAddTargetRequestServer        `json:"server,omitempty"`
	LabelSelector *LoadBalancerActionAddTargetRequestLabelSelector `json:"label_selector,omitempty"`
	IP            *LoadBalancerActionAddTargetRequestIP            `json:"ip,omitempty"`
	UsePrivateIP  *bool                                            `json:"use_private_ip,omitempty"`
}

type LoadBalancerActionAddTargetRequestIP

type LoadBalancerActionAddTargetRequestIP struct {
	IP string `json:"ip"`
}

type LoadBalancerActionAddTargetRequestLabelSelector

type LoadBalancerActionAddTargetRequestLabelSelector struct {
	Selector string `json:"selector"`
}

type LoadBalancerActionAddTargetRequestServer

type LoadBalancerActionAddTargetRequestServer struct {
	ID int64 `json:"id"`
}

type LoadBalancerActionAddTargetResponse

type LoadBalancerActionAddTargetResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerActionAttachToNetworkRequest

type LoadBalancerActionAttachToNetworkRequest struct {
	Network int64   `json:"network"`
	IP      *string `json:"ip,omitempty"`
}

type LoadBalancerActionAttachToNetworkResponse

type LoadBalancerActionAttachToNetworkResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerActionChangeAlgorithmRequest

type LoadBalancerActionChangeAlgorithmRequest struct {
	Type string `json:"type"`
}

type LoadBalancerActionChangeAlgorithmResponse

type LoadBalancerActionChangeAlgorithmResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerActionChangeDNSPtrRequest

type LoadBalancerActionChangeDNSPtrRequest struct {
	IP     string  `json:"ip"`
	DNSPtr *string `json:"dns_ptr"`
}

LoadBalancerActionChangeDNSPtrRequest defines the schema for the request to change a Load Balancer reverse DNS pointer.

type LoadBalancerActionChangeDNSPtrResponse

type LoadBalancerActionChangeDNSPtrResponse struct {
	Action Action `json:"action"`
}

LoadBalancerActionChangeDNSPtrResponse defines the schema of the response when creating a change_dns_ptr Floating IP action.

type LoadBalancerActionChangeProtectionRequest

type LoadBalancerActionChangeProtectionRequest struct {
	Delete *bool `json:"delete,omitempty"`
}

type LoadBalancerActionChangeProtectionResponse

type LoadBalancerActionChangeProtectionResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerActionChangeTypeRequest

type LoadBalancerActionChangeTypeRequest struct {
	LoadBalancerType interface{} `json:"load_balancer_type"` // int or string
}

type LoadBalancerActionChangeTypeResponse

type LoadBalancerActionChangeTypeResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerActionDetachFromNetworkRequest

type LoadBalancerActionDetachFromNetworkRequest struct {
	Network int64 `json:"network"`
}

type LoadBalancerActionDetachFromNetworkResponse

type LoadBalancerActionDetachFromNetworkResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerActionDisablePublicInterfaceRequest

type LoadBalancerActionDisablePublicInterfaceRequest struct{}

type LoadBalancerActionDisablePublicInterfaceResponse

type LoadBalancerActionDisablePublicInterfaceResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerActionEnablePublicInterfaceRequest

type LoadBalancerActionEnablePublicInterfaceRequest struct{}

type LoadBalancerActionEnablePublicInterfaceResponse

type LoadBalancerActionEnablePublicInterfaceResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerActionRemoveTargetRequest

type LoadBalancerActionRemoveTargetRequest struct {
	Type          string                                              `json:"type"`
	Server        *LoadBalancerActionRemoveTargetRequestServer        `json:"server,omitempty"`
	LabelSelector *LoadBalancerActionRemoveTargetRequestLabelSelector `json:"label_selector,omitempty"`
	IP            *LoadBalancerActionRemoveTargetRequestIP            `json:"ip,omitempty"`
}

type LoadBalancerActionRemoveTargetRequestIP

type LoadBalancerActionRemoveTargetRequestIP struct {
	IP string `json:"ip"`
}

type LoadBalancerActionRemoveTargetRequestLabelSelector

type LoadBalancerActionRemoveTargetRequestLabelSelector struct {
	Selector string `json:"selector"`
}

type LoadBalancerActionRemoveTargetRequestServer

type LoadBalancerActionRemoveTargetRequestServer struct {
	ID int64 `json:"id"`
}

type LoadBalancerActionRemoveTargetResponse

type LoadBalancerActionRemoveTargetResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerActionUpdateServiceRequest

type LoadBalancerActionUpdateServiceRequest struct {
	ListenPort      int                                                `json:"listen_port"`
	Protocol        *string                                            `json:"protocol,omitempty"`
	DestinationPort *int                                               `json:"destination_port,omitempty"`
	Proxyprotocol   *bool                                              `json:"proxyprotocol,omitempty"`
	HTTP            *LoadBalancerActionUpdateServiceRequestHTTP        `json:"http,omitempty"`
	HealthCheck     *LoadBalancerActionUpdateServiceRequestHealthCheck `json:"health_check,omitempty"`
}

type LoadBalancerActionUpdateServiceRequestHTTP

type LoadBalancerActionUpdateServiceRequestHTTP struct {
	CookieName     *string  `json:"cookie_name,omitempty"`
	CookieLifetime *int     `json:"cookie_lifetime,omitempty"`
	Certificates   *[]int64 `json:"certificates,omitempty"`
	RedirectHTTP   *bool    `json:"redirect_http,omitempty"`
	StickySessions *bool    `json:"sticky_sessions,omitempty"`
}

type LoadBalancerActionUpdateServiceRequestHealthCheck

type LoadBalancerActionUpdateServiceRequestHealthCheck struct {
	Protocol *string                                                `json:"protocol,omitempty"`
	Port     *int                                                   `json:"port,omitempty"`
	Interval *int                                                   `json:"interval,omitempty"`
	Timeout  *int                                                   `json:"timeout,omitempty"`
	Retries  *int                                                   `json:"retries,omitempty"`
	HTTP     *LoadBalancerActionUpdateServiceRequestHealthCheckHTTP `json:"http,omitempty"`
}

type LoadBalancerActionUpdateServiceRequestHealthCheckHTTP

type LoadBalancerActionUpdateServiceRequestHealthCheckHTTP struct {
	Domain      *string   `json:"domain,omitempty"`
	Path        *string   `json:"path,omitempty"`
	Response    *string   `json:"response,omitempty"`
	StatusCodes *[]string `json:"status_codes,omitempty"`
	TLS         *bool     `json:"tls,omitempty"`
}

type LoadBalancerActionUpdateServiceResponse

type LoadBalancerActionUpdateServiceResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerAlgorithm

type LoadBalancerAlgorithm struct {
	Type string `json:"type"`
}

type LoadBalancerCreateRequest

type LoadBalancerCreateRequest struct {
	Name             string                              `json:"name"`
	LoadBalancerType interface{}                         `json:"load_balancer_type"` // int or string
	Algorithm        *LoadBalancerCreateRequestAlgorithm `json:"algorithm,omitempty"`
	Location         *string                             `json:"location,omitempty"`
	NetworkZone      *string                             `json:"network_zone,omitempty"`
	Labels           *map[string]string                  `json:"labels,omitempty"`
	Targets          []LoadBalancerCreateRequestTarget   `json:"targets,omitempty"`
	Services         []LoadBalancerCreateRequestService  `json:"services,omitempty"`
	PublicInterface  *bool                               `json:"public_interface,omitempty"`
	Network          *int64                              `json:"network,omitempty"`
}

type LoadBalancerCreateRequestAlgorithm

type LoadBalancerCreateRequestAlgorithm struct {
	Type string `json:"type"`
}

type LoadBalancerCreateRequestService

type LoadBalancerCreateRequestService struct {
	Protocol        string                                       `json:"protocol"`
	ListenPort      *int                                         `json:"listen_port,omitempty"`
	DestinationPort *int                                         `json:"destination_port,omitempty"`
	Proxyprotocol   *bool                                        `json:"proxyprotocol,omitempty"`
	HTTP            *LoadBalancerCreateRequestServiceHTTP        `json:"http,omitempty"`
	HealthCheck     *LoadBalancerCreateRequestServiceHealthCheck `json:"health_check,omitempty"`
}

type LoadBalancerCreateRequestServiceHTTP

type LoadBalancerCreateRequestServiceHTTP struct {
	CookieName     *string  `json:"cookie_name,omitempty"`
	CookieLifetime *int     `json:"cookie_lifetime,omitempty"`
	Certificates   *[]int64 `json:"certificates,omitempty"`
	RedirectHTTP   *bool    `json:"redirect_http,omitempty"`
	StickySessions *bool    `json:"sticky_sessions,omitempty"`
}

type LoadBalancerCreateRequestServiceHealthCheck

type LoadBalancerCreateRequestServiceHealthCheck struct {
	Protocol string                                           `json:"protocol"`
	Port     *int                                             `json:"port,omitempty"`
	Interval *int                                             `json:"interval,omitempty"`
	Timeout  *int                                             `json:"timeout,omitempty"`
	Retries  *int                                             `json:"retries,omitempty"`
	HTTP     *LoadBalancerCreateRequestServiceHealthCheckHTTP `json:"http,omitempty"`
}

type LoadBalancerCreateRequestServiceHealthCheckHTTP

type LoadBalancerCreateRequestServiceHealthCheckHTTP struct {
	Domain      *string   `json:"domain,omitempty"`
	Path        *string   `json:"path,omitempty"`
	Response    *string   `json:"response,omitempty"`
	StatusCodes *[]string `json:"status_codes,omitempty"`
	TLS         *bool     `json:"tls,omitempty"`
}

type LoadBalancerCreateRequestTarget

type LoadBalancerCreateRequestTarget struct {
	Type          string                                        `json:"type"`
	Server        *LoadBalancerCreateRequestTargetServer        `json:"server,omitempty"`
	LabelSelector *LoadBalancerCreateRequestTargetLabelSelector `json:"label_selector,omitempty"`
	IP            *LoadBalancerCreateRequestTargetIP            `json:"ip,omitempty"`
	UsePrivateIP  *bool                                         `json:"use_private_ip,omitempty"`
}

type LoadBalancerCreateRequestTargetIP

type LoadBalancerCreateRequestTargetIP struct {
	IP string `json:"ip"`
}

type LoadBalancerCreateRequestTargetLabelSelector

type LoadBalancerCreateRequestTargetLabelSelector struct {
	Selector string `json:"selector"`
}

type LoadBalancerCreateRequestTargetServer

type LoadBalancerCreateRequestTargetServer struct {
	ID int64 `json:"id"`
}

type LoadBalancerCreateResponse

type LoadBalancerCreateResponse struct {
	LoadBalancer LoadBalancer `json:"load_balancer"`
	Action       Action       `json:"action"`
}

type LoadBalancerDeleteServiceRequest

type LoadBalancerDeleteServiceRequest struct {
	ListenPort int `json:"listen_port"`
}

type LoadBalancerDeleteServiceResponse

type LoadBalancerDeleteServiceResponse struct {
	Action Action `json:"action"`
}

type LoadBalancerGetMetricsResponse

type LoadBalancerGetMetricsResponse struct {
	Metrics struct {
		Start      time.Time                             `json:"start"`
		End        time.Time                             `json:"end"`
		Step       float64                               `json:"step"`
		TimeSeries map[string]LoadBalancerTimeSeriesVals `json:"time_series"`
	} `json:"metrics"`
}

LoadBalancerGetMetricsResponse defines the schema of the response when requesting metrics for a Load Balancer.

type LoadBalancerGetResponse

type LoadBalancerGetResponse struct {
	LoadBalancer LoadBalancer `json:"load_balancer"`
}

type LoadBalancerListResponse

type LoadBalancerListResponse struct {
	LoadBalancers []LoadBalancer `json:"load_balancers"`
}

type LoadBalancerPrivateNet

type LoadBalancerPrivateNet struct {
	Network int64  `json:"network"`
	IP      string `json:"ip"`
}

type LoadBalancerProtection

type LoadBalancerProtection struct {
	Delete bool `json:"delete"`
}

type LoadBalancerPublicNet

type LoadBalancerPublicNet struct {
	Enabled bool                      `json:"enabled"`
	IPv4    LoadBalancerPublicNetIPv4 `json:"ipv4"`
	IPv6    LoadBalancerPublicNetIPv6 `json:"ipv6"`
}

type LoadBalancerPublicNetIPv4

type LoadBalancerPublicNetIPv4 struct {
	IP     string `json:"ip"`
	DNSPtr string `json:"dns_ptr"`
}

type LoadBalancerPublicNetIPv6

type LoadBalancerPublicNetIPv6 struct {
	IP     string `json:"ip"`
	DNSPtr string `json:"dns_ptr"`
}

type LoadBalancerService

type LoadBalancerService struct {
	Protocol        string                          `json:"protocol"`
	ListenPort      int                             `json:"listen_port"`
	DestinationPort int                             `json:"destination_port"`
	Proxyprotocol   bool                            `json:"proxyprotocol"`
	HTTP            *LoadBalancerServiceHTTP        `json:"http"`
	HealthCheck     *LoadBalancerServiceHealthCheck `json:"health_check"`
}

type LoadBalancerServiceHTTP

type LoadBalancerServiceHTTP struct {
	CookieName     string  `json:"cookie_name"`
	CookieLifetime int     `json:"cookie_lifetime"`
	Certificates   []int64 `json:"certificates"`
	RedirectHTTP   bool    `json:"redirect_http"`
	StickySessions bool    `json:"sticky_sessions"`
}

type LoadBalancerServiceHealthCheck

type LoadBalancerServiceHealthCheck struct {
	Protocol string                              `json:"protocol"`
	Port     int                                 `json:"port"`
	Interval int                                 `json:"interval"`
	Timeout  int                                 `json:"timeout"`
	Retries  int                                 `json:"retries"`
	HTTP     *LoadBalancerServiceHealthCheckHTTP `json:"http"`
}

type LoadBalancerServiceHealthCheckHTTP

type LoadBalancerServiceHealthCheckHTTP struct {
	Domain      string   `json:"domain"`
	Path        string   `json:"path"`
	Response    string   `json:"response"`
	StatusCodes []string `json:"status_codes"`
	TLS         bool     `json:"tls"`
}

type LoadBalancerTarget

type LoadBalancerTarget struct {
	Type          string                           `json:"type"`
	Server        *LoadBalancerTargetServer        `json:"server"`
	LabelSelector *LoadBalancerTargetLabelSelector `json:"label_selector"`
	IP            *LoadBalancerTargetIP            `json:"ip"`
	HealthStatus  []LoadBalancerTargetHealthStatus `json:"health_status"`
	UsePrivateIP  bool                             `json:"use_private_ip"`
	Targets       []LoadBalancerTarget             `json:"targets,omitempty"`
}

type LoadBalancerTargetHealthStatus

type LoadBalancerTargetHealthStatus struct {
	ListenPort int    `json:"listen_port"`
	Status     string `json:"status"`
}

type LoadBalancerTargetIP

type LoadBalancerTargetIP struct {
	IP string `json:"ip"`
}

type LoadBalancerTargetLabelSelector

type LoadBalancerTargetLabelSelector struct {
	Selector string `json:"selector"`
}

type LoadBalancerTargetServer

type LoadBalancerTargetServer struct {
	ID int64 `json:"id"`
}

type LoadBalancerTimeSeriesVals

type LoadBalancerTimeSeriesVals struct {
	Values []interface{} `json:"values"`
}

LoadBalancerTimeSeriesVals contains the values for a Load Balancer time series.

type LoadBalancerType

type LoadBalancerType struct {
	ID                      int64                          `json:"id"`
	Name                    string                         `json:"name"`
	Description             string                         `json:"description"`
	MaxConnections          int                            `json:"max_connections"`
	MaxServices             int                            `json:"max_services"`
	MaxTargets              int                            `json:"max_targets"`
	MaxAssignedCertificates int                            `json:"max_assigned_certificates"`
	Prices                  []PricingLoadBalancerTypePrice `json:"prices"`
	Deprecated              *string                        `json:"deprecated"`
}

LoadBalancerType defines the schema of a LoadBalancer type.

type LoadBalancerTypeGetResponse

type LoadBalancerTypeGetResponse struct {
	LoadBalancerType LoadBalancerType `json:"load_balancer_type"`
}

LoadBalancerTypeGetResponse defines the schema of the response when retrieving a single LoadBalancer type.

type LoadBalancerTypeListResponse

type LoadBalancerTypeListResponse struct {
	LoadBalancerTypes []LoadBalancerType `json:"load_balancer_types"`
}

LoadBalancerTypeListResponse defines the schema of the response when listing LoadBalancer types.

type LoadBalancerUpdateRequest

type LoadBalancerUpdateRequest struct {
	Name   *string            `json:"name,omitempty"`
	Labels *map[string]string `json:"labels,omitempty"`
}

type LoadBalancerUpdateResponse

type LoadBalancerUpdateResponse struct {
	LoadBalancer LoadBalancer `json:"load_balancer"`
}

type Location

type Location struct {
	ID          int64   `json:"id"`
	Name        string  `json:"name"`
	Description string  `json:"description"`
	Country     string  `json:"country"`
	City        string  `json:"city"`
	Latitude    float64 `json:"latitude"`
	Longitude   float64 `json:"longitude"`
	NetworkZone string  `json:"network_zone"`
}

Location defines the schema of a location.

type LocationGetResponse

type LocationGetResponse struct {
	Location Location `json:"location"`
}

LocationGetResponse defines the schema of the response when retrieving a single location.

type LocationListResponse

type LocationListResponse struct {
	Locations []Location `json:"locations"`
}

LocationListResponse defines the schema of the response when listing locations.

type Meta

type Meta struct {
	Pagination *MetaPagination `json:"pagination"`
}

Meta defines the schema of meta information which may be included in responses.

type MetaPagination

type MetaPagination struct {
	Page         int `json:"page"`
	PerPage      int `json:"per_page"`
	PreviousPage int `json:"previous_page"`
	NextPage     int `json:"next_page"`
	LastPage     int `json:"last_page"`
	TotalEntries int `json:"total_entries"`
}

MetaPagination defines the schema of pagination information.

type MetaResponse

type MetaResponse struct {
	Meta Meta `json:"meta"`
}

MetaResponse defines the schema of a response containing meta information.

type Network

type Network struct {
	ID                    int64             `json:"id"`
	Name                  string            `json:"name"`
	Created               time.Time         `json:"created"`
	IPRange               string            `json:"ip_range"`
	Subnets               []NetworkSubnet   `json:"subnets"`
	Routes                []NetworkRoute    `json:"routes"`
	Servers               []int64           `json:"servers"`
	Protection            NetworkProtection `json:"protection"`
	Labels                map[string]string `json:"labels"`
	ExposeRoutesToVSwitch bool              `json:"expose_routes_to_vswitch"`
}

Network defines the schema of a network.

type NetworkActionAddRouteRequest

type NetworkActionAddRouteRequest struct {
	Destination string `json:"destination"`
	Gateway     string `json:"gateway"`
}

NetworkActionAddRouteRequest defines the schema of the request to add a route to a network.

type NetworkActionAddRouteResponse

type NetworkActionAddRouteResponse struct {
	Action Action `json:"action"`
}

NetworkActionAddRouteResponse defines the schema of the response when adding a route to a network.

type NetworkActionAddSubnetRequest

type NetworkActionAddSubnetRequest struct {
	Type        string `json:"type"`
	IPRange     string `json:"ip_range,omitempty"`
	NetworkZone string `json:"network_zone"`
	Gateway     string `json:"gateway"`
	VSwitchID   int64  `json:"vswitch_id,omitempty"`
}

NetworkActionAddSubnetRequest defines the schema of the request to add a subnet to a network.

type NetworkActionAddSubnetResponse

type NetworkActionAddSubnetResponse struct {
	Action Action `json:"action"`
}

NetworkActionAddSubnetResponse defines the schema of the response when adding a subnet to a network.

type NetworkActionChangeIPRangeRequest

type NetworkActionChangeIPRangeRequest struct {
	IPRange string `json:"ip_range"`
}

NetworkActionChangeIPRangeRequest defines the schema of the request to change the IP range of a network.

type NetworkActionChangeIPRangeResponse

type NetworkActionChangeIPRangeResponse struct {
	Action Action `json:"action"`
}

NetworkActionChangeIPRangeResponse defines the schema of the response when changing the IP range of a network.

type NetworkActionChangeProtectionRequest

type NetworkActionChangeProtectionRequest struct {
	Delete *bool `json:"delete,omitempty"`
}

NetworkActionChangeProtectionRequest defines the schema of the request to change the resource protection of a network.

type NetworkActionChangeProtectionResponse

type NetworkActionChangeProtectionResponse struct {
	Action Action `json:"action"`
}

NetworkActionChangeProtectionResponse defines the schema of the response when changing the resource protection of a network.

type NetworkActionDeleteRouteRequest

type NetworkActionDeleteRouteRequest struct {
	Destination string `json:"destination"`
	Gateway     string `json:"gateway"`
}

NetworkActionDeleteRouteRequest defines the schema of the request to delete a route from a network.

type NetworkActionDeleteRouteResponse

type NetworkActionDeleteRouteResponse struct {
	Action Action `json:"action"`
}

NetworkActionDeleteRouteResponse defines the schema of the response when deleting a route from a network.

type NetworkActionDeleteSubnetRequest

type NetworkActionDeleteSubnetRequest struct {
	IPRange string `json:"ip_range"`
}

NetworkActionDeleteSubnetRequest defines the schema of the request to delete a subnet from a network.

type NetworkActionDeleteSubnetResponse

type NetworkActionDeleteSubnetResponse struct {
	Action Action `json:"action"`
}

NetworkActionDeleteSubnetResponse defines the schema of the response when deleting a subnet from a network.

type NetworkCreateRequest

type NetworkCreateRequest struct {
	Name                  string             `json:"name"`
	IPRange               string             `json:"ip_range"`
	Subnets               []NetworkSubnet    `json:"subnets,omitempty"`
	Routes                []NetworkRoute     `json:"routes,omitempty"`
	Labels                *map[string]string `json:"labels,omitempty"`
	ExposeRoutesToVSwitch bool               `json:"expose_routes_to_vswitch"`
}

NetworkCreateRequest defines the schema of the request to create a network.

type NetworkCreateResponse

type NetworkCreateResponse struct {
	Network Network `json:"network"`
}

NetworkCreateResponse defines the schema of the response when creating a network.

type NetworkGetResponse

type NetworkGetResponse struct {
	Network Network `json:"network"`
}

NetworkGetResponse defines the schema of the response when retrieving a single network.

type NetworkListResponse

type NetworkListResponse struct {
	Networks []Network `json:"networks"`
}

NetworkListResponse defines the schema of the response when listing networks.

type NetworkProtection

type NetworkProtection struct {
	Delete bool `json:"delete"`
}

NetworkProtection represents the protection level of a network.

type NetworkRoute

type NetworkRoute struct {
	Destination string `json:"destination"`
	Gateway     string `json:"gateway"`
}

NetworkRoute represents a route of a network.

type NetworkSubnet

type NetworkSubnet struct {
	Type        string `json:"type"`
	IPRange     string `json:"ip_range"`
	NetworkZone string `json:"network_zone"`
	Gateway     string `json:"gateway,omitempty"`
	VSwitchID   int64  `json:"vswitch_id,omitempty"`
}

NetworkSubnet represents a subnet of a network.

type NetworkUpdateRequest

type NetworkUpdateRequest struct {
	Name                  string             `json:"name,omitempty"`
	Labels                *map[string]string `json:"labels,omitempty"`
	ExposeRoutesToVSwitch *bool              `json:"expose_routes_to_vswitch,omitempty"`
}

NetworkUpdateRequest defines the schema of the request to update a network.

type NetworkUpdateResponse

type NetworkUpdateResponse struct {
	Network Network `json:"network"`
}

NetworkUpdateResponse defines the schema of the response when updating a network.

type PlacementGroup

type PlacementGroup struct {
	ID      int64             `json:"id"`
	Name    string            `json:"name"`
	Labels  map[string]string `json:"labels"`
	Created time.Time         `json:"created"`
	Servers []int64           `json:"servers"`
	Type    string            `json:"type"`
}

type PlacementGroupCreateRequest

type PlacementGroupCreateRequest struct {
	Name   string             `json:"name"`
	Labels *map[string]string `json:"labels,omitempty"`
	Type   string             `json:"type"`
}

type PlacementGroupCreateResponse

type PlacementGroupCreateResponse struct {
	PlacementGroup PlacementGroup `json:"placement_group"`
	Action         *Action        `json:"action"`
}

type PlacementGroupGetResponse

type PlacementGroupGetResponse struct {
	PlacementGroup PlacementGroup `json:"placement_group"`
}

type PlacementGroupListResponse

type PlacementGroupListResponse struct {
	PlacementGroups []PlacementGroup `json:"placement_groups"`
}

type PlacementGroupUpdateRequest

type PlacementGroupUpdateRequest struct {
	Name   *string            `json:"name,omitempty"`
	Labels *map[string]string `json:"labels,omitempty"`
}

type PlacementGroupUpdateResponse

type PlacementGroupUpdateResponse struct {
	PlacementGroup PlacementGroup `json:"placement_group"`
}

type Price

type Price struct {
	Net   string `json:"net"`
	Gross string `json:"gross"`
}

Price defines the schema of a single price with net and gross amount.

type Pricing

type Pricing struct {
	Currency          string                    `json:"currency"`
	VATRate           string                    `json:"vat_rate"`
	Image             PricingImage              `json:"image"`
	FloatingIP        PricingFloatingIP         `json:"floating_ip"`
	FloatingIPs       []PricingFloatingIPType   `json:"floating_ips"`
	PrimaryIPs        []PricingPrimaryIP        `json:"primary_ips"`
	Traffic           PricingTraffic            `json:"traffic"`
	ServerBackup      PricingServerBackup       `json:"server_backup"`
	ServerTypes       []PricingServerType       `json:"server_types"`
	LoadBalancerTypes []PricingLoadBalancerType `json:"load_balancer_types"`
	Volume            PricingVolume             `json:"volume"`
}

Pricing defines the schema for pricing information.

type PricingFloatingIP

type PricingFloatingIP struct {
	PriceMonthly Price `json:"price_monthly"`
}

PricingFloatingIP defines the schema of pricing information for a Floating IP.

type PricingFloatingIPType

type PricingFloatingIPType struct {
	Type   string                       `json:"type"`
	Prices []PricingFloatingIPTypePrice `json:"prices"`
}

PricingFloatingIPType defines the schema of pricing information for a Floating IP per type.

type PricingFloatingIPTypePrice

type PricingFloatingIPTypePrice struct {
	Location     string `json:"location"`
	PriceMonthly Price  `json:"price_monthly"`
}

PricingFloatingIPTypePrice defines the schema of pricing information for a Floating IP type at a location.

type PricingGetResponse

type PricingGetResponse struct {
	Pricing Pricing `json:"pricing"`
}

PricingGetResponse defines the schema of the response when retrieving pricing information.

type PricingImage

type PricingImage struct {
	PricePerGBMonth Price `json:"price_per_gb_month"`
}

PricingImage defines the schema of pricing information for an image.

type PricingLoadBalancerType

type PricingLoadBalancerType struct {
	ID     int64                          `json:"id"`
	Name   string                         `json:"name"`
	Prices []PricingLoadBalancerTypePrice `json:"prices"`
}

PricingLoadBalancerType defines the schema of pricing information for a Load Balancer type.

type PricingLoadBalancerTypePrice

type PricingLoadBalancerTypePrice struct {
	Location     string `json:"location"`
	PriceHourly  Price  `json:"price_hourly"`
	PriceMonthly Price  `json:"price_monthly"`
}

PricingLoadBalancerTypePrice defines the schema of pricing information for a Load Balancer type at a location.

type PricingPrimaryIP

type PricingPrimaryIP struct {
	Type   string                      `json:"type"`
	Prices []PricingPrimaryIPTypePrice `json:"prices"`
}

PricingPrimaryIP define the schema of pricing information for a primary IP at a datacenter.

type PricingPrimaryIPTypePrice

type PricingPrimaryIPTypePrice struct {
	Datacenter   string `json:"datacenter"` // Deprecated: the API does not return pricing for the individual DCs anymore
	Location     string `json:"location"`
	PriceHourly  Price  `json:"price_hourly"`
	PriceMonthly Price  `json:"price_monthly"`
}

PricingPrimaryIPTypePrice defines the schema of pricing information for a primary IP. type at a datacenter.

type PricingServerBackup

type PricingServerBackup struct {
	Percentage string `json:"percentage"`
}

PricingServerBackup defines the schema of pricing information for server backups.

type PricingServerType

type PricingServerType struct {
	ID     int64                    `json:"id"`
	Name   string                   `json:"name"`
	Prices []PricingServerTypePrice `json:"prices"`
}

PricingServerType defines the schema of pricing information for a server type.

type PricingServerTypePrice

type PricingServerTypePrice struct {
	Location     string `json:"location"`
	PriceHourly  Price  `json:"price_hourly"`
	PriceMonthly Price  `json:"price_monthly"`
}

PricingServerTypePrice defines the schema of pricing information for a server type at a location.

type PricingTraffic

type PricingTraffic struct {
	PricePerTB Price `json:"price_per_tb"`
}

PricingTraffic defines the schema of pricing information for traffic.

type PricingVolume

type PricingVolume struct {
	PricePerGBPerMonth Price `json:"price_per_gb_month"`
}

PricingVolume defines the schema of pricing information for a Volume.

type PrimaryIP

type PrimaryIP struct {
	ID           int64               `json:"id"`
	IP           string              `json:"ip"`
	Labels       map[string]string   `json:"labels"`
	Name         string              `json:"name"`
	Type         string              `json:"type"`
	Protection   PrimaryIPProtection `json:"protection"`
	DNSPtr       []PrimaryIPDNSPTR   `json:"dns_ptr"`
	AssigneeID   *int64              `json:"assignee_id"`
	AssigneeType string              `json:"assignee_type"`
	AutoDelete   bool                `json:"auto_delete"`
	Blocked      bool                `json:"blocked"`
	Created      time.Time           `json:"created"`
	Datacenter   Datacenter          `json:"datacenter"`
}

PrimaryIP defines a Primary IP.

type PrimaryIPActionChangeDNSPtrRequest

type PrimaryIPActionChangeDNSPtrRequest struct {
	IP     string  `json:"ip"`
	DNSPtr *string `json:"dns_ptr"`
}

PrimaryIPActionChangeDNSPtrRequest defines the schema for the request to change a Primary IP's reverse DNS pointer.

type PrimaryIPCreateResponse

type PrimaryIPCreateResponse struct {
	PrimaryIP PrimaryIP `json:"primary_ip"`
	Action    *Action   `json:"action"`
}

PrimaryIPCreateResponse defines the schema of the response when creating a Primary IP.

type PrimaryIPDNSPTR

type PrimaryIPDNSPTR struct {
	DNSPtr string `json:"dns_ptr"`
	IP     string `json:"ip"`
}

PrimaryIPDNSPTR contains reverse DNS information for a IPv4 or IPv6 Primary IP.

type PrimaryIPGetResult

type PrimaryIPGetResult struct {
	PrimaryIP PrimaryIP `json:"primary_ip"`
}

PrimaryIPGetResult defines the response when retrieving a single Primary IP.

type PrimaryIPListResult

type PrimaryIPListResult struct {
	PrimaryIPs []PrimaryIP `json:"primary_ips"`
}

PrimaryIPListResult defines the response when listing Primary IPs.

type PrimaryIPProtection

type PrimaryIPProtection struct {
	Delete bool `json:"delete"`
}

PrimaryIPProtection represents the protection level of a Primary IP.

type PrimaryIPUpdateResult

type PrimaryIPUpdateResult struct {
	PrimaryIP PrimaryIP `json:"primary_ip"`
}

PrimaryIPUpdateResult defines the response when updating a Primary IP.

type SSHKey

type SSHKey struct {
	ID          int64             `json:"id"`
	Name        string            `json:"name"`
	Fingerprint string            `json:"fingerprint"`
	PublicKey   string            `json:"public_key"`
	Labels      map[string]string `json:"labels"`
	Created     time.Time         `json:"created"`
}

SSHKey defines the schema of a SSH key.

type SSHKeyCreateRequest

type SSHKeyCreateRequest struct {
	Name      string             `json:"name"`
	PublicKey string             `json:"public_key"`
	Labels    *map[string]string `json:"labels,omitempty"`
}

SSHKeyCreateRequest defines the schema of the request to create a SSH key.

type SSHKeyCreateResponse

type SSHKeyCreateResponse struct {
	SSHKey SSHKey `json:"ssh_key"`
}

SSHKeyCreateResponse defines the schema of the response when creating a SSH key.

type SSHKeyGetResponse

type SSHKeyGetResponse struct {
	SSHKey SSHKey `json:"ssh_key"`
}

SSHKeyGetResponse defines the schema of the response when retrieving a single SSH key.

type SSHKeyListResponse

type SSHKeyListResponse struct {
	SSHKeys []SSHKey `json:"ssh_keys"`
}

SSHKeyListResponse defines the schema of the response when listing SSH keys.

type SSHKeyUpdateRequest

type SSHKeyUpdateRequest struct {
	Name   string             `json:"name,omitempty"`
	Labels *map[string]string `json:"labels,omitempty"`
}

SSHKeyUpdateRequest defines the schema of the request to update a SSH key.

type SSHKeyUpdateResponse

type SSHKeyUpdateResponse struct {
	SSHKey SSHKey `json:"ssh_key"`
}

SSHKeyUpdateResponse defines the schema of the response when updating a SSH key.

type Server

type Server struct {
	ID              int64              `json:"id"`
	Name            string             `json:"name"`
	Status          string             `json:"status"`
	Created         time.Time          `json:"created"`
	PublicNet       ServerPublicNet    `json:"public_net"`
	PrivateNet      []ServerPrivateNet `json:"private_net"`
	ServerType      ServerType         `json:"server_type"`
	IncludedTraffic uint64             `json:"included_traffic"`
	OutgoingTraffic *uint64            `json:"outgoing_traffic"`
	IngoingTraffic  *uint64            `json:"ingoing_traffic"`
	BackupWindow    *string            `json:"backup_window"`
	RescueEnabled   bool               `json:"rescue_enabled"`
	ISO             *ISO               `json:"iso"`
	Locked          bool               `json:"locked"`
	Datacenter      Datacenter         `json:"datacenter"`
	Image           *Image             `json:"image"`
	Protection      ServerProtection   `json:"protection"`
	Labels          map[string]string  `json:"labels"`
	Volumes         []int64            `json:"volumes"`
	PrimaryDiskSize int                `json:"primary_disk_size"`
	PlacementGroup  *PlacementGroup    `json:"placement_group"`
	LoadBalancers   []int64            `json:"load_balancers"`
}

Server defines the schema of a server.

type ServerActionAddToPlacementGroupRequest

type ServerActionAddToPlacementGroupRequest struct {
	PlacementGroup int64 `json:"placement_group"`
}

ServerActionAddToPlacementGroupRequest defines the schema for the request to add a server to a placement group.

type ServerActionAddToPlacementGroupResponse

type ServerActionAddToPlacementGroupResponse struct {
	Action Action `json:"action"`
}

ServerActionAddToPlacementGroupResponse defines the schema of the response when creating an add_to_placement_group server action.

type ServerActionAttachISORequest

type ServerActionAttachISORequest struct {
	ISO interface{} `json:"iso"` // int or string
}

ServerActionAttachISORequest defines the schema for the request to attach an ISO to a server.

type ServerActionAttachISOResponse

type ServerActionAttachISOResponse struct {
	Action Action `json:"action"`
}

ServerActionAttachISOResponse defines the schema of the response when creating a attach_iso server action.

type ServerActionAttachToNetworkRequest

type ServerActionAttachToNetworkRequest struct {
	Network  int64     `json:"network"`
	IP       *string   `json:"ip,omitempty"`
	AliasIPs []*string `json:"alias_ips,omitempty"`
}

ServerActionAttachToNetworkRequest defines the schema for the request to attach a network to a server.

type ServerActionAttachToNetworkResponse

type ServerActionAttachToNetworkResponse struct {
	Action Action `json:"action"`
}

ServerActionAttachToNetworkResponse defines the schema of the response when creating an attach_to_network server action.

type ServerActionChangeAliasIPsRequest

type ServerActionChangeAliasIPsRequest struct {
	Network  int64    `json:"network"`
	AliasIPs []string `json:"alias_ips"`
}

ServerActionChangeAliasIPsRequest defines the schema for the request to change a server's alias IPs in a network.

type ServerActionChangeAliasIPsResponse

type ServerActionChangeAliasIPsResponse struct {
	Action Action `json:"action"`
}

ServerActionChangeAliasIPsResponse defines the schema of the response when creating an change_alias_ips server action.

type ServerActionChangeDNSPtrRequest

type ServerActionChangeDNSPtrRequest struct {
	IP     string  `json:"ip"`
	DNSPtr *string `json:"dns_ptr"`
}

ServerActionChangeDNSPtrRequest defines the schema for the request to change a server's reverse DNS pointer.

type ServerActionChangeDNSPtrResponse

type ServerActionChangeDNSPtrResponse struct {
	Action Action `json:"action"`
}

ServerActionChangeDNSPtrResponse defines the schema of the response when creating a change_dns_ptr server action.

type ServerActionChangeProtectionRequest

type ServerActionChangeProtectionRequest struct {
	Rebuild *bool `json:"rebuild,omitempty"`
	Delete  *bool `json:"delete,omitempty"`
}

ServerActionChangeProtectionRequest defines the schema of the request to change the resource protection of a server.

type ServerActionChangeProtectionResponse

type ServerActionChangeProtectionResponse struct {
	Action Action `json:"action"`
}

ServerActionChangeProtectionResponse defines the schema of the response when changing the resource protection of a server.

type ServerActionChangeTypeRequest

type ServerActionChangeTypeRequest struct {
	ServerType  interface{} `json:"server_type"` // int or string
	UpgradeDisk bool        `json:"upgrade_disk"`
}

ServerActionChangeTypeRequest defines the schema for the request to change a server's type.

type ServerActionChangeTypeResponse

type ServerActionChangeTypeResponse struct {
	Action Action `json:"action"`
}

ServerActionChangeTypeResponse defines the schema of the response when creating a change_type server action.

type ServerActionCreateImageRequest

type ServerActionCreateImageRequest struct {
	Type        *string            `json:"type"`
	Description *string            `json:"description"`
	Labels      *map[string]string `json:"labels,omitempty"`
}

ServerActionCreateImageRequest defines the schema for the request to create a create_image server action.

type ServerActionCreateImageResponse

type ServerActionCreateImageResponse struct {
	Action Action `json:"action"`
	Image  Image  `json:"image"`
}

ServerActionCreateImageResponse defines the schema of the response when creating a create_image server action.

type ServerActionDetachFromNetworkRequest

type ServerActionDetachFromNetworkRequest struct {
	Network int64 `json:"network"`
}

ServerActionDetachFromNetworkRequest defines the schema for the request to detach a network from a server.

type ServerActionDetachFromNetworkResponse

type ServerActionDetachFromNetworkResponse struct {
	Action Action `json:"action"`
}

ServerActionDetachFromNetworkResponse defines the schema of the response when creating a detach_from_network server action.

type ServerActionDetachISORequest

type ServerActionDetachISORequest struct{}

ServerActionDetachISORequest defines the schema for the request to detach an ISO from a server.

type ServerActionDetachISOResponse

type ServerActionDetachISOResponse struct {
	Action Action `json:"action"`
}

ServerActionDetachISOResponse defines the schema of the response when creating a detach_iso server action.

type ServerActionDisableBackupRequest

type ServerActionDisableBackupRequest struct{}

ServerActionDisableBackupRequest defines the schema for the request to disable backup for a server.

type ServerActionDisableBackupResponse

type ServerActionDisableBackupResponse struct {
	Action Action `json:"action"`
}

ServerActionDisableBackupResponse defines the schema of the response when creating a disable_backup server action.

type ServerActionDisableRescueRequest

type ServerActionDisableRescueRequest struct{}

ServerActionDisableRescueRequest defines the schema for the request to create a disable_rescue server action.

type ServerActionDisableRescueResponse

type ServerActionDisableRescueResponse struct {
	Action Action `json:"action"`
}

ServerActionDisableRescueResponse defines the schema of the response when creating a disable_rescue server action.

type ServerActionEnableBackupRequest

type ServerActionEnableBackupRequest struct {
	BackupWindow *string `json:"backup_window,omitempty"`
}

ServerActionEnableBackupRequest defines the schema for the request to enable backup for a server.

type ServerActionEnableBackupResponse

type ServerActionEnableBackupResponse struct {
	Action Action `json:"action"`
}

ServerActionEnableBackupResponse defines the schema of the response when creating a enable_backup server action.

type ServerActionEnableRescueRequest

type ServerActionEnableRescueRequest struct {
	Type    *string `json:"type,omitempty"`
	SSHKeys []int64 `json:"ssh_keys,omitempty"`
}

ServerActionEnableRescueRequest defines the schema for the request to create a enable_rescue server action.

type ServerActionEnableRescueResponse

type ServerActionEnableRescueResponse struct {
	Action       Action `json:"action"`
	RootPassword string `json:"root_password"`
}

ServerActionEnableRescueResponse defines the schema of the response when creating a enable_rescue server action.

type ServerActionPoweroffRequest

type ServerActionPoweroffRequest struct{}

ServerActionPoweroffRequest defines the schema for the request to create a poweroff server action.

type ServerActionPoweroffResponse

type ServerActionPoweroffResponse struct {
	Action Action `json:"action"`
}

ServerActionPoweroffResponse defines the schema of the response when creating a poweroff server action.

type ServerActionPoweronRequest

type ServerActionPoweronRequest struct{}

ServerActionPoweronRequest defines the schema for the request to create a poweron server action.

type ServerActionPoweronResponse

type ServerActionPoweronResponse struct {
	Action Action `json:"action"`
}

ServerActionPoweronResponse defines the schema of the response when creating a poweron server action.

type ServerActionRebootRequest

type ServerActionRebootRequest struct{}

ServerActionRebootRequest defines the schema for the request to create a reboot server action.

type ServerActionRebootResponse

type ServerActionRebootResponse struct {
	Action Action `json:"action"`
}

ServerActionRebootResponse defines the schema of the response when creating a reboot server action.

type ServerActionRebuildRequest

type ServerActionRebuildRequest struct {
	Image interface{} `json:"image"` // int or string
}

ServerActionRebuildRequest defines the schema for the request to rebuild a server.

type ServerActionRebuildResponse

type ServerActionRebuildResponse struct {
	Action       Action  `json:"action"`
	RootPassword *string `json:"root_password"`
}

ServerActionRebuildResponse defines the schema of the response when creating a rebuild server action.

type ServerActionRemoveFromPlacementGroupResponse

type ServerActionRemoveFromPlacementGroupResponse struct {
	Action Action `json:"action"`
}

ServerActionRemoveFromPlacementGroupResponse defines the schema of the response when creating a remove_from_placement_group server action.

type ServerActionRequestConsoleRequest

type ServerActionRequestConsoleRequest struct{}

ServerActionRequestConsoleRequest defines the schema of the request to request a WebSocket VNC console.

type ServerActionRequestConsoleResponse

type ServerActionRequestConsoleResponse struct {
	Action   Action `json:"action"`
	WSSURL   string `json:"wss_url"`
	Password string `json:"password"`
}

ServerActionRequestConsoleResponse defines the schema of the response when requesting a WebSocket VNC console.

type ServerActionResetPasswordRequest

type ServerActionResetPasswordRequest struct{}

ServerActionResetPasswordRequest defines the schema for the request to create a reset_password server action.

type ServerActionResetPasswordResponse

type ServerActionResetPasswordResponse struct {
	Action       Action `json:"action"`
	RootPassword string `json:"root_password"`
}

ServerActionResetPasswordResponse defines the schema of the response when creating a reset_password server action.

type ServerActionResetRequest

type ServerActionResetRequest struct{}

ServerActionResetRequest defines the schema for the request to create a reset server action.

type ServerActionResetResponse

type ServerActionResetResponse struct {
	Action Action `json:"action"`
}

ServerActionResetResponse defines the schema of the response when creating a reset server action.

type ServerActionShutdownRequest

type ServerActionShutdownRequest struct{}

ServerActionShutdownRequest defines the schema for the request to create a shutdown server action.

type ServerActionShutdownResponse

type ServerActionShutdownResponse struct {
	Action Action `json:"action"`
}

ServerActionShutdownResponse defines the schema of the response when creating a shutdown server action.

type ServerCreateFirewalls

type ServerCreateFirewalls struct {
	Firewall int64 `json:"firewall"`
}

ServerCreateFirewalls defines which Firewalls to apply when creating a Server.

type ServerCreatePublicNet

type ServerCreatePublicNet struct {
	EnableIPv4 bool  `json:"enable_ipv4"`
	EnableIPv6 bool  `json:"enable_ipv6"`
	IPv4ID     int64 `json:"ipv4,omitempty"`
	IPv6ID     int64 `json:"ipv6,omitempty"`
}

ServerCreatePublicNet defines the public network configuration of a server.

type ServerCreateRequest

type ServerCreateRequest struct {
	Name             string                  `json:"name"`
	ServerType       interface{}             `json:"server_type"` // int or string
	Image            interface{}             `json:"image"`       // int or string
	SSHKeys          []int64                 `json:"ssh_keys,omitempty"`
	Location         string                  `json:"location,omitempty"`
	Datacenter       string                  `json:"datacenter,omitempty"`
	UserData         string                  `json:"user_data,omitempty"`
	StartAfterCreate *bool                   `json:"start_after_create,omitempty"`
	Labels           *map[string]string      `json:"labels,omitempty"`
	Automount        *bool                   `json:"automount,omitempty"`
	Volumes          []int64                 `json:"volumes,omitempty"`
	Networks         []int64                 `json:"networks,omitempty"`
	Firewalls        []ServerCreateFirewalls `json:"firewalls,omitempty"`
	PlacementGroup   int64                   `json:"placement_group,omitempty"`
	PublicNet        *ServerCreatePublicNet  `json:"public_net,omitempty"`
}

ServerCreateRequest defines the schema for the request to create a server.

type ServerCreateResponse

type ServerCreateResponse struct {
	Server       Server   `json:"server"`
	Action       Action   `json:"action"`
	RootPassword *string  `json:"root_password"`
	NextActions  []Action `json:"next_actions"`
}

ServerCreateResponse defines the schema of the response when creating a server.

type ServerDeleteResponse

type ServerDeleteResponse struct {
	Action Action `json:"action"`
}

ServerDeleteResponse defines the schema of the response when deleting a server.

type ServerFirewall

type ServerFirewall struct {
	ID     int64  `json:"id"`
	Status string `json:"status"`
}

ServerFirewall defines the schema of a Server's Firewalls on a certain network interface.

type ServerGetMetricsResponse

type ServerGetMetricsResponse struct {
	Metrics struct {
		Start      time.Time                       `json:"start"`
		End        time.Time                       `json:"end"`
		Step       float64                         `json:"step"`
		TimeSeries map[string]ServerTimeSeriesVals `json:"time_series"`
	} `json:"metrics"`
}

ServerGetMetricsResponse defines the schema of the response when requesting metrics for a server.

type ServerGetResponse

type ServerGetResponse struct {
	Server Server `json:"server"`
}

ServerGetResponse defines the schema of the response when retrieving a single server.

type ServerListResponse

type ServerListResponse struct {
	Servers []Server `json:"servers"`
}

ServerListResponse defines the schema of the response when listing servers.

type ServerPrivateNet

type ServerPrivateNet struct {
	Network    int64    `json:"network"`
	IP         string   `json:"ip"`
	AliasIPs   []string `json:"alias_ips"`
	MACAddress string   `json:"mac_address"`
}

ServerPrivateNet defines the schema of a server's private network information.

type ServerProtection

type ServerProtection struct {
	Delete  bool `json:"delete"`
	Rebuild bool `json:"rebuild"`
}

ServerProtection defines the schema of a server's resource protection.

type ServerPublicNet

type ServerPublicNet struct {
	IPv4        ServerPublicNetIPv4 `json:"ipv4"`
	IPv6        ServerPublicNetIPv6 `json:"ipv6"`
	FloatingIPs []int64             `json:"floating_ips"`
	Firewalls   []ServerFirewall    `json:"firewalls"`
}

ServerPublicNet defines the schema of a server's public network information.

type ServerPublicNetIPv4

type ServerPublicNetIPv4 struct {
	ID      int64  `json:"id"`
	IP      string `json:"ip"`
	Blocked bool   `json:"blocked"`
	DNSPtr  string `json:"dns_ptr"`
}

ServerPublicNetIPv4 defines the schema of a server's public network information for an IPv4.

type ServerPublicNetIPv6

type ServerPublicNetIPv6 struct {
	ID      int64                       `json:"id"`
	IP      string                      `json:"ip"`
	Blocked bool                        `json:"blocked"`
	DNSPtr  []ServerPublicNetIPv6DNSPtr `json:"dns_ptr"`
}

ServerPublicNetIPv6 defines the schema of a server's public network information for an IPv6.

type ServerPublicNetIPv6DNSPtr

type ServerPublicNetIPv6DNSPtr struct {
	IP     string `json:"ip"`
	DNSPtr string `json:"dns_ptr"`
}

ServerPublicNetIPv6DNSPtr defines the schema of a server's public network information for an IPv6 reverse DNS.

type ServerTimeSeriesVals

type ServerTimeSeriesVals struct {
	Values []interface{} `json:"values"`
}

ServerTimeSeriesVals contains the values for a Server time series.

type ServerType

type ServerType struct {
	ID              int64                    `json:"id"`
	Name            string                   `json:"name"`
	Description     string                   `json:"description"`
	Cores           int                      `json:"cores"`
	Memory          float32                  `json:"memory"`
	Disk            int                      `json:"disk"`
	StorageType     string                   `json:"storage_type"`
	CPUType         string                   `json:"cpu_type"`
	Architecture    string                   `json:"architecture"`
	IncludedTraffic int64                    `json:"included_traffic"`
	Prices          []PricingServerTypePrice `json:"prices"`
	Deprecated      bool                     `json:"deprecated"`
	DeprecatableResource
}

ServerType defines the schema of a server type.

type ServerTypeGetResponse

type ServerTypeGetResponse struct {
	ServerType ServerType `json:"server_type"`
}

ServerTypeGetResponse defines the schema of the response when retrieving a single server type.

type ServerTypeListResponse

type ServerTypeListResponse struct {
	ServerTypes []ServerType `json:"server_types"`
}

ServerTypeListResponse defines the schema of the response when listing server types.

type ServerUpdateRequest

type ServerUpdateRequest struct {
	Name   string             `json:"name,omitempty"`
	Labels *map[string]string `json:"labels,omitempty"`
}

ServerUpdateRequest defines the schema of the request to update a server.

type ServerUpdateResponse

type ServerUpdateResponse struct {
	Server Server `json:"server"`
}

ServerUpdateResponse defines the schema of the response when updating a server.

type Volume

type Volume struct {
	ID          int64             `json:"id"`
	Name        string            `json:"name"`
	Server      *int64            `json:"server"`
	Status      string            `json:"status"`
	Location    Location          `json:"location"`
	Size        int               `json:"size"`
	Format      *string           `json:"format"`
	Protection  VolumeProtection  `json:"protection"`
	Labels      map[string]string `json:"labels"`
	LinuxDevice string            `json:"linux_device"`
	Created     time.Time         `json:"created"`
}

Volume defines the schema of a volume.

type VolumeActionAttachVolumeRequest

type VolumeActionAttachVolumeRequest struct {
	Server    int64 `json:"server"`
	Automount *bool `json:"automount,omitempty"`
}

VolumeActionAttachVolumeRequest defines the schema of the request to attach a volume to a server.

type VolumeActionAttachVolumeResponse

type VolumeActionAttachVolumeResponse struct {
	Action Action `json:"action"`
}

VolumeActionAttachVolumeResponse defines the schema of the response when attaching a volume to a server.

type VolumeActionChangeProtectionRequest

type VolumeActionChangeProtectionRequest struct {
	Delete *bool `json:"delete,omitempty"`
}

VolumeActionChangeProtectionRequest defines the schema of the request to change the resource protection of a volume.

type VolumeActionChangeProtectionResponse

type VolumeActionChangeProtectionResponse struct {
	Action Action `json:"action"`
}

VolumeActionChangeProtectionResponse defines the schema of the response when changing the resource protection of a volume.

type VolumeActionDetachVolumeRequest

type VolumeActionDetachVolumeRequest struct{}

VolumeActionDetachVolumeRequest defines the schema of the request to create an detach volume action.

type VolumeActionDetachVolumeResponse

type VolumeActionDetachVolumeResponse struct {
	Action Action `json:"action"`
}

VolumeActionDetachVolumeResponse defines the schema of the response when creating an detach volume action.

type VolumeActionResizeVolumeRequest

type VolumeActionResizeVolumeRequest struct {
	Size int `json:"size"`
}

VolumeActionResizeVolumeRequest defines the schema of the request to resize a volume.

type VolumeActionResizeVolumeResponse

type VolumeActionResizeVolumeResponse struct {
	Action Action `json:"action"`
}

VolumeActionResizeVolumeResponse defines the schema of the response when resizing a volume.

type VolumeCreateRequest

type VolumeCreateRequest struct {
	Name      string             `json:"name"`
	Size      int                `json:"size"`
	Server    *int64             `json:"server,omitempty"`
	Location  interface{}        `json:"location,omitempty"` // int, string, or nil
	Labels    *map[string]string `json:"labels,omitempty"`
	Automount *bool              `json:"automount,omitempty"`
	Format    *string            `json:"format,omitempty"`
}

VolumeCreateRequest defines the schema of the request to create a volume.

type VolumeCreateResponse

type VolumeCreateResponse struct {
	Volume      Volume   `json:"volume"`
	Action      *Action  `json:"action"`
	NextActions []Action `json:"next_actions"`
}

VolumeCreateResponse defines the schema of the response when creating a volume.

type VolumeGetResponse

type VolumeGetResponse struct {
	Volume Volume `json:"volume"`
}

VolumeGetResponse defines the schema of the response when retrieving a single volume.

type VolumeListResponse

type VolumeListResponse struct {
	Volumes []Volume `json:"volumes"`
}

VolumeListResponse defines the schema of the response when listing volumes.

type VolumeProtection

type VolumeProtection struct {
	Delete bool `json:"delete"`
}

VolumeProtection defines the schema of a volume's resource protection.

type VolumeUpdateRequest

type VolumeUpdateRequest struct {
	Name   string             `json:"name,omitempty"`
	Labels *map[string]string `json:"labels,omitempty"`
}

VolumeUpdateRequest defines the schema of the request to update a volume.

type VolumeUpdateResponse

type VolumeUpdateResponse struct {
	Volume Volume `json:"volume"`
}

VolumeUpdateResponse defines the schema of the response when updating a volume.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL