schema

package
v1.59.1 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2024 License: MIT Imports: 2 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Action

type Action struct {
	ID        int                       `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   int    `json:"id"`
	Type string `json:"type"`
}

ActionResourceReference defines the schema of an action resource reference.

type Certificate added in v1.18.0

type Certificate struct {
	ID             int                    `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 added in v1.18.0

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 added in v1.18.0

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

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

type CertificateGetResponse added in v1.18.0

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

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

type CertificateIssuanceRetryResponse added in v1.25.0

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

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

type CertificateListResponse added in v1.18.0

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

CertificateListResponse defines the schema of the response when listing Certificates.

type CertificateStatusRef added in v1.25.0

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

type CertificateUpdateRequest added in v1.18.0

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 added in v1.18.0

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

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

type CertificateUsedByRef added in v1.25.0

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

CertificateUsedByRef defines the schema of a resource using a certificate.

type Datacenter

type Datacenter struct {
	ID          int      `json:"id"`
	Name        string   `json:"name"`
	Description string   `json:"description"`
	Location    Location `json:"location"`
	ServerTypes struct {
		Supported []int `json:"supported"`
		Available []int `json:"available"`
	} `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 DeprecatableResource added in v1.46.0

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

type DeprecationInfo added in v1.46.0

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 added in v1.24.0

type Firewall struct {
	ID        int                `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 added in v1.24.0

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

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

type FirewallActionApplyToResourcesResponse added in v1.24.0

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

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

type FirewallActionRemoveFromResourcesRequest added in v1.24.0

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

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

type FirewallActionRemoveFromResourcesResponse added in v1.24.0

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

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

type FirewallActionSetRulesRequest added in v1.24.0

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

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

type FirewallActionSetRulesResponse added in v1.24.0

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

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

type FirewallCreateRequest added in v1.24.0

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 added in v1.24.0

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

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

type FirewallGetResponse added in v1.24.0

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

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

type FirewallListResponse added in v1.24.0

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

FirewallListResponse defines the schema of the response when listing Firewalls.

type FirewallResource added in v1.24.0

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 added in v1.26.0

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

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

type FirewallResourceServer added in v1.24.0

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

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

type FirewallRule added in v1.24.0

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 v1.54.1

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 added in v1.24.0

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 added in v1.24.0

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

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

type FloatingIP

type FloatingIP struct {
	ID           int                  `json:"id"`
	Description  *string              `json:"description"`
	Created      time.Time            `json:"created"`
	IP           string               `json:"ip"`
	Type         string               `json:"type"`
	Server       *int                 `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 int `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 added in v1.6.0

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 added in v1.6.0

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       *int               `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 added in v1.6.0

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           int       `json:"id"`
	Name         string    `json:"name"`
	Description  string    `json:"description"`
	Type         string    `json:"type"`
	Architecture *string   `json:"architecture"`
	Deprecated   time.Time `json:"deprecated"`
	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           int               `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      *int              `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 added in v1.6.0

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 added in v1.6.0

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   int    `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 added in v1.6.0

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 added in v1.18.0

type LoadBalancer struct {
	ID               int                      `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 added in v1.18.0

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 added in v1.18.0

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

type LoadBalancerActionAddServiceRequestHealthCheck added in v1.18.0

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 added in v1.18.0

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 added in v1.18.0

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

type LoadBalancerActionAddTargetRequest added in v1.18.0

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 added in v1.20.0

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

type LoadBalancerActionAddTargetRequestLabelSelector added in v1.20.0

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

type LoadBalancerActionAddTargetRequestServer added in v1.18.0

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

type LoadBalancerActionAddTargetResponse added in v1.18.0

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

type LoadBalancerActionAttachToNetworkRequest added in v1.18.0

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

type LoadBalancerActionAttachToNetworkResponse added in v1.18.0

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

type LoadBalancerActionChangeAlgorithmRequest added in v1.18.0

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

type LoadBalancerActionChangeAlgorithmResponse added in v1.18.0

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

type LoadBalancerActionChangeDNSPtrRequest added in v1.31.0

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 added in v1.31.0

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 added in v1.18.0

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

type LoadBalancerActionChangeProtectionResponse added in v1.18.0

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

type LoadBalancerActionChangeTypeRequest added in v1.19.0

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

type LoadBalancerActionChangeTypeResponse added in v1.19.0

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

type LoadBalancerActionDetachFromNetworkRequest added in v1.18.0

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

type LoadBalancerActionDetachFromNetworkResponse added in v1.18.0

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

type LoadBalancerActionDisablePublicInterfaceRequest added in v1.18.0

type LoadBalancerActionDisablePublicInterfaceRequest struct{}

type LoadBalancerActionDisablePublicInterfaceResponse added in v1.18.0

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

type LoadBalancerActionEnablePublicInterfaceRequest added in v1.18.0

type LoadBalancerActionEnablePublicInterfaceRequest struct{}

type LoadBalancerActionEnablePublicInterfaceResponse added in v1.18.0

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

type LoadBalancerActionRemoveTargetRequest added in v1.18.0

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 added in v1.20.0

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

type LoadBalancerActionRemoveTargetRequestLabelSelector added in v1.20.0

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

type LoadBalancerActionRemoveTargetRequestServer added in v1.18.0

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

type LoadBalancerActionRemoveTargetResponse added in v1.18.0

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

type LoadBalancerActionUpdateServiceRequest added in v1.18.0

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 added in v1.18.0

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

type LoadBalancerActionUpdateServiceRequestHealthCheck added in v1.18.0

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 added in v1.18.0

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 added in v1.18.0

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

type LoadBalancerAlgorithm added in v1.18.0

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

type LoadBalancerCreateRequest added in v1.18.0

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          *int                                `json:"network,omitempty"`
}

type LoadBalancerCreateRequestAlgorithm added in v1.18.0

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

type LoadBalancerCreateRequestService added in v1.18.0

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 added in v1.18.0

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

type LoadBalancerCreateRequestServiceHealthCheck added in v1.18.0

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 added in v1.18.0

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 added in v1.18.0

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 added in v1.20.0

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

type LoadBalancerCreateRequestTargetLabelSelector added in v1.20.0

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

type LoadBalancerCreateRequestTargetServer added in v1.18.0

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

type LoadBalancerCreateResponse added in v1.18.0

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

type LoadBalancerDeleteServiceRequest added in v1.18.0

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

type LoadBalancerDeleteServiceResponse added in v1.18.0

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

type LoadBalancerGetMetricsResponse added in v1.23.0

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 added in v1.18.0

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

type LoadBalancerListResponse added in v1.18.0

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

type LoadBalancerPrivateNet added in v1.18.0

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

type LoadBalancerProtection added in v1.18.0

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

type LoadBalancerPublicNet added in v1.18.0

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

type LoadBalancerPublicNetIPv4 added in v1.18.0

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

type LoadBalancerPublicNetIPv6 added in v1.18.0

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

type LoadBalancerService added in v1.18.0

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 added in v1.18.0

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

type LoadBalancerServiceHealthCheck added in v1.18.0

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 added in v1.18.0

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 added in v1.18.0

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 added in v1.18.0

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

type LoadBalancerTargetIP added in v1.20.0

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

type LoadBalancerTargetLabelSelector added in v1.20.0

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

type LoadBalancerTargetServer added in v1.18.0

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

type LoadBalancerTimeSeriesVals added in v1.23.0

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

LoadBalancerTimeSeriesVals contains the values for a Load Balancer time series.

type LoadBalancerType added in v1.18.0

type LoadBalancerType struct {
	ID                      int                            `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"`
}

LoadBalancerType defines the schema of a LoadBalancer type.

type LoadBalancerTypeGetResponse added in v1.18.0

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

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

type LoadBalancerTypeListResponse added in v1.18.0

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

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

type LoadBalancerUpdateRequest added in v1.18.0

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

type LoadBalancerUpdateResponse added in v1.18.0

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

type Location

type Location struct {
	ID          int     `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 added in v1.14.0

type Network struct {
	ID                    int               `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               []int             `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 added in v1.14.0

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 added in v1.14.0

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

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

type NetworkActionAddSubnetRequest added in v1.14.0

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

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

type NetworkActionAddSubnetResponse added in v1.14.0

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

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

type NetworkActionChangeIPRangeRequest added in v1.14.0

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 added in v1.14.0

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

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

type NetworkActionChangeProtectionRequest added in v1.14.0

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 added in v1.14.0

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

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

type NetworkActionDeleteRouteRequest added in v1.14.0

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 added in v1.14.0

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

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

type NetworkActionDeleteSubnetRequest added in v1.14.0

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

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

type NetworkActionDeleteSubnetResponse added in v1.14.0

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

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

type NetworkCreateRequest added in v1.14.0

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 added in v1.14.0

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

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

type NetworkGetResponse added in v1.14.0

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

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

type NetworkListResponse added in v1.14.0

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

NetworkListResponse defines the schema of the response when listing networks.

type NetworkProtection added in v1.14.0

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

NetworkProtection represents the protection level of a network.

type NetworkRoute added in v1.14.0

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

NetworkRoute represents a route of a network.

type NetworkSubnet added in v1.14.0

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

NetworkSubnet represents a subnet of a network.

type NetworkUpdateRequest added in v1.14.0

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 added in v1.14.0

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

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

type PlacementGroup added in v1.30.0

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

type PlacementGroupCreateRequest added in v1.30.0

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

type PlacementGroupCreateResponse added in v1.30.0

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

type PlacementGroupGetResponse added in v1.30.0

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

type PlacementGroupListResponse added in v1.30.0

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

type PlacementGroupUpdateRequest added in v1.30.0

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

type PlacementGroupUpdateResponse added in v1.30.0

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"`
	// Deprecated: [Pricing.Traffic] is deprecated and will report 0 after 2024-08-05.
	// Use traffic pricing from [Pricing.ServerTypes] or [Pricing.LoadBalancerTypes] instead.
	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 added in v1.30.0

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 added in v1.30.0

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 added in v1.18.0

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

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

type PricingLoadBalancerTypePrice added in v1.18.0

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

	IncludedTraffic   uint64 `json:"included_traffic"`
	PricePerTBTraffic Price  `json:"price_per_tb_traffic"`
}

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

type PricingPrimaryIP added in v1.35.0

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 added in v1.35.0

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     int                      `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"`

	IncludedTraffic   uint64 `json:"included_traffic"`
	PricePerTBTraffic Price  `json:"price_per_tb_traffic"`
}

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 added in v1.24.0

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

PricingVolume defines the schema of pricing information for a Volume.

type PrimaryIP added in v1.35.0

type PrimaryIP struct {
	ID           int                 `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   int                 `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 added in v1.43.0

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 added in v1.35.0

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 added in v1.35.0

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 added in v1.35.0

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

PrimaryIPGetResult defines the response when retrieving a single Primary IP.

type PrimaryIPListResult added in v1.35.0

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

PrimaryIPListResult defines the response when listing Primary IPs.

type PrimaryIPProtection added in v1.35.0

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

PrimaryIPProtection represents the protection level of a Primary IP.

type PrimaryIPUpdateResult added in v1.37.0

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

PrimaryIPUpdateResult defines the response when updating a Primary IP.

type SSHKey

type SSHKey struct {
	ID          int               `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              int                `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         []int              `json:"volumes"`
	PrimaryDiskSize int                `json:"primary_disk_size"`
	PlacementGroup  *PlacementGroup    `json:"placement_group"`
}

Server defines the schema of a server.

type ServerActionAddToPlacementGroupRequest added in v1.30.0

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

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

type ServerActionAddToPlacementGroupResponse added in v1.30.0

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 added in v1.14.0

type ServerActionAttachToNetworkRequest struct {
	Network  int       `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 added in v1.14.0

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

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

type ServerActionChangeAliasIPsRequest added in v1.14.0

type ServerActionChangeAliasIPsRequest struct {
	Network  int      `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 added in v1.14.0

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 added in v1.6.0

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 added in v1.6.0

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 added in v1.14.0

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

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

type ServerActionDetachFromNetworkResponse added in v1.14.0

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 []int   `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 added in v1.30.0

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 added in v1.18.0

type ServerActionRequestConsoleRequest struct{}

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

type ServerActionRequestConsoleResponse added in v1.18.0

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 added in v1.24.0

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

ServerCreateFirewalls defines which Firewalls to apply when creating a Server.

type ServerCreatePublicNet added in v1.35.0

type ServerCreatePublicNet struct {
	EnableIPv4 bool `json:"enable_ipv4"`
	EnableIPv6 bool `json:"enable_ipv6"`
	IPv4ID     int  `json:"ipv4,omitempty"`
	IPv6ID     int  `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          []int                   `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          []int                   `json:"volumes,omitempty"`
	Networks         []int                   `json:"networks,omitempty"`
	Firewalls        []ServerCreateFirewalls `json:"firewalls,omitempty"`
	PlacementGroup   int                     `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 added in v1.36.0

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

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

type ServerFirewall added in v1.24.0

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

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

type ServerGetMetricsResponse added in v1.23.0

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 added in v1.14.0

type ServerPrivateNet struct {
	Network    int      `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 added in v1.6.0

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 []int               `json:"floating_ips"`
	Firewalls   []ServerFirewall    `json:"firewalls"`
}

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

type ServerPublicNetIPv4

type ServerPublicNetIPv4 struct {
	ID      int    `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      int                         `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 added in v1.23.0

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

ServerTimeSeriesVals contains the values for a Server time series.

type ServerType

type ServerType struct {
	ID           int     `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"`

	// Deprecated: [ServerType.IncludedTraffic] is deprecated and will always report 0 after 2024-08-05.
	// Use [ServerType.Prices] instead to get the included traffic for each location.
	IncludedTraffic int64                    `json:"included_traffic"`
	Prices          []PricingServerTypePrice `json:"prices"`
	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 added in v1.10.0

type Volume struct {
	ID          int               `json:"id"`
	Name        string            `json:"name"`
	Server      *int              `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 added in v1.10.0

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

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

type VolumeActionAttachVolumeResponse added in v1.10.0

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

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

type VolumeActionChangeProtectionRequest added in v1.10.0

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 added in v1.10.0

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

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

type VolumeActionDetachVolumeRequest added in v1.10.0

type VolumeActionDetachVolumeRequest struct{}

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

type VolumeActionDetachVolumeResponse added in v1.10.0

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

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

type VolumeActionResizeVolumeRequest added in v1.10.0

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

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

type VolumeActionResizeVolumeResponse added in v1.10.0

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

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

type VolumeCreateRequest added in v1.10.0

type VolumeCreateRequest struct {
	Name      string             `json:"name"`
	Size      int                `json:"size"`
	Server    *int               `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 added in v1.10.0

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 added in v1.10.0

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

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

type VolumeListResponse added in v1.10.0

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

VolumeListResponse defines the schema of the response when listing volumes.

type VolumeProtection added in v1.10.0

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

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

type VolumeUpdateRequest added in v1.10.0

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 added in v1.10.0

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