ecloud

package
v1.20.4 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

Functions

This section is empty.

Types

type ActiveDirectoryDomain

type ActiveDirectoryDomain struct {
	ID   int    `json:"id"`
	Name string `json:"name"`
}

ActiveDirectoryDomain represents an eCloud active directory domain

type ActiveDirectoryDomainNotFoundError

type ActiveDirectoryDomainNotFoundError struct {
	ID int
}

ActiveDirectoryDomainNotFoundError indicates an Active Directory Domain was not found

func (*ActiveDirectoryDomainNotFoundError) Error

type AffinityRule

type AffinityRule struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	VPCID              string              `json:"vpc_id"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	Type               AffinityRuleType    `json:"type"`
	Sync               ResourceSync        `json:"sync"`
	Task               ResourceTask        `json:"task"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

AffinityRule represents an eCloud Affinity or Anti-Affinity Rule

type AffinityRuleMember

type AffinityRuleMember struct {
	ID             string              `json:"id"`
	AffinityRuleID string              `json:"affinity_rule_id"`
	InstanceID     string              `json:"instance_id"`
	Sync           ResourceSync        `json:"sync"`
	Task           ResourceTask        `json:"task"`
	CreatedAt      connection.DateTime `json:"created_at"`
	UpdatedAt      connection.DateTime `json:"updated_at"`
}

AffinityRuleMember represents an eCloud Affinity or Anti-Affinity rule member

type AffinityRuleMemberNotFoundError

type AffinityRuleMemberNotFoundError struct {
	ID string
}

AffinityRuleMemberNotFoundError indicates an affinity rule member was not found

func (*AffinityRuleMemberNotFoundError) Error

type AffinityRuleNotFoundError

type AffinityRuleNotFoundError struct {
	ID string
}

AffinityRuleNotFoundError indicates an affinity rule was not found

func (*AffinityRuleNotFoundError) Error

func (e *AffinityRuleNotFoundError) Error() string

type AffinityRuleType

type AffinityRuleType string
const (
	Affinity     AffinityRuleType = "affinity"
	AntiAffinity AffinityRuleType = "anti-affinity"
)

func (AffinityRuleType) String

func (s AffinityRuleType) String() string

type Appliance

type Appliance struct {
	ID               string              `json:"id"`
	Name             string              `json:"name"`
	LogoURI          string              `json:"logo_uri"`
	Description      string              `json:"description"`
	DocumentationURI string              `json:"documentation_uri"`
	Publisher        string              `json:"publisher"`
	CreatedAt        connection.DateTime `json:"created_at"`
}

Appliance represents an eCloud appliance

type ApplianceNotFoundError

type ApplianceNotFoundError struct {
	ID string
}

ApplianceNotFoundError indicates an appliance was not found within eCloud

func (*ApplianceNotFoundError) Error

func (e *ApplianceNotFoundError) Error() string

type ApplianceParameter

type ApplianceParameter struct {
	ID             string `json:"id"`
	Name           string `json:"name"`
	Key            string `json:"key"`
	Type           string `json:"type"`
	Description    string `json:"description"`
	Required       bool   `json:"required"`
	ValidationRule string `json:"validation_rule"`
}

ApplianceParameter represents an eCloud appliance parameter

type AssignFloatingIPRequest

type AssignFloatingIPRequest struct {
	ResourceID string `json:"resource_id"`
}

AssignFloatingIPRequest represents a request to assign a floating IP to a resource

type AssignIPAddressRequest

type AssignIPAddressRequest struct {
	IPAddressID string `json:"ip_address_id"`
}

AssignIPAddressRequest represents a request to assign an IP Address to a NIC

type AttachDetachInstanceVolumeRequest

type AttachDetachInstanceVolumeRequest struct {
	VolumeID string `json:"volume_id"`
}

AttachDetachInstanceVolumeRequest represents a request to attach / detach a volume to/from an instance

type AvailabilityZone

type AvailabilityZone struct {
	ID               string `json:"id"`
	Code             string `json:"code"`
	Name             string `json:"name"`
	DatacentreSiteID int    `json:"datacentre_site_id"`
	RegionID         string `json:"region_id"`
}

AvailabilityZone represents an eCloud availability zone

type AvailabilityZoneNotFoundError

type AvailabilityZoneNotFoundError struct {
	ID string
}

AvailabilityZoneNotFoundError indicates a VPC was not found

func (*AvailabilityZoneNotFoundError) Error

type BillingMetric

type BillingMetric struct {
	ID         string              `json:"id"`
	ResourceID string              `json:"resource_id"`
	VPCID      string              `json:"vpc_id"`
	Key        string              `json:"key"`
	Value      string              `json:"value"`
	Start      connection.DateTime `json:"start"`
	End        connection.DateTime `json:"end"`
	CreatedAt  connection.DateTime `json:"created_at"`
	UpdatedAt  connection.DateTime `json:"updated_at"`
}

BillingMetric represents an eCloud billing metric

type BillingMetricNotFoundError

type BillingMetricNotFoundError struct {
	ID string
}

BillingMetricNotFoundError indicates a billing metric was not found

func (*BillingMetricNotFoundError) Error

type CloneVirtualMachineRequest

type CloneVirtualMachineRequest struct {
	connection.APIRequestBodyDefaultValidator

	Name string `json:"name" validate:"required"`
}

CloneVirtualMachineRequest represents a request to clone an eCloud virtual machine

func (*CloneVirtualMachineRequest) Validate

Validate returns an error if struct properties are missing/invalid

type ConsoleSession

type ConsoleSession struct {
	URL string `json:"url"`
}

ConsoleSession represents an eCloud Virtual Machine console session

type CreateAffinityRuleMemberRequest

type CreateAffinityRuleMemberRequest struct {
	InstanceID     string `json:"instance_id"`
	AffinityRuleID string `json:"affinity_rule_id"`
}

CreateAffinityRuleMemberRequest represents a request to create an Affinity Rule Member

type CreateAffinityRuleRequest

type CreateAffinityRuleRequest struct {
	Name               string           `json:"name,omitempty"`
	VPCID              string           `json:"vpc_id"`
	AvailabilityZoneID string           `json:"availability_zone_id"`
	Type               AffinityRuleType `json:"type"`
}

CreateAffinityRuleRequest represents a request to create an Affinity Rule

type CreateFirewallPolicyRequest

type CreateFirewallPolicyRequest struct {
	RouterID string `json:"router_id"`
	Name     string `json:"name,omitempty"`
	Sequence int    `json:"sequence"`
}

CreateFirewallPolicyRequest represents a request to create a firewall policy

type CreateFirewallRulePortRequest

type CreateFirewallRulePortRequest struct {
	Name           string                   `json:"name,omitempty"`
	FirewallRuleID string                   `json:"firewall_rule_id"`
	Protocol       FirewallRulePortProtocol `json:"protocol"`
	Source         string                   `json:"source,omitempty"`
	Destination    string                   `json:"destination,omitempty"`
}

CreateFirewallRulePortRequest represents a request to create a firewall rule port

type CreateFirewallRuleRequest

type CreateFirewallRuleRequest struct {
	Name             string                          `json:"name,omitempty"`
	FirewallPolicyID string                          `json:"firewall_policy_id"`
	Sequence         int                             `json:"sequence"`
	Source           string                          `json:"source"`
	Destination      string                          `json:"destination"`
	Ports            []CreateFirewallRulePortRequest `json:"ports,omitempty"`
	Action           FirewallRuleAction              `json:"action"`
	Direction        FirewallRuleDirection           `json:"direction"`
	Enabled          bool                            `json:"enabled"`
}

CreateFirewallRuleRequest represents a request to create a firewall rule

type CreateFloatingIPRequest

type CreateFloatingIPRequest struct {
	Name               string `json:"name,omitempty"`
	VPCID              string `json:"vpc_id"`
	AvailabilityZoneID string `json:"availability_zone_id"`
}

CreateFloatingIPRequest represents a request to create a floating IP

type CreateHostGroupRequest

type CreateHostGroupRequest struct {
	Name               string `json:"name,omitempty"`
	VPCID              string `json:"vpc_id"`
	AvailabilityZoneID string `json:"availability_zone_id"`
	HostSpecID         string `json:"host_spec_id"`
	WindowsEnabled     bool   `json:"windows_enabled"`
}

CreateHostGroupRequest represents a request to create a host group

type CreateHostRequest

type CreateHostRequest struct {
	Name        string `json:"name,omitempty"`
	HostGroupID string `json:"host_group_id"`
}

CreateHostRequest represents a request to create a host

type CreateIPAddressRequest

type CreateIPAddressRequest struct {
	Name      string               `json:"name,omitempty"`
	IPAddress connection.IPAddress `json:"ip_address,omitempty"`
	NetworkID string               `json:"network_id"`
}

CreateIPAddressRequest represents a request to create a network IP Address

type CreateInstanceImageRequest added in v1.10.0

type CreateInstanceImageRequest struct {
	Name string `json:"name,omitempty"`
}

CreateInstanceImageRequest represents a request to create an instance image

type CreateInstanceRequest

type CreateInstanceRequest struct {
	Name               string                 `json:"name,omitempty"`
	VPCID              string                 `json:"vpc_id"`
	ImageID            string                 `json:"image_id"`
	ImageData          map[string]interface{} `json:"image_data"`
	VCPUCores          int                    `json:"vcpu_cores,omitempty"`
	VCPUSockets        int                    `json:"vcpu_sockets,omitempty"`
	VCPUCoresPerSocket int                    `json:"vcpu_cores_per_socket,omitempty"`
	RAMCapacity        int                    `json:"ram_capacity"`
	Locked             bool                   `json:"locked"`
	VolumeCapacity     int                    `json:"volume_capacity"`
	VolumeIOPS         int                    `json:"volume_iops,omitempty"`
	BackupEnabled      bool                   `json:"backup_enabled"`
	IsEncrypted        bool                   `json:"is_encrypted"`
	NetworkID          string                 `json:"network_id,omitempty"`
	FloatingIPID       string                 `json:"floating_ip_id,omitempty"`
	RequiresFloatingIP bool                   `json:"requires_floating_ip,omitempty"`
	UserScript         string                 `json:"user_script,omitempty"`
	SSHKeyPairIDs      []string               `json:"ssh_key_pair_ids,omitempty"`
	HostGroupID        string                 `json:"host_group_id,omitempty"`
	ResourceTierID     string                 `json:"resource_tier_id,omitempty"`
	CustomIPAddress    connection.IPAddress   `json:"custom_ip_address,omitempty"`
}

CreateInstanceRequest represents a request to create an instance

type CreateLoadBalancerClusterRequest

type CreateLoadBalancerClusterRequest struct {
	Name               string `json:"name,omitempty"`
	VPCID              string `json:"vpc_id"`
	AvailabilityZoneID string `json:"availability_zone_id"`
	Nodes              int    `json:"nodes"`
}

CreateLoadBalancerClusterRequest represents a request to create a load balancer cluster

type CreateLoadBalancerRequest

type CreateLoadBalancerRequest struct {
	Name               string `json:"name,omitempty"`
	AvailabilityZoneID string `json:"availability_zone_id"`
	VPCID              string `json:"vpc_id"`
	LoadBalancerSpecID string `json:"load_balancer_spec_id"`
	NetworkID          string `json:"network_id"`
}

CreateLoadBalancerRequest represents a request to create a load balancer

type CreateNATOverloadRuleRequest added in v1.15.0

type CreateNATOverloadRuleRequest struct {
	Name         string                `json:"name,omitempty"`
	NetworkID    string                `json:"network_id"`
	FloatingIPID string                `json:"floating_ip_id"`
	Subnet       string                `json:"subnet"`
	Action       NATOverloadRuleAction `json:"action"`
}

NATOverloadRule represents an eCloud NAT overload rule

type CreateNetworkPolicyRequest

type CreateNetworkPolicyRequest struct {
	Name               string                          `json:"name,omitempty"`
	NetworkID          string                          `json:"network_id"`
	CatchallRuleAction NetworkPolicyCatchallRuleAction `json:"catchall_rule_action,omitempty"`
}

CreateNetworkPolicyRequest represents a request to create a network policy

type CreateNetworkRequest

type CreateNetworkRequest struct {
	Name     string `json:"name,omitempty"`
	RouterID string `json:"router_id"`
	Subnet   string `json:"subnet"`
}

CreateNetworkRequest represents a request to create a network

type CreateNetworkRulePortRequest

type CreateNetworkRulePortRequest struct {
	Name          string                  `json:"name,omitempty"`
	NetworkRuleID string                  `json:"network_rule_id"`
	Protocol      NetworkRulePortProtocol `json:"protocol"`
	Source        string                  `json:"source,omitempty"`
	Destination   string                  `json:"destination,omitempty"`
}

CreateNetworkRulePortRequest represents a request to create a network rule port

type CreateNetworkRuleRequest

type CreateNetworkRuleRequest struct {
	Name            string                         `json:"name,omitempty"`
	NetworkPolicyID string                         `json:"network_policy_id"`
	Sequence        int                            `json:"sequence"`
	Source          string                         `json:"source"`
	Destination     string                         `json:"destination"`
	Ports           []CreateNetworkRulePortRequest `json:"ports,omitempty"`
	Action          NetworkRuleAction              `json:"action"`
	Direction       NetworkRuleDirection           `json:"direction"`
	Enabled         bool                           `json:"enabled"`
}

CreateNetworkRuleRequest represents a request to create a network rule

type CreateRouterRequest

type CreateRouterRequest struct {
	Name               string `json:"name,omitempty"`
	VPCID              string `json:"vpc_id"`
	AvailabilityZoneID string `json:"availability_zone_id"`
	RouterThroughputID string `json:"router_throughput_id,omitempty"`
}

CreateRouterRequest represents a request to create a router

type CreateSSHKeyPairRequest

type CreateSSHKeyPairRequest struct {
	Name      string `json:"name,omitempty"`
	PublicKey string `json:"public_key"`
}

CreateSSHKeyPairRequest represents a request to create a SSH key pair

type CreateTagRequest

type CreateTagRequest struct {
	connection.APIRequestBodyDefaultValidator

	Key   string `json:"key" validate:"required"`
	Value string `json:"value" validate:"required"`
}

CreateTagRequest represents a request to create an eCloud tag

func (*CreateTagRequest) Validate

Validate returns an error if struct properties are missing/invalid

type CreateVIPRequest

type CreateVIPRequest struct {
	Name               string `json:"name,omitempty"`
	LoadBalancerID     string `json:"load_balancer_id"`
	AllocateFloatingIP bool   `json:"allocate_floating_ip"`
}

CreateVIPRequest represents a request to create a load balancer VIP

type CreateVPCRequest

type CreateVPCRequest struct {
	Name               string `json:"name,omitempty"`
	RegionID           string `json:"region_id"`
	ClientID           int    `json:"client_id,omitempty"`
	AdvancedNetworking *bool  `json:"advanced_networking,omitempty"`
}

CreateVPCRequest represents a request to create a VPC

type CreateVPNEndpointRequest

type CreateVPNEndpointRequest struct {
	Name         string `json:"name,omitempty"`
	VPNServiceID string `json:"vpn_service_id"`
	FloatingIPID string `json:"floating_ip_id,omitempty"`
}

CreateVPNEndpointRequest represents a request to create a VPN endpoint

type CreateVPNRequest

type CreateVPNRequest struct {
	RouterID string `json:"router_id"`
}

CreateVPNRequest represents a request to create a VPN

type CreateVPNServiceRequest

type CreateVPNServiceRequest struct {
	Name     string `json:"name,omitempty"`
	RouterID string `json:"router_id"`
}

CreateVPNServiceRequest represents a request to create a VPN service

type CreateVPNSessionRequest

type CreateVPNSessionRequest struct {
	Name              string               `json:"name,omitempty"`
	VPNProfileGroupID string               `json:"vpn_profile_group_id"`
	VPNServiceID      string               `json:"vpn_service_id"`
	VPNEndpointID     string               `json:"vpn_endpoint_id"`
	RemoteIP          connection.IPAddress `json:"remote_ip"`
	RemoteNetworks    string               `json:"remote_networks,omitempty"`
	LocalNetworks     string               `json:"local_networks,omitempty"`
}

CreateVPNSessionRequest represents a request to create a VPN session

type CreateVirtualMachineRequest

type CreateVirtualMachineRequest struct {
	connection.APIRequestBodyDefaultValidator

	Environment      string `json:"environment" validate:"required"`
	Template         string `json:"template,omitempty"`
	ApplianceID      string `json:"appliance_id,omitempty"`
	TemplatePassword string `json:"template_password,omitempty"`
	// Count in Cores
	CPU int `json:"cpu" validate:"required"`
	// Size in GB
	RAM int `json:"ram" validate:"required"`
	// Size in GB
	HDD                     int                                    `json:"hdd,omitempty"`
	Disks                   []CreateVirtualMachineRequestDisk      `json:"hdd_disks,omitempty"`
	Name                    string                                 `json:"name,omitempty"`
	ComputerName            string                                 `json:"computername,omitempty"`
	Tags                    []CreateTagRequest                     `json:"tags,omitempty"`
	Backup                  bool                                   `json:"backup"`
	Support                 bool                                   `json:"support"`
	Monitoring              bool                                   `json:"monitoring"`
	MonitoringContacts      []int                                  `json:"monitoring_contacts"`
	SolutionID              int                                    `json:"solution_id,omitempty"`
	DatastoreID             int                                    `json:"datastore_id,omitempty"`
	SiteID                  int                                    `json:"site_id,omitempty"`
	NetworkID               int                                    `json:"network_id,omitempty"`
	ExternalIPRequired      bool                                   `json:"external_ip_required"`
	SSHKeys                 []string                               `json:"ssh_keys,omitempty"`
	Parameters              []CreateVirtualMachineRequestParameter `json:"parameters,omitempty"`
	Encrypt                 *bool                                  `json:"encrypt,omitempty"`
	Role                    string                                 `json:"role,omitempty"`
	BootstrapScript         string                                 `json:"bootstrap_script,omitempty"`
	ActiveDirectoryDomainID int                                    `json:"ad_domain_id,omitempty"`
	PodID                   int                                    `json:"pod_id,omitempty"`
}

CreateVirtualMachineRequest represents a request to create an eCloud virtual machine

func (*CreateVirtualMachineRequest) Validate

Validate returns an error if struct properties are missing/invalid

type CreateVirtualMachineRequestDisk

type CreateVirtualMachineRequestDisk struct {
	Name string `json:"name,omitempty"`
	// Size in GB
	Capacity int `json:"capacity" validate:"required"`
}

CreateVirtualMachineRequestDisk represents a request to create an eCloud virtual machine disk

type CreateVirtualMachineRequestParameter

type CreateVirtualMachineRequestParameter struct {
	connection.APIRequestBodyDefaultValidator

	Key   string `json:"key" validate:"required"`
	Value string `json:"value" validate:"required"`
}

CreateVirtualMachineRequestParameter represents an eCloud virtual machine parameter

type CreateVirtualMachineTemplateRequest

type CreateVirtualMachineTemplateRequest struct {
	connection.APIRequestBodyDefaultValidator

	TemplateName string       `json:"template_name" validate:"required"`
	TemplateType TemplateType `json:"template_type"`
}

CreateVirtualMachineTemplateRequest represents a request to clone an eCloud virtual machine template

func (*CreateVirtualMachineTemplateRequest) Validate

Validate returns an error if struct properties are missing/invalid

type CreateVolumeGroupRequest

type CreateVolumeGroupRequest struct {
	Name               string `json:"name,omitempty"`
	VPCID              string `json:"vpc_id"`
	AvailabilityZoneID string `json:"availability_zone_id"`
}

CreateVolumeGroupRequest represents a request to create a volume group

type CreateVolumeRequest

type CreateVolumeRequest struct {
	Name               string `json:"name,omitempty"`
	VPCID              string `json:"vpc_id"`
	Capacity           int    `json:"capacity"`
	IOPS               int    `json:"iops,omitempty"`
	AvailabilityZoneID string `json:"availability_zone_id"`
	VolumeGroupID      string `json:"volume_group_id,omitempty"`
	IsShared           bool   `json:"is_shared,omitempty"`
}

CreateVolumeRequest represents a request to create a volume

type Credential

type Credential struct {
	ID         string              `json:"id"`
	Name       string              `json:"name"`
	ResourceID string              `json:"resource_id"`
	Host       string              `json:"host"`
	Username   string              `json:"username"`
	Password   string              `json:"password"`
	Port       int                 `json:"port"`
	CreatedAt  connection.DateTime `json:"created_at"`
	UpdatedAt  connection.DateTime `json:"updated_at"`
}

Credential represents an eCloud credential

type DHCP

type DHCP struct {
	ID                 string              `json:"id"`
	VPCID              string              `json:"vpc_id"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

DHCP represents an eCloud DHCP server/policy

type DHCPNotFoundError

type DHCPNotFoundError struct {
	ID string
}

DHCPNotFoundError indicates a DHCP server/config was not found

func (*DHCPNotFoundError) Error

func (e *DHCPNotFoundError) Error() string

type Datastore

type Datastore struct {
	ID         int             `json:"id"`
	SolutionID int             `json:"solution_id"`
	SiteID     int             `json:"site_id"`
	Name       string          `json:"name"`
	Status     DatastoreStatus `json:"status"`
	// Size in GB
	Capacity int `json:"capacity"`
	// Size in GB
	Allocated int `json:"allocated"`
	// Size in GB
	Available int `json:"available"`
}

Datastore represents an eCloud datastore

type DatastoreNotFoundError

type DatastoreNotFoundError struct {
	ID int
}

DatastoreNotFoundError indicates a datastore was not found within eCloud

func (*DatastoreNotFoundError) Error

func (e *DatastoreNotFoundError) Error() string

type DatastoreStatus

type DatastoreStatus string
const (
	DatastoreStatusCompleted DatastoreStatus = "Completed"
	DatastoreStatusFailed    DatastoreStatus = "Failed"
	DatastoreStatusExpanding DatastoreStatus = "Expanding"
	DatastoreStatusQueued    DatastoreStatus = "Queued"
)

type DiscountPlan

type DiscountPlan struct {
	ID                       string              `json:"id"`
	ResellerID               int                 `json:"reseller_id"`
	ContactID                int                 `json:"contact_id"`
	Name                     string              `json:"name"`
	CommitmentAmount         float32             `json:"commitment_amount"`
	CommitmentBeforeDiscount float32             `json:"commitment_before_discount"`
	DiscountRate             float32             `json:"discount_rate"`
	TermLength               int                 `json:"term_length"`
	TermStartDate            connection.DateTime `json:"term_start_date"`
	TermEndDate              connection.DateTime `json:"term_end_date"`
	Status                   string              `json:"status"`
	ResponseDate             connection.DateTime `json:"response_date"`
	CreatedAt                connection.DateTime `json:"created_at"`
	UpdatedAt                connection.DateTime `json:"updated_at"`
}

DiscountPlan represents an eCloud discount plan

type DiscountPlanNotFoundError

type DiscountPlanNotFoundError struct {
	ID string
}

DiscountPlanNotFoundError indicates a discount plan was not found

func (*DiscountPlanNotFoundError) Error

func (e *DiscountPlanNotFoundError) Error() string

type ECloudService

type ECloudService interface {
	// Virtual Machine
	GetVirtualMachines(parameters connection.APIRequestParameters) ([]VirtualMachine, error)
	GetVirtualMachinesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VirtualMachine], error)
	GetVirtualMachine(vmID int) (VirtualMachine, error)
	CreateVirtualMachine(req CreateVirtualMachineRequest) (int, error)
	PatchVirtualMachine(vmID int, patch PatchVirtualMachineRequest) error
	CloneVirtualMachine(vmID int, req CloneVirtualMachineRequest) (int, error)
	DeleteVirtualMachine(vmID int) error
	PowerOnVirtualMachine(vmID int) error
	PowerOffVirtualMachine(vmID int) error
	PowerResetVirtualMachine(vmID int) error
	PowerShutdownVirtualMachine(vmID int) error
	PowerRestartVirtualMachine(vmID int) error
	CreateVirtualMachineTemplate(vmID int, req CreateVirtualMachineTemplateRequest) error
	GetVirtualMachineTags(vmID int, parameters connection.APIRequestParameters) ([]Tag, error)
	GetVirtualMachineTagsPaginated(vmID int, parameters connection.APIRequestParameters) (*connection.Paginated[Tag], error)
	GetVirtualMachineTag(vmID int, tagKey string) (Tag, error)
	CreateVirtualMachineTag(vmID int, req CreateTagRequest) error
	PatchVirtualMachineTag(vmID int, tagKey string, patch PatchTagRequest) error
	DeleteVirtualMachineTag(vmID int, tagKey string) error
	CreateVirtualMachineConsoleSession(vmID int) (ConsoleSession, error)

	// Solution
	GetSolutions(parameters connection.APIRequestParameters) ([]Solution, error)
	GetSolutionsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Solution], error)
	GetSolution(solutionID int) (Solution, error)
	PatchSolution(solutionID int, patch PatchSolutionRequest) (int, error)
	GetSolutionVirtualMachines(solutionID int, parameters connection.APIRequestParameters) ([]VirtualMachine, error)
	GetSolutionVirtualMachinesPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[VirtualMachine], error)
	GetSolutionSites(solutionID int, parameters connection.APIRequestParameters) ([]Site, error)
	GetSolutionSitesPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[Site], error)
	GetSolutionDatastores(solutionID int, parameters connection.APIRequestParameters) ([]Datastore, error)
	GetSolutionDatastoresPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[Datastore], error)
	GetSolutionHosts(solutionID int, parameters connection.APIRequestParameters) ([]V1Host, error)
	GetSolutionHostsPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[V1Host], error)
	GetSolutionNetworks(solutionID int, parameters connection.APIRequestParameters) ([]V1Network, error)
	GetSolutionNetworksPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[V1Network], error)
	GetSolutionFirewalls(solutionID int, parameters connection.APIRequestParameters) ([]Firewall, error)
	GetSolutionFirewallsPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[Firewall], error)
	GetSolutionTemplates(solutionID int, parameters connection.APIRequestParameters) ([]Template, error)
	GetSolutionTemplatesPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[Template], error)
	GetSolutionTemplate(solutionID int, templateName string) (Template, error)
	DeleteSolutionTemplate(solutionID int, templateName string) error
	RenameSolutionTemplate(solutionID int, templateName string, req RenameTemplateRequest) error
	GetSolutionTags(solutionID int, parameters connection.APIRequestParameters) ([]Tag, error)
	GetSolutionTagsPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[Tag], error)
	GetSolutionTag(solutionID int, tagKey string) (Tag, error)
	CreateSolutionTag(solutionID int, req CreateTagRequest) error
	PatchSolutionTag(solutionID int, tagKey string, patch PatchTagRequest) error
	DeleteSolutionTag(solutionID int, tagKey string) error

	// Site
	GetSites(parameters connection.APIRequestParameters) ([]Site, error)
	GetSitesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Site], error)
	GetSite(siteID int) (Site, error)

	// Host
	GetV1Hosts(parameters connection.APIRequestParameters) ([]V1Host, error)
	GetV1HostsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[V1Host], error)
	GetV1Host(hostID int) (V1Host, error)

	// Datastore
	GetDatastores(parameters connection.APIRequestParameters) ([]Datastore, error)
	GetDatastoresPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Datastore], error)
	GetDatastore(datastoreID int) (Datastore, error)

	// Firewall
	GetFirewalls(parameters connection.APIRequestParameters) ([]Firewall, error)
	GetFirewallsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Firewall], error)
	GetFirewall(firewallID int) (Firewall, error)
	GetFirewallConfig(firewallID int) (FirewallConfig, error)

	// Pod
	GetPods(parameters connection.APIRequestParameters) ([]Pod, error)
	GetPodsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Pod], error)
	GetPod(podID int) (Pod, error)
	GetPodTemplates(podID int, parameters connection.APIRequestParameters) ([]Template, error)
	GetPodTemplatesPaginated(podID int, parameters connection.APIRequestParameters) (*connection.Paginated[Template], error)
	GetPodTemplate(podID int, templateName string) (Template, error)
	RenamePodTemplate(podID int, templateName string, req RenameTemplateRequest) error
	DeletePodTemplate(podID int, templateName string) error
	GetPodAppliances(podID int, parameters connection.APIRequestParameters) ([]Appliance, error)
	GetPodAppliancesPaginated(podID int, parameters connection.APIRequestParameters) (*connection.Paginated[Appliance], error)
	PodConsoleAvailable(podID int) (bool, error)

	// Appliance
	GetAppliances(parameters connection.APIRequestParameters) ([]Appliance, error)
	GetAppliancesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Appliance], error)
	GetAppliance(applianceID string) (Appliance, error)
	GetApplianceParameters(applianceID string, reqParameters connection.APIRequestParameters) ([]ApplianceParameter, error)
	GetApplianceParametersPaginated(applianceID string, parameters connection.APIRequestParameters) (*connection.Paginated[ApplianceParameter], error)

	// Credit
	GetCredits(parameters connection.APIRequestParameters) ([]account.Credit, error)

	GetActiveDirectoryDomains(parameters connection.APIRequestParameters) ([]ActiveDirectoryDomain, error)
	GetActiveDirectoryDomainsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[ActiveDirectoryDomain], error)
	GetActiveDirectoryDomain(domainID int) (ActiveDirectoryDomain, error)

	// VPC
	GetVPCs(parameters connection.APIRequestParameters) ([]VPC, error)
	GetVPCsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VPC], error)
	GetVPC(vpcID string) (VPC, error)
	CreateVPC(req CreateVPCRequest) (string, error)
	PatchVPC(vpcID string, patch PatchVPCRequest) error
	DeleteVPC(vpcID string) error
	DeployVPCDefaults(vpcID string) error
	GetVPCVolumes(vpcID string, parameters connection.APIRequestParameters) ([]Volume, error)
	GetVPCVolumesPaginated(vpcID string, parameters connection.APIRequestParameters) (*connection.Paginated[Volume], error)
	GetVPCInstances(vpcID string, parameters connection.APIRequestParameters) ([]Instance, error)
	GetVPCInstancesPaginated(vpcID string, parameters connection.APIRequestParameters) (*connection.Paginated[Instance], error)
	GetVPCTasks(vpcID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetVPCTasksPaginated(vpcID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

	// Availability zone
	GetAvailabilityZones(parameters connection.APIRequestParameters) ([]AvailabilityZone, error)
	GetAvailabilityZonesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[AvailabilityZone], error)
	GetAvailabilityZone(azID string) (AvailabilityZone, error)
	GetAvailabilityZoneIOPSTiers(azID string, parameters connection.APIRequestParameters) ([]IOPSTier, error)
	GetAvailabilityZoneIOPSTiersPaginated(azID string, parameters connection.APIRequestParameters) (*connection.Paginated[IOPSTier], error)

	// Network
	GetNetworks(parameters connection.APIRequestParameters) ([]Network, error)
	GetNetworksPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Network], error)
	GetNetwork(networkID string) (Network, error)
	CreateNetwork(req CreateNetworkRequest) (string, error)
	PatchNetwork(networkID string, patch PatchNetworkRequest) error
	DeleteNetwork(networkID string) error
	GetNetworkNICs(networkID string, parameters connection.APIRequestParameters) ([]NIC, error)
	GetNetworkNICsPaginated(networkID string, parameters connection.APIRequestParameters) (*connection.Paginated[NIC], error)
	GetNetworkTasks(networkID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetNetworkTasksPaginated(networkID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

	// DHCP
	GetDHCPs(parameters connection.APIRequestParameters) ([]DHCP, error)
	GetDHCPsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[DHCP], error)
	GetDHCP(dhcpID string) (DHCP, error)
	GetDHCPTasks(dhcpID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetDHCPTasksPaginated(dhcpID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

	// Instance
	GetInstances(parameters connection.APIRequestParameters) ([]Instance, error)
	GetInstancesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Instance], error)
	GetInstance(instanceID string) (Instance, error)
	CreateInstance(req CreateInstanceRequest) (string, error)
	PatchInstance(instanceID string, req PatchInstanceRequest) error
	DeleteInstance(instanceID string) error
	LockInstance(instanceID string) error
	UnlockInstance(instanceID string) error
	PowerOnInstance(instanceID string) (string, error)
	PowerOffInstance(instanceID string) (string, error)
	PowerResetInstance(instanceID string) (string, error)
	PowerShutdownInstance(instanceID string) (string, error)
	PowerRestartInstance(instanceID string) (string, error)
	MigrateInstance(instanceID string, req MigrateInstanceRequest) (string, error)
	CreateInstanceConsoleSession(instanceID string) (ConsoleSession, error)
	GetInstanceVolumes(instanceID string, parameters connection.APIRequestParameters) ([]Volume, error)
	GetInstanceVolumesPaginated(instanceID string, parameters connection.APIRequestParameters) (*connection.Paginated[Volume], error)
	GetInstanceCredentials(instanceID string, parameters connection.APIRequestParameters) ([]Credential, error)
	GetInstanceCredentialsPaginated(instanceID string, parameters connection.APIRequestParameters) (*connection.Paginated[Credential], error)
	GetInstanceNICs(instanceID string, parameters connection.APIRequestParameters) ([]NIC, error)
	GetInstanceNICsPaginated(instanceID string, parameters connection.APIRequestParameters) (*connection.Paginated[NIC], error)
	GetInstanceTasks(instanceID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetInstanceTasksPaginated(instanceID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)
	AttachInstanceVolume(instanceID string, req AttachDetachInstanceVolumeRequest) (string, error)
	DetachInstanceVolume(instanceID string, req AttachDetachInstanceVolumeRequest) (string, error)
	GetInstanceFloatingIPs(instanceID string, parameters connection.APIRequestParameters) ([]FloatingIP, error)
	GetInstanceFloatingIPsPaginated(instanceID string, parameters connection.APIRequestParameters) (*connection.Paginated[FloatingIP], error)
	CreateInstanceImage(instanceID string, req CreateInstanceImageRequest) (TaskReference, error)
	EncryptInstance(instanceID string) (string, error)
	DecryptInstance(instanceID string) (string, error)
	ExecuteInstanceScript(instanceID string, req ExecuteInstanceScriptRequest) (string, error)

	// Floating IP
	GetFloatingIPs(parameters connection.APIRequestParameters) ([]FloatingIP, error)
	GetFloatingIPsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[FloatingIP], error)
	GetFloatingIP(fipID string) (FloatingIP, error)
	CreateFloatingIP(req CreateFloatingIPRequest) (TaskReference, error)
	PatchFloatingIP(fipID string, req PatchFloatingIPRequest) (TaskReference, error)
	DeleteFloatingIP(fipID string) (string, error)
	AssignFloatingIP(fipID string, req AssignFloatingIPRequest) (string, error)
	UnassignFloatingIP(fipID string) (string, error)
	GetFloatingIPTasks(fipID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetFloatingIPTasksPaginated(fipID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

	// Firewall Policy
	GetFirewallPolicies(parameters connection.APIRequestParameters) ([]FirewallPolicy, error)
	GetFirewallPoliciesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[FirewallPolicy], error)
	GetFirewallPolicy(policyID string) (FirewallPolicy, error)
	CreateFirewallPolicy(req CreateFirewallPolicyRequest) (TaskReference, error)
	PatchFirewallPolicy(policyID string, req PatchFirewallPolicyRequest) (TaskReference, error)
	DeleteFirewallPolicy(policyID string) (string, error)
	GetFirewallPolicyFirewallRules(policyID string, parameters connection.APIRequestParameters) ([]FirewallRule, error)
	GetFirewallPolicyFirewallRulesPaginated(policyID string, parameters connection.APIRequestParameters) (*connection.Paginated[FirewallRule], error)
	GetFirewallPolicyTasks(policyID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetFirewallPolicyTasksPaginated(policyID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

	// Firewall Rule
	GetFirewallRules(parameters connection.APIRequestParameters) ([]FirewallRule, error)
	GetFirewallRulesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[FirewallRule], error)
	GetFirewallRule(ruleID string) (FirewallRule, error)
	CreateFirewallRule(req CreateFirewallRuleRequest) (TaskReference, error)
	PatchFirewallRule(ruleID string, req PatchFirewallRuleRequest) (TaskReference, error)
	DeleteFirewallRule(ruleID string) (string, error)
	GetFirewallRuleFirewallRulePorts(firewallRuleID string, parameters connection.APIRequestParameters) ([]FirewallRulePort, error)
	GetFirewallRuleFirewallRulePortsPaginated(firewallRuleID string, parameters connection.APIRequestParameters) (*connection.Paginated[FirewallRulePort], error)

	// Firewall Rule Ports
	GetFirewallRulePorts(parameters connection.APIRequestParameters) ([]FirewallRulePort, error)
	GetFirewallRulePortsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[FirewallRulePort], error)
	GetFirewallRulePort(ruleID string) (FirewallRulePort, error)
	CreateFirewallRulePort(req CreateFirewallRulePortRequest) (TaskReference, error)
	PatchFirewallRulePort(ruleID string, req PatchFirewallRulePortRequest) (TaskReference, error)
	DeleteFirewallRulePort(ruleID string) (string, error)

	// Router
	GetRouters(parameters connection.APIRequestParameters) ([]Router, error)
	GetRoutersPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Router], error)
	GetRouter(routerID string) (Router, error)
	CreateRouter(req CreateRouterRequest) (string, error)
	PatchRouter(routerID string, patch PatchRouterRequest) error
	DeleteRouter(routerID string) error
	GetRouterFirewallPolicies(routerID string, parameters connection.APIRequestParameters) ([]FirewallPolicy, error)
	GetRouterFirewallPoliciesPaginated(routerID string, parameters connection.APIRequestParameters) (*connection.Paginated[FirewallPolicy], error)
	GetRouterNetworks(routerID string, parameters connection.APIRequestParameters) ([]Network, error)
	GetRouterNetworksPaginated(routerID string, parameters connection.APIRequestParameters) (*connection.Paginated[Network], error)
	GetRouterVPNs(routerID string, parameters connection.APIRequestParameters) ([]VPN, error)
	GetRouterVPNsPaginated(routerID string, parameters connection.APIRequestParameters) (*connection.Paginated[VPN], error)
	DeployRouterDefaultFirewallPolicies(routerID string) error
	GetRouterTasks(routerID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetRouterTasksPaginated(routerID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

	// Region
	GetRegions(parameters connection.APIRequestParameters) ([]Region, error)
	GetRegionsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Region], error)
	GetRegion(regionID string) (Region, error)

	// Volumes
	GetVolumes(parameters connection.APIRequestParameters) ([]Volume, error)
	GetVolumesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Volume], error)
	GetVolume(volumeID string) (Volume, error)
	CreateVolume(req CreateVolumeRequest) (TaskReference, error)
	PatchVolume(volumeID string, patch PatchVolumeRequest) (TaskReference, error)
	DeleteVolume(volumeID string) (string, error)
	GetVolumeInstances(volumeID string, parameters connection.APIRequestParameters) ([]Instance, error)
	GetVolumeInstancesPaginated(volumeID string, parameters connection.APIRequestParameters) (*connection.Paginated[Instance], error)
	GetVolumeTasks(volumeID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetVolumeTasksPaginated(volumeID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

	// NICs
	GetNICs(parameters connection.APIRequestParameters) ([]NIC, error)
	GetNICsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[NIC], error)
	GetNIC(nicID string) (NIC, error)
	GetNICTasks(nicID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetNICTasksPaginated(nicID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)
	GetNICIPAddresses(nicID string, parameters connection.APIRequestParameters) ([]IPAddress, error)
	GetNICIPAddressesPaginated(nicID string, parameters connection.APIRequestParameters) (*connection.Paginated[IPAddress], error)
	AssignNICIPAddress(nicID string, req AssignIPAddressRequest) (string, error)
	UnassignNICIPAddress(nicID string, ipID string) (string, error)

	// Billing metrics
	GetBillingMetrics(parameters connection.APIRequestParameters) ([]BillingMetric, error)
	GetBillingMetricsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[BillingMetric], error)
	GetBillingMetric(metricID string) (BillingMetric, error)

	// Router throughputs
	GetRouterThroughputs(parameters connection.APIRequestParameters) ([]RouterThroughput, error)
	GetRouterThroughputsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[RouterThroughput], error)
	GetRouterThroughput(metricID string) (RouterThroughput, error)

	// Image
	GetImages(parameters connection.APIRequestParameters) ([]Image, error)
	GetImagesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Image], error)
	GetImage(imageID string) (Image, error)
	UpdateImage(imageID string, req UpdateImageRequest) (TaskReference, error)
	DeleteImage(imageID string) (string, error)
	GetImageParameters(imageID string, parameters connection.APIRequestParameters) ([]ImageParameter, error)
	GetImageParametersPaginated(imageID string, parameters connection.APIRequestParameters) (*connection.Paginated[ImageParameter], error)
	GetImageMetadata(imageID string, parameters connection.APIRequestParameters) ([]ImageMetadata, error)
	GetImageMetadataPaginated(imageID string, parameters connection.APIRequestParameters) (*connection.Paginated[ImageMetadata], error)

	// HostSpecs
	GetHostSpecs(parameters connection.APIRequestParameters) ([]HostSpec, error)
	GetHostSpecsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[HostSpec], error)
	GetHostSpec(specID string) (HostSpec, error)

	// HostGroups
	GetHostGroups(parameters connection.APIRequestParameters) ([]HostGroup, error)
	GetHostGroupsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[HostGroup], error)
	GetHostGroup(hostGroupID string) (HostGroup, error)
	CreateHostGroup(req CreateHostGroupRequest) (TaskReference, error)
	PatchHostGroup(hostGroupID string, patch PatchHostGroupRequest) (TaskReference, error)
	DeleteHostGroup(hostGroupID string) (string, error)
	GetHostGroupTasks(hostGroupID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetHostGroupTasksPaginated(hostGroupID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

	// Hosts
	GetHosts(parameters connection.APIRequestParameters) ([]Host, error)
	GetHostsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Host], error)
	GetHost(hostID string) (Host, error)
	CreateHost(req CreateHostRequest) (TaskReference, error)
	PatchHost(hostID string, patch PatchHostRequest) (TaskReference, error)
	DeleteHost(hostID string) (string, error)
	GetHostTasks(hostID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetHostTasksPaginated(hostID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

	// SSHKeyPairs
	GetSSHKeyPairs(parameters connection.APIRequestParameters) ([]SSHKeyPair, error)
	GetSSHKeyPairsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[SSHKeyPair], error)
	GetSSHKeyPair(keypairID string) (SSHKeyPair, error)
	CreateSSHKeyPair(req CreateSSHKeyPairRequest) (string, error)
	PatchSSHKeyPair(keypairID string, patch PatchSSHKeyPairRequest) error
	DeleteSSHKeyPair(keypairID string) error

	// Tasks
	GetTasks(parameters connection.APIRequestParameters) ([]Task, error)
	GetTasksPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)
	GetTask(taskID string) (Task, error)

	// Network Policy
	GetNetworkPolicies(parameters connection.APIRequestParameters) ([]NetworkPolicy, error)
	GetNetworkPoliciesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[NetworkPolicy], error)
	GetNetworkPolicy(policyID string) (NetworkPolicy, error)
	CreateNetworkPolicy(req CreateNetworkPolicyRequest) (TaskReference, error)
	PatchNetworkPolicy(policyID string, req PatchNetworkPolicyRequest) (TaskReference, error)
	DeleteNetworkPolicy(policyID string) (string, error)
	GetNetworkPolicyNetworkRules(policyID string, parameters connection.APIRequestParameters) ([]NetworkRule, error)
	GetNetworkPolicyNetworkRulesPaginated(policyID string, parameters connection.APIRequestParameters) (*connection.Paginated[NetworkRule], error)
	GetNetworkPolicyTasks(policyID string, parameters connection.APIRequestParameters) ([]Task, error)
	GetNetworkPolicyTasksPaginated(policyID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

	// Network Rule
	GetNetworkRules(parameters connection.APIRequestParameters) ([]NetworkRule, error)
	GetNetworkRulesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[NetworkRule], error)
	GetNetworkRule(ruleID string) (NetworkRule, error)
	CreateNetworkRule(req CreateNetworkRuleRequest) (TaskReference, error)
	PatchNetworkRule(ruleID string, req PatchNetworkRuleRequest) (TaskReference, error)
	DeleteNetworkRule(ruleID string) (string, error)
	GetNetworkRuleNetworkRulePorts(networkRuleID string, parameters connection.APIRequestParameters) ([]NetworkRulePort, error)
	GetNetworkRuleNetworkRulePortsPaginated(networkRuleID string, parameters connection.APIRequestParameters) (*connection.Paginated[NetworkRulePort], error)

	// Network Rule Ports
	GetNetworkRulePorts(parameters connection.APIRequestParameters) ([]NetworkRulePort, error)
	GetNetworkRulePortsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[NetworkRulePort], error)
	GetNetworkRulePort(ruleID string) (NetworkRulePort, error)
	CreateNetworkRulePort(req CreateNetworkRulePortRequest) (TaskReference, error)
	PatchNetworkRulePort(ruleID string, req PatchNetworkRulePortRequest) (TaskReference, error)
	DeleteNetworkRulePort(ruleID string) (string, error)

	//Volume Groups
	GetVolumeGroups(parameters connection.APIRequestParameters) ([]VolumeGroup, error)
	GetVolumeGroupsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VolumeGroup], error)
	GetVolumeGroup(groupID string) (VolumeGroup, error)
	CreateVolumeGroup(req CreateVolumeGroupRequest) (TaskReference, error)
	PatchVolumeGroup(groupID string, patch PatchVolumeGroupRequest) (TaskReference, error)
	DeleteVolumeGroup(groupID string) (string, error)
	GetVolumeGroupVolumes(groupID string, parameters connection.APIRequestParameters) ([]Volume, error)
	GetVolumeGroupVolumesPaginated(groupID string, parameters connection.APIRequestParameters) (*connection.Paginated[Volume], error)

	// VPN Endpoint
	GetVPNEndpoints(parameters connection.APIRequestParameters) ([]VPNEndpoint, error)
	GetVPNEndpointsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VPNEndpoint], error)
	GetVPNEndpoint(endpointID string) (VPNEndpoint, error)
	CreateVPNEndpoint(req CreateVPNEndpointRequest) (TaskReference, error)
	PatchVPNEndpoint(endpointID string, req PatchVPNEndpointRequest) (TaskReference, error)
	DeleteVPNEndpoint(endpointID string) (string, error)

	// VPN Service
	GetVPNServices(parameters connection.APIRequestParameters) ([]VPNService, error)
	GetVPNServicesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VPNService], error)
	GetVPNService(serviceID string) (VPNService, error)
	CreateVPNService(req CreateVPNServiceRequest) (TaskReference, error)
	PatchVPNService(serviceID string, req PatchVPNServiceRequest) (TaskReference, error)
	DeleteVPNService(serviceID string) (string, error)

	// VPN Session
	GetVPNSessions(parameters connection.APIRequestParameters) ([]VPNSession, error)
	GetVPNSessionsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VPNSession], error)
	GetVPNSession(sessionID string) (VPNSession, error)
	CreateVPNSession(req CreateVPNSessionRequest) (TaskReference, error)
	PatchVPNSession(sessionID string, req PatchVPNSessionRequest) (TaskReference, error)
	DeleteVPNSession(sessionID string) (string, error)
	GetVPNSessionPreSharedKey(sessionID string) (VPNSessionPreSharedKey, error)
	UpdateVPNSessionPreSharedKey(sessionID string, req UpdateVPNSessionPreSharedKeyRequest) (TaskReference, error)

	// VPN Profile Group
	GetVPNProfileGroups(parameters connection.APIRequestParameters) ([]VPNProfileGroup, error)
	GetVPNProfileGroupsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VPNProfileGroup], error)
	GetVPNProfileGroup(groupID string) (VPNProfileGroup, error)

	// Load Balancer
	GetLoadBalancers(parameters connection.APIRequestParameters) ([]LoadBalancer, error)
	GetLoadBalancersPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[LoadBalancer], error)
	GetLoadBalancer(loadbalancerID string) (LoadBalancer, error)
	CreateLoadBalancer(req CreateLoadBalancerRequest) (TaskReference, error)
	PatchLoadBalancer(loadbalancerID string, req PatchLoadBalancerRequest) (TaskReference, error)
	DeleteLoadBalancer(loadbalancerID string) (string, error)

	// Load Balancer Spec
	GetLoadBalancerSpecs(parameters connection.APIRequestParameters) ([]LoadBalancerSpec, error)
	GetLoadBalancerSpecsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[LoadBalancerSpec], error)
	GetLoadBalancerSpec(lbSpecID string) (LoadBalancerSpec, error)

	// VIP
	GetVIPs(parameters connection.APIRequestParameters) ([]VIP, error)
	GetVIPsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VIP], error)
	GetVIP(vipID string) (VIP, error)
	CreateVIP(req CreateVIPRequest) (TaskReference, error)
	PatchVIP(vipID string, patch PatchVIPRequest) (TaskReference, error)
	DeleteVIP(vipID string) (string, error)

	//IP Addresses
	GetIPAddresses(parameters connection.APIRequestParameters) ([]IPAddress, error)
	GetIPAddressesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[IPAddress], error)
	GetIPAddress(ipID string) (IPAddress, error)
	CreateIPAddress(req CreateIPAddressRequest) (TaskReference, error)
	PatchIPAddress(ipID string, patch PatchIPAddressRequest) (TaskReference, error)
	DeleteIPAddress(ipID string) (string, error)

	//Affinity Rules
	GetAffinityRules(parameters connection.APIRequestParameters) ([]AffinityRule, error)
	GetAffinityRulesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[AffinityRule], error)
	GetAffinityRule(ruleID string) (AffinityRule, error)
	CreateAffinityRule(req CreateAffinityRuleRequest) (TaskReference, error)
	PatchAffinityRule(ruleID string, patch PatchAffinityRuleRequest) (TaskReference, error)
	DeleteAffinityRule(ruleID string) (string, error)

	//Affinity Rule Members
	GetAffinityRuleMembers(ruleID string, parameters connection.APIRequestParameters) ([]AffinityRuleMember, error)
	GetAffinityRuleMembersPaginated(ruleID string, parameters connection.APIRequestParameters) (*connection.Paginated[AffinityRuleMember], error)
	GetAffinityRuleMember(memberID string) (AffinityRuleMember, error)
	CreateAffinityRuleMember(req CreateAffinityRuleMemberRequest) (TaskReference, error)
	DeleteAffinityRuleMember(memberID string) (string, error)

	//Resource Tiers
	GetResourceTiers(parameters connection.APIRequestParameters) ([]ResourceTier, error)
	GetResourceTiersPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[ResourceTier], error)
	GetResourceTier(tierID string) (ResourceTier, error)

	// NAT Overload Rules
	GetNATOverloadRules(parameters connection.APIRequestParameters) ([]NATOverloadRule, error)
	GetNATOverloadRulesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[NATOverloadRule], error)
	GetNATOverloadRule(ruleID string) (NATOverloadRule, error)
	CreateNATOverloadRule(req CreateNATOverloadRuleRequest) (TaskReference, error)
	PatchNATOverloadRule(ruleID string, req PatchNATOverloadRuleRequest) (TaskReference, error)
	DeleteNATOverloadRule(ruleID string) (string, error)

	//IOPS Tiers
	GetIOPSTiers(parameters connection.APIRequestParameters) ([]IOPSTier, error)
	GetIOPSTiersPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[IOPSTier], error)
	GetIOPSTier(iopsID string) (IOPSTier, error)
}

ECloudService is an interface for managing eCloud

type ExecuteInstanceScriptRequest added in v1.19.0

type ExecuteInstanceScriptRequest struct {
	Script   string `json:"script"`
	Username string `json:"username"`
	Password string `json:"password"`
}

type Firewall

type Firewall struct {
	ID       int                  `json:"id"`
	Name     string               `json:"name"`
	Hostname string               `json:"hostname"`
	IP       connection.IPAddress `json:"ip"`
	Role     FirewallRole         `json:"role"`
}

Firewall represents an eCloud firewall

type FirewallConfig

type FirewallConfig struct {
	Config string `json:"config"`
}

FirewallConfig represents an eCloud firewall config

type FirewallNotFoundError

type FirewallNotFoundError struct {
	ID int
}

FirewallNotFoundError indicates a firewall was not found within eCloud

func (*FirewallNotFoundError) Error

func (e *FirewallNotFoundError) Error() string

type FirewallPolicy

type FirewallPolicy struct {
	ID        string              `json:"id"`
	Name      string              `json:"name"`
	RouterID  string              `json:"router_id"`
	Sequence  int                 `json:"sequence"`
	Sync      ResourceSync        `json:"sync"`
	Task      ResourceTask        `json:"task"`
	CreatedAt connection.DateTime `json:"created_at"`
	UpdatedAt connection.DateTime `json:"updated_at"`
}

FirewallPolicy represents an eCloud firewall policy

type FirewallPolicyNotFoundError

type FirewallPolicyNotFoundError struct {
	ID string
}

FirewallPolicyNotFoundError indicates a firewall policy was not found

func (*FirewallPolicyNotFoundError) Error

type FirewallRole

type FirewallRole string
const (
	FirewallRoleNA     FirewallRole = "N/A"
	FirewallRoleMaster FirewallRole = "Master"
	FirewallRoleSlave  FirewallRole = "Slave"
)

type FirewallRule

type FirewallRule struct {
	ID               string                `json:"id"`
	Name             string                `json:"name"`
	FirewallPolicyID string                `json:"firewall_policy_id"`
	Sequence         int                   `json:"sequence"`
	Source           string                `json:"source"`
	Destination      string                `json:"destination"`
	Action           FirewallRuleAction    `json:"action"`
	Direction        FirewallRuleDirection `json:"direction"`
	Enabled          bool                  `json:"enabled"`
	CreatedAt        connection.DateTime   `json:"created_at"`
	UpdatedAt        connection.DateTime   `json:"updated_at"`
}

FirewallRule represents an eCloud firewall rule

type FirewallRuleAction

type FirewallRuleAction string
const (
	FirewallRuleActionAllow  FirewallRuleAction = "ALLOW"
	FirewallRuleActionDrop   FirewallRuleAction = "DROP"
	FirewallRuleActionReject FirewallRuleAction = "REJECT"
)

func (FirewallRuleAction) String

func (s FirewallRuleAction) String() string

type FirewallRuleDirection

type FirewallRuleDirection string
const (
	FirewallRuleDirectionIn    FirewallRuleDirection = "IN"
	FirewallRuleDirectionOut   FirewallRuleDirection = "OUT"
	FirewallRuleDirectionInOut FirewallRuleDirection = "IN_OUT"
)

func (FirewallRuleDirection) String

func (s FirewallRuleDirection) String() string

type FirewallRuleNotFoundError

type FirewallRuleNotFoundError struct {
	ID string
}

FirewallRuleNotFoundError indicates a firewall rule was not found

func (*FirewallRuleNotFoundError) Error

func (e *FirewallRuleNotFoundError) Error() string

type FirewallRulePort

type FirewallRulePort struct {
	ID             string                   `json:"id"`
	Name           string                   `json:"name"`
	FirewallRuleID string                   `json:"firewall_rule_id"`
	Protocol       FirewallRulePortProtocol `json:"protocol"`
	Source         string                   `json:"source"`
	Destination    string                   `json:"destination"`
	CreatedAt      connection.DateTime      `json:"created_at"`
	UpdatedAt      connection.DateTime      `json:"updated_at"`
}

FirewallRulePort represents an eCloud firewall rule port

type FirewallRulePortNotFoundError

type FirewallRulePortNotFoundError struct {
	ID string
}

FirewallRulePortNotFoundError indicates a firewall rule port was not found

func (*FirewallRulePortNotFoundError) Error

type FirewallRulePortProtocol

type FirewallRulePortProtocol string
const (
	FirewallRulePortProtocolTCP    FirewallRulePortProtocol = "TCP"
	FirewallRulePortProtocolUDP    FirewallRulePortProtocol = "UDP"
	FirewallRulePortProtocolICMPv4 FirewallRulePortProtocol = "ICMPv4"
)

func (FirewallRulePortProtocol) String

func (s FirewallRulePortProtocol) String() string

type FloatingIP

type FloatingIP struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	VPCID              string              `json:"vpc_id"`
	IPAddress          string              `json:"ip_address"`
	ResourceID         string              `json:"resource_id"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	Sync               ResourceSync        `json:"sync"`
	Task               ResourceTask        `json:"task"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

FloatingIP represents an eCloud floating IP address

type FloatingIPNotFoundError

type FloatingIPNotFoundError struct {
	ID string
}

FloatingIPNotFoundError indicates a floating IP was not found

func (*FloatingIPNotFoundError) Error

func (e *FloatingIPNotFoundError) Error() string

type Host

type Host struct {
	ID          string              `json:"id"`
	Name        string              `json:"name"`
	HostGroupID string              `json:"host_group_id"`
	Sync        ResourceSync        `json:"sync"`
	Task        ResourceTask        `json:"task"`
	CreatedAt   connection.DateTime `json:"created_at"`
	UpdatedAt   connection.DateTime `json:"updated_at"`
}

Host represents an eCloud v2 host

type HostCPU

type HostCPU struct {
	Quantity int    `json:"qty"`
	Cores    int    `json:"cores"`
	Speed    string `json:"speed"`
}

HostCPU represents an eCloud host's CPU resources

type HostGroup

type HostGroup struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	VPCID              string              `json:"vpc_id"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	WindowsEnabled     bool                `json:"windows_enabled"`
	HostSpecID         string              `json:"host_spec_id"`
	Sync               ResourceSync        `json:"sync"`
	Task               ResourceTask        `json:"task"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

HostGroup represents an eCloud host group

type HostGroupNotFoundError

type HostGroupNotFoundError struct {
	ID string
}

HostGroupFoundError indicates an host group was not found

func (*HostGroupNotFoundError) Error

func (e *HostGroupNotFoundError) Error() string

type HostNotFoundError

type HostNotFoundError struct {
	ID string
}

HostFoundError indicates an host was not found

func (*HostNotFoundError) Error

func (e *HostNotFoundError) Error() string

type HostRAM

type HostRAM struct {
	// Size in GB
	Capacity int `json:"capacity"`
	// Size in GB
	Reserved int `json:"reserved"`
	// Size in GB
	Allocated int `json:"allocated"`
	// Size in GB
	Available int `json:"available"`
}

HostRAM represents an eCloud host's RAM resources

type HostSpec

type HostSpec struct {
	ID            string `json:"id"`
	Name          string `json:"name"`
	CPUSockets    int    `json:"cpu_sockets"`
	CPUType       string `json:"cpu_type"`
	CPUCores      int    `json:"cpu_cores"`
	CPUClockSpeed int    `json:"cpu_clock_speed"`
	RAMCapacity   int    `json:"ram_capacity"`
}

HostSpec represents an eCloud host spec

type HostSpecNotFoundError

type HostSpecNotFoundError struct {
	ID string
}

HostSpecFoundError indicates an host spec was not found

func (*HostSpecNotFoundError) Error

func (e *HostSpecNotFoundError) Error() string

type IOPSNotFoundError added in v1.16.6

type IOPSNotFoundError struct {
	ID string
}

IOPSNotFoundError indicates an IOPS tier was not found

func (*IOPSNotFoundError) Error added in v1.16.6

func (e *IOPSNotFoundError) Error() string

type IOPSTier added in v1.16.6

type IOPSTier struct {
	ID        string              `json:"id"`
	Name      string              `json:"name"`
	Level     int                 `json:"level"`
	CreatedAt connection.DateTime `json:"created_at"`
	UpdatedAt connection.DateTime `json:"updated_at"`
}

IOPSTier represents an eCloud IOPS tier

type IPAddress

type IPAddress struct {
	ID        string               `json:"id"`
	Name      string               `json:"name"`
	IPAddress connection.IPAddress `json:"ip_address"`
	NetworkID string               `json:"network_id"`
	Type      string               `json:"type"`
	Sync      ResourceSync         `json:"sync"`
	Task      ResourceTask         `json:"task"`
	CreatedAt connection.DateTime  `json:"created_at"`
	UpdatedAt connection.DateTime  `json:"updated_at"`
}

IP Address represents an eCloud VPC Network IP Address

type IPAddressNotFoundError

type IPAddressNotFoundError struct {
	ID string
}

IPAddressNotFoundError indicates an IP address was not found

func (*IPAddressNotFoundError) Error

func (e *IPAddressNotFoundError) Error() string

type Image

type Image struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	LogoURI            string              `json:"logo_uri"`
	Description        string              `json:"description"`
	DocumentationURI   string              `json:"documentation_uri"`
	Platform           string              `json:"platform"`
	Visibility         string              `json:"visibility"`
	VPCID              string              `json:"vpc_id"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	Sync               ResourceSync        `json:"sync"`
	Task               ResourceTask        `json:"task"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

Image represents an eCloud image

type ImageMetadata

type ImageMetadata struct {
	Key       string              `json:"key"`
	Value     string              `json:"value"`
	CreatedAt connection.DateTime `json:"created_at"`
	UpdatedAt connection.DateTime `json:"updated_at"`
}

ImageMetadata represents eCloud image metadata

type ImageNotFoundError

type ImageNotFoundError struct {
	ID string
}

ImageNotFoundError indicates an image was not found

func (*ImageNotFoundError) Error

func (e *ImageNotFoundError) Error() string

type ImageParameter

type ImageParameter struct {
	ID             string              `json:"id"`
	Name           string              `json:"name"`
	Key            string              `json:"key"`
	Type           string              `json:"type"`
	Description    string              `json:"description"`
	Required       bool                `json:"required"`
	ValidationRule string              `json:"validation_rule"`
	CreatedAt      connection.DateTime `json:"created_at"`
	UpdatedAt      connection.DateTime `json:"updated_at"`
}

ImageParameter represents an eCloud image parameter

type Instance

type Instance struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	VPCID              string              `json:"vpc_id"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	ImageID            string              `json:"image_id"`
	VCPUCores          int                 `json:"vcpu_cores"`
	VCPUSockets        int                 `json:"vcpu_sockets"`
	VCPUCoresPerSocket int                 `json:"vcpu_cores_per_socket"`
	RAMCapacity        int                 `json:"ram_capacity"`
	Locked             bool                `json:"locked"`
	BackupEnabled      bool                `json:"backup_enabled"`
	IsEncrypted        bool                `json:"is_encrypted"`
	Platform           string              `json:"platform"`
	VolumeCapacity     int                 `json:"volume_capacity"`
	VolumeGroupID      string              `json:"volume_group_id"`
	HostGroupID        string              `json:"host_group_id"`
	ResourceTierID     string              `json:"resource_tier_id"`
	Sync               ResourceSync        `json:"sync"`
	Task               ResourceTask        `json:"task"`
	Online             *bool               `json:"online"`
	AgentRunning       *bool               `json:"agent_running"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

Instance represents an eCloud instance

type InstanceNotFoundError

type InstanceNotFoundError struct {
	ID string
}

InstanceNotFoundError indicates an instance was not found

func (*InstanceNotFoundError) Error

func (e *InstanceNotFoundError) Error() string

type LoadBalancer

type LoadBalancer struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	VPCID              string              `json:"vpc_id"`
	LoadBalancerSpecID string              `json:"load_balancer_spec_id"`
	Sync               ResourceSync        `json:"sync"`
	Task               ResourceTask        `json:"task"`
	ConfigID           int                 `json:"config_id"`
	Nodes              int                 `json:"nodes"`
	NetworkID          string              `json:"network_id"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

LoadBalancer represents an eCloud loadbalancer

type LoadBalancerClusterNotFoundError

type LoadBalancerClusterNotFoundError struct {
	ID string
}

LoadBalancerClusterNotFoundError indicates a load balancer cluster was not found

func (*LoadBalancerClusterNotFoundError) Error

type LoadBalancerNotFoundError

type LoadBalancerNotFoundError struct {
	ID string
}

LoadBalancerNotFoundError indicates a load balancer was not found

func (*LoadBalancerNotFoundError) Error

func (e *LoadBalancerNotFoundError) Error() string

type LoadBalancerSpec

type LoadBalancerSpec struct {
	ID          string              `json:"id"`
	Name        string              `json:"name"`
	Description string              `json:"description"`
	CreatedAt   connection.DateTime `json:"created_at"`
	UpdatedAt   connection.DateTime `json:"updated_at"`
}

LoadBalancerSpec represents an eCloud loadbalancer specification

type LoadBalancerSpecNotFoundError

type LoadBalancerSpecNotFoundError struct {
	ID string
}

LoadBalancerNetworkNotFoundError indicates a load balancer spec was not found

func (*LoadBalancerSpecNotFoundError) Error

type MigrateInstanceRequest

type MigrateInstanceRequest struct {
	HostGroupID    string `json:"host_group_id,omitempty"`
	ResourceTierID string `json:"resource_tier_id,omitempty"`
}

MigrateInstanceRequest represents a request to migrate an instance

type NATOverloadRule added in v1.15.0

type NATOverloadRule struct {
	ID           string                `json:"id"`
	Name         string                `json:"name"`
	NetworkID    string                `json:"network_id"`
	FloatingIPID string                `json:"floating_ip_id"`
	Subnet       string                `json:"subnet"`
	Action       NATOverloadRuleAction `json:"action"`
	Sync         ResourceSync          `json:"sync"`
	Task         ResourceTask          `json:"task"`
	CreatedAt    connection.DateTime   `json:"created_at"`
	UpdatedAt    connection.DateTime   `json:"updated_at"`
}

NATOverloadRule represents an eCloud NAT overload rule

type NATOverloadRuleAction added in v1.15.0

type NATOverloadRuleAction string
const (
	NATOverloadRuleActionAllow NATOverloadRuleAction = "allow"
	NATOverloadRuleActionDeny  NATOverloadRuleAction = "deny"
)

func (NATOverloadRuleAction) String added in v1.15.0

func (s NATOverloadRuleAction) String() string

type NATOverloadRuleNotFoundError added in v1.15.0

type NATOverloadRuleNotFoundError struct {
	ID string
}

NATOverloadRuleNotFoundError indicates a NAT overload rule was not found

func (*NATOverloadRuleNotFoundError) Error added in v1.15.0

type NIC

type NIC struct {
	ID         string              `json:"id"`
	MACAddress string              `json:"mac_address"`
	InstanceID string              `json:"instance_id"`
	NetworkID  string              `json:"network_id"`
	IPAddress  string              `json:"ip_address"`
	CreatedAt  connection.DateTime `json:"created_at"`
	UpdatedAt  connection.DateTime `json:"updated_at"`
}

NIC represents an eCloud network interface card

type NICNotFoundError

type NICNotFoundError struct {
	ID string
}

NICNotFoundError indicates a NIC was not found

func (*NICNotFoundError) Error

func (e *NICNotFoundError) Error() string

type Network

type Network struct {
	ID        string              `json:"id"`
	Name      string              `json:"name"`
	RouterID  string              `json:"router_id"`
	Subnet    string              `json:"subnet"`
	Sync      ResourceSync        `json:"sync"`
	Task      ResourceTask        `json:"task"`
	CreatedAt connection.DateTime `json:"created_at"`
	UpdatedAt connection.DateTime `json:"updated_at"`
}

Network represents an eCloud network

type NetworkNotFoundError

type NetworkNotFoundError struct {
	ID string
}

NetworkNotFoundError indicates a network was not found

func (*NetworkNotFoundError) Error

func (e *NetworkNotFoundError) Error() string

type NetworkPolicy

type NetworkPolicy struct {
	ID        string              `json:"id"`
	Name      string              `json:"name"`
	NetworkID string              `json:"network_id"`
	VPCID     string              `json:"vpc_id"`
	Sync      ResourceSync        `json:"sync"`
	Task      ResourceTask        `json:"task"`
	CreatedAt connection.DateTime `json:"created_at"`
	UpdatedAt connection.DateTime `json:"updated_at"`
}

NetworkPolicy represents an eCloud network policy

type NetworkPolicyCatchallRuleAction

type NetworkPolicyCatchallRuleAction string
const (
	NetworkPolicyCatchallRuleActionAllow  NetworkPolicyCatchallRuleAction = "ALLOW"
	NetworkPolicyCatchallRuleActionDrop   NetworkPolicyCatchallRuleAction = "DROP"
	NetworkPolicyCatchallRuleActionReject NetworkPolicyCatchallRuleAction = "REJECT"
)

func (NetworkPolicyCatchallRuleAction) String

type NetworkPolicyNotFoundError

type NetworkPolicyNotFoundError struct {
	ID string
}

NetworkPolicyFoundError indicates a network policy was not found

func (*NetworkPolicyNotFoundError) Error

type NetworkRule

type NetworkRule struct {
	ID              string               `json:"id"`
	Name            string               `json:"name"`
	NetworkPolicyID string               `json:"network_policy_id"`
	Sequence        int                  `json:"sequence"`
	Source          string               `json:"source"`
	Destination     string               `json:"destination"`
	Type            string               `json:"type"`
	Action          NetworkRuleAction    `json:"action"`
	Direction       NetworkRuleDirection `json:"direction"`
	Enabled         bool                 `json:"enabled"`
	CreatedAt       connection.DateTime  `json:"created_at"`
	UpdatedAt       connection.DateTime  `json:"updated_at"`
}

NetworkRule represents an eCloud network rule

type NetworkRuleAction

type NetworkRuleAction string
const (
	NetworkRuleActionAllow  NetworkRuleAction = "ALLOW"
	NetworkRuleActionDrop   NetworkRuleAction = "DROP"
	NetworkRuleActionReject NetworkRuleAction = "REJECT"
)

func (NetworkRuleAction) String

func (s NetworkRuleAction) String() string

type NetworkRuleDirection

type NetworkRuleDirection string
const (
	NetworkRuleDirectionIn    NetworkRuleDirection = "IN"
	NetworkRuleDirectionOut   NetworkRuleDirection = "OUT"
	NetworkRuleDirectionInOut NetworkRuleDirection = "IN_OUT"
)

func (NetworkRuleDirection) String

func (s NetworkRuleDirection) String() string

type NetworkRuleNotFoundError

type NetworkRuleNotFoundError struct {
	ID string
}

NetworkRuleNotFoundError indicates a network rule was not found

func (*NetworkRuleNotFoundError) Error

func (e *NetworkRuleNotFoundError) Error() string

type NetworkRulePort

type NetworkRulePort struct {
	ID            string                  `json:"id"`
	Name          string                  `json:"name"`
	NetworkRuleID string                  `json:"network_rule_id"`
	Protocol      NetworkRulePortProtocol `json:"protocol"`
	Source        string                  `json:"source"`
	Destination   string                  `json:"destination"`
	CreatedAt     connection.DateTime     `json:"created_at"`
	UpdatedAt     connection.DateTime     `json:"updated_at"`
}

NetworkRulePort represents an eCloud network rule port

type NetworkRulePortNotFoundError

type NetworkRulePortNotFoundError struct {
	ID string
}

NetworkRulePortNotFoundError indicates a network rule port was not found

func (*NetworkRulePortNotFoundError) Error

type NetworkRulePortProtocol

type NetworkRulePortProtocol string
const (
	NetworkRulePortProtocolTCP    NetworkRulePortProtocol = "TCP"
	NetworkRulePortProtocolUDP    NetworkRulePortProtocol = "UDP"
	NetworkRulePortProtocolICMPv4 NetworkRulePortProtocol = "ICMPv4"
)

func (NetworkRulePortProtocol) String

func (s NetworkRulePortProtocol) String() string

type PatchAffinityRuleRequest

type PatchAffinityRuleRequest struct {
	Name string `json:"name,omitempty"`
}

PatchAffinityRuleRequest represents a request to patch an Affinity Rule

type PatchFirewallPolicyRequest

type PatchFirewallPolicyRequest struct {
	Name     string `json:"name,omitempty"`
	Sequence *int   `json:"sequence,omitempty"`
}

PatchFirewallPolicyRequest represents a request to patch a firewall policy

type PatchFirewallRulePortRequest

type PatchFirewallRulePortRequest struct {
	Name        string                   `json:"name,omitempty"`
	Protocol    FirewallRulePortProtocol `json:"protocol,omitempty"`
	Source      string                   `json:"source,omitempty"`
	Destination string                   `json:"destination,omitempty"`
}

PatchFirewallRulePortRequest represents a request to patch a firewall rule port

type PatchFirewallRuleRequest

type PatchFirewallRuleRequest struct {
	Name        string                         `json:"name,omitempty"`
	Sequence    *int                           `json:"sequence,omitempty"`
	Source      string                         `json:"source,omitempty"`
	Destination string                         `json:"destination,omitempty"`
	Ports       []PatchFirewallRulePortRequest `json:"ports,omitempty"`
	Action      FirewallRuleAction             `json:"action,omitempty"`
	Direction   FirewallRuleDirection          `json:"direction,omitempty"`
	Enabled     *bool                          `json:"enabled,omitempty"`
}

PatchFirewallRuleRequest represents a request to patch a firewall rule

type PatchFloatingIPRequest

type PatchFloatingIPRequest struct {
	Name string `json:"name,omitempty"`
}

PatchFloatingIPRequest represents a request to patch a floating IP

type PatchHostGroupRequest

type PatchHostGroupRequest struct {
	Name string `json:"name,omitempty"`
}

PatchHostGroupRequest represents a request to patch a host group

type PatchHostRequest

type PatchHostRequest struct {
	Name string `json:"name,omitempty"`
}

PatchHostRequest represents a request to patch a host

type PatchIPAddressRequest

type PatchIPAddressRequest struct {
	Name string `json:"name,omitempty"`
}

PatchIPAddressRequest represents a request to patch a network IP Address

type PatchInstanceRequest

type PatchInstanceRequest struct {
	Name               string  `json:"name,omitempty"`
	VCPUCores          int     `json:"vcpu_cores,omitempty"`
	VCPUSockets        int     `json:"vcpu_sockets,omitempty"`
	VCPUCoresPerSocket int     `json:"vcpu_cores_per_socket,omitempty"`
	RAMCapacity        int     `json:"ram_capacity,omitempty"`
	VolumeGroupID      *string `json:"volume_group_id,omitempty"`
}

PatchInstanceRequest represents a request to patch an instance

type PatchLoadBalancerClusterRequest

type PatchLoadBalancerClusterRequest struct {
	Name string `json:"name,omitempty"`
}

PatchLoadBalancerClusterRequest represents a request to patch a load balancer cluster

type PatchLoadBalancerRequest

type PatchLoadBalancerRequest struct {
	Name string `json:"name,omitempty"`
}

CreateLoadBalancerRequest represents a request to patch a load balancer

type PatchNATOverloadRuleRequest added in v1.15.0

type PatchNATOverloadRuleRequest struct {
	Name   string                `json:"name,omitempty"`
	Subnet string                `json:"subnet,omitempty"`
	Action NATOverloadRuleAction `json:"action,omitempty"`
}

NATOverloadRule represents an eCloud NAT overload rule

type PatchNetworkPolicyRequest

type PatchNetworkPolicyRequest struct {
	Name               string                          `json:"name,omitempty"`
	CatchallRuleAction NetworkPolicyCatchallRuleAction `json:"catchall_rule_action,omitempty"`
}

PatchNetworkPolicyRequest represents a request to patch a network policy

type PatchNetworkRequest

type PatchNetworkRequest struct {
	Name string `json:"name,omitempty"`
}

PatchNetworkRequest represents a request to patch a network

type PatchNetworkRulePortRequest

type PatchNetworkRulePortRequest struct {
	Name        string                  `json:"name,omitempty"`
	Protocol    NetworkRulePortProtocol `json:"protocol,omitempty"`
	Source      string                  `json:"source,omitempty"`
	Destination string                  `json:"destination,omitempty"`
}

PatchNetworkRulePortRequest represents a request to patch a network rule port

type PatchNetworkRuleRequest

type PatchNetworkRuleRequest struct {
	Name        string                        `json:"name,omitempty"`
	Sequence    *int                          `json:"sequence,omitempty"`
	Source      string                        `json:"source,omitempty"`
	Destination string                        `json:"destination,omitempty"`
	Ports       []PatchNetworkRulePortRequest `json:"ports,omitempty"`
	Action      NetworkRuleAction             `json:"action,omitempty"`
	Direction   NetworkRuleDirection          `json:"direction,omitempty"`
	Enabled     *bool                         `json:"enabled,omitempty"`
}

PatchNetworkRuleRequest represents a request to patch a network rule

type PatchRouterRequest

type PatchRouterRequest struct {
	Name               string `json:"name,omitempty"`
	RouterThroughputID string `json:"router_throughput_id,omitempty"`
}

PatchRouterRequest represents a request to patch a router

type PatchSSHKeyPairRequest

type PatchSSHKeyPairRequest struct {
	Name      string `json:"name,omitempty"`
	PublicKey string `json:"public_key,omitempty"`
}

PatchSSHKeyPairRequest represents a request to patch a SSH key pair

type PatchSolutionRequest

type PatchSolutionRequest struct {
	Name              *string `json:"name,omitempty"`
	EncryptionDefault *bool   `json:"encryption_default,omitempty"`
}

PatchSolutionRequest represents an eCloud solution patch request

func (*PatchSolutionRequest) Validate

Validate returns an error if struct properties are missing/invalid

type PatchTagRequest

type PatchTagRequest struct {
	Value string `json:"value,omitempty"`
}

PatchTagRequest represents an eCloud tag patch request

func (*PatchTagRequest) Validate

Validate returns an error if struct properties are missing/invalid

type PatchVIPRequest

type PatchVIPRequest struct {
	Name string `json:"name,omitempty"`
}

PatchVIPRequest represents a request to patch a load balancer VIP

type PatchVPCRequest

type PatchVPCRequest struct {
	Name     string `json:"name,omitempty"`
	ClientID *int   `json:"client_id,omitempty"`
}

PatchVPCRequest represents a request to patch a VPC

type PatchVPNEndpointRequest

type PatchVPNEndpointRequest struct {
	Name string `json:"name,omitempty"`
}

PatchVPNEndpointRequest represents a request to patch a VPN endpoint

type PatchVPNServiceRequest

type PatchVPNServiceRequest struct {
	Name string `json:"name,omitempty"`
}

PatchVPNServiceRequest represents a request to patch a VPN service

type PatchVPNSessionRequest

type PatchVPNSessionRequest struct {
	Name              string               `json:"name,omitempty"`
	VPNProfileGroupID string               `json:"vpn_profile_group_id,omitempty"`
	RemoteIP          connection.IPAddress `json:"remote_ip,omitempty"`
	RemoteNetworks    string               `json:"remote_networks,omitempty"`
	LocalNetworks     string               `json:"local_networks,omitempty"`
}

PatchVPNSessionRequest represents a request to patch a VPN session

type PatchVirtualMachineRequest

type PatchVirtualMachineRequest struct {
	Name *string `json:"name,omitempty"`
	// Count in Cores
	CPU int `json:"cpu,omitempty"`
	// Size in GB
	RAM int `json:"ram,omitempty"`
	// KV map of hard disks, key being hard disk name, value being size in GB
	Disks []PatchVirtualMachineRequestDisk `json:"hdd_disks,omitempty"`
	Role  string                           `json:"role,omitempty"`
}

PatchVirtualMachineRequest represents an eCloud virtual machine patch request

func (*PatchVirtualMachineRequest) Validate

Validate returns an error if struct properties are missing/invalid

type PatchVirtualMachineRequestDisk

type PatchVirtualMachineRequestDisk struct {
	UUID string `json:"uuid,omitempty"`
	// Size in GB
	Capacity int                                 `json:"capacity,omitempty"`
	State    PatchVirtualMachineRequestDiskState `json:"state,omitempty"`
}

PatchVirtualMachineRequestDisk represents an eCloud virtual machine patch request disk

type PatchVirtualMachineRequestDiskState

type PatchVirtualMachineRequestDiskState string
const (
	PatchVirtualMachineRequestDiskStatePresent PatchVirtualMachineRequestDiskState = "present"
	PatchVirtualMachineRequestDiskStateAbsent  PatchVirtualMachineRequestDiskState = "absent"
)

func (PatchVirtualMachineRequestDiskState) String

type PatchVolumeGroupRequest

type PatchVolumeGroupRequest struct {
	Name string `json:"name,omitempty"`
}

PatchVolumeGroupRequest represents a request to patch a volume group

type PatchVolumeRequest

type PatchVolumeRequest struct {
	Name          string  `json:"name,omitempty"`
	Capacity      int     `json:"capacity,omitempty"`
	IOPS          int     `json:"iops,omitempty"`
	VolumeGroupID *string `json:"volume_group_id,omitempty"`
}

PatchVolumeRequest represents a request to patch a volume

type Pod

type Pod struct {
	ID       int    `json:"id"`
	Name     string `json:"name"`
	Services struct {
		Public     bool `json:"public"`
		Burst      bool `json:"burst"`
		Appliances bool `json:"appliances"`
	} `json:"services"`
}

Pod represents an eCloud pod

type PodNotFoundError

type PodNotFoundError struct {
	ID int
}

PodNotFoundError indicates a pod was not found within eCloud

func (*PodNotFoundError) Error

func (e *PodNotFoundError) Error() string

type Region

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

Region represents an eCloud region

type RegionNotFoundError

type RegionNotFoundError struct {
	ID string
}

RegionNotFoundError indicates a region was not found

func (*RegionNotFoundError) Error

func (e *RegionNotFoundError) Error() string

type RenameTemplateRequest

type RenameTemplateRequest struct {
	connection.APIRequestBodyDefaultValidator

	Destination string `json:"destination" validate:"required"`
}

RenameTemplateRequest represents an eCloud template rename request

func (*RenameTemplateRequest) Validate

Validate returns an error if struct properties are missing/invalid

type ResourceSync

type ResourceSync struct {
	Status SyncStatus `json:"status"`
	Type   SyncType   `json:"type"`
}

ResourceSync represents the sync status of a resource

type ResourceTask added in v1.16.10

type ResourceTask struct {
	InProgress bool `json:"in_progress"`
}

ResourceTask represents the task status of a resource

type ResourceTier added in v1.8.0

type ResourceTier struct {
	ID                 string `json:"id"`
	Name               string `json:"name"`
	AvailabilityZoneID string `json:"availability_zone_id"`
}

type ResourceTierNotFoundError added in v1.8.0

type ResourceTierNotFoundError struct {
	ID string
}

ResourceTierNotFoundError indicates a resource tier was not found

func (*ResourceTierNotFoundError) Error added in v1.8.0

func (e *ResourceTierNotFoundError) Error() string

type Router

type Router struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	VPCID              string              `json:"vpc_id"`
	RouterThroughputID string              `json:"router_throughput_id"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	Sync               ResourceSync        `json:"sync"`
	Task               ResourceTask        `json:"task"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

Router represents an eCloud router

type RouterNotFoundError

type RouterNotFoundError struct {
	ID string
}

RouterNotFoundError indicates a router was not found

func (*RouterNotFoundError) Error

func (e *RouterNotFoundError) Error() string

type RouterThroughput

type RouterThroughput struct {
	ID                 string              `json:"id"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	Name               string              `json:"name"`
	CommittedBandwidth int                 `json:"committed_bandwidth"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

RouterThroughput represents an eCloud router throughput

type RouterThroughputNotFoundError

type RouterThroughputNotFoundError struct {
	ID string
}

RouterThroughputNotFoundError indicates a router throughput was not found

func (*RouterThroughputNotFoundError) Error

type SSHKeyPair

type SSHKeyPair struct {
	ID        string `json:"id"`
	Name      string `json:"name"`
	PublicKey string `json:"public_key"`
}

SSHKeyPair represents an eCloud SSH key pair

type SSHKeyPairNotFoundError

type SSHKeyPairNotFoundError struct {
	ID string
}

SSHKeyPairFoundError indicates a SSH key pair was not found

func (*SSHKeyPairNotFoundError) Error

func (e *SSHKeyPairNotFoundError) Error() string

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service implements ECloudService for managing eCloud via the UKFast API

func NewService

func NewService(connection connection.Connection) *Service

NewService returns a new instance of eCloud Service

func (*Service) ApproveDiscountPlan

func (s *Service) ApproveDiscountPlan(discID string) error

ApproveDiscountPlan approves a floating IP to a resource

func (*Service) AssignFloatingIP

func (s *Service) AssignFloatingIP(fipID string, req AssignFloatingIPRequest) (string, error)

AssignFloatingIP assigns a floating IP to a resource

func (*Service) AssignNICIPAddress

func (s *Service) AssignNICIPAddress(nicID string, req AssignIPAddressRequest) (string, error)

func (*Service) AttachInstanceVolume

func (s *Service) AttachInstanceVolume(instanceID string, req AttachDetachInstanceVolumeRequest) (string, error)

AttachInstanceVolume attaches a volume to an instance

func (*Service) CloneVirtualMachine

func (s *Service) CloneVirtualMachine(vmID int, req CloneVirtualMachineRequest) (int, error)

CloneVirtualMachine clones a virtual machine

func (*Service) CreateAffinityRule

func (s *Service) CreateAffinityRule(req CreateAffinityRuleRequest) (TaskReference, error)

CreateAffinityRule creates a new AffinityRule

func (*Service) CreateAffinityRuleMember

func (s *Service) CreateAffinityRuleMember(req CreateAffinityRuleMemberRequest) (TaskReference, error)

CreateAffinityRuleMember creates a new AffinityRuleMember

func (*Service) CreateFirewallPolicy

func (s *Service) CreateFirewallPolicy(req CreateFirewallPolicyRequest) (TaskReference, error)

CreateFirewallPolicy creates a new FirewallPolicy

func (*Service) CreateFirewallRule

func (s *Service) CreateFirewallRule(req CreateFirewallRuleRequest) (TaskReference, error)

CreateFirewallRule creates a new FirewallRule

func (*Service) CreateFirewallRulePort

func (s *Service) CreateFirewallRulePort(req CreateFirewallRulePortRequest) (TaskReference, error)

CreateFirewallRulePort creates a new FirewallRulePort

func (*Service) CreateFloatingIP

func (s *Service) CreateFloatingIP(req CreateFloatingIPRequest) (TaskReference, error)

CreateFloatingIP creates a new FloatingIP

func (*Service) CreateHost

func (s *Service) CreateHost(req CreateHostRequest) (TaskReference, error)

CreateHost creates a host

func (*Service) CreateHostGroup

func (s *Service) CreateHostGroup(req CreateHostGroupRequest) (TaskReference, error)

CreateHostGroup creates a host group

func (*Service) CreateIPAddress

func (s *Service) CreateIPAddress(req CreateIPAddressRequest) (TaskReference, error)

CreateIPAddress creates a new IPAddress

func (*Service) CreateInstance

func (s *Service) CreateInstance(req CreateInstanceRequest) (string, error)

CreateInstance creates a new instance

func (*Service) CreateInstanceConsoleSession

func (s *Service) CreateInstanceConsoleSession(instanceID string) (ConsoleSession, error)

CreateInstanceConsoleSession creates an instance console session

func (*Service) CreateInstanceImage added in v1.10.0

func (s *Service) CreateInstanceImage(instanceID string, req CreateInstanceImageRequest) (TaskReference, error)

CreateInstanceImage attaches a volume to an instance

func (*Service) CreateLoadBalancer

func (s *Service) CreateLoadBalancer(req CreateLoadBalancerRequest) (TaskReference, error)

CreateLoadBalancer creates a new LoadBalancer

func (*Service) CreateNATOverloadRule added in v1.15.0

func (s *Service) CreateNATOverloadRule(req CreateNATOverloadRuleRequest) (TaskReference, error)

CreateNATOverloadRule creates a new NAT overload

func (*Service) CreateNetwork

func (s *Service) CreateNetwork(req CreateNetworkRequest) (string, error)

CreateNetwork creates a new Network

func (*Service) CreateNetworkPolicy

func (s *Service) CreateNetworkPolicy(req CreateNetworkPolicyRequest) (TaskReference, error)

CreateNetworkPolicy creates a new NetworkPolicy

func (*Service) CreateNetworkRule

func (s *Service) CreateNetworkRule(req CreateNetworkRuleRequest) (TaskReference, error)

CreateNetworkRule creates a new NetworkRule

func (*Service) CreateNetworkRulePort

func (s *Service) CreateNetworkRulePort(req CreateNetworkRulePortRequest) (TaskReference, error)

CreateNetworkRulePort creates a new NetworkRulePort

func (*Service) CreateRouter

func (s *Service) CreateRouter(req CreateRouterRequest) (string, error)

CreateRouter creates a new Router

func (*Service) CreateSSHKeyPair

func (s *Service) CreateSSHKeyPair(req CreateSSHKeyPairRequest) (string, error)

CreateSSHKeyPair creates a new SSHKeyPair

func (*Service) CreateSolutionTag

func (s *Service) CreateSolutionTag(solutionID int, req CreateTagRequest) error

CreateSolutionTag creates a new solution tag

func (*Service) CreateVIP

func (s *Service) CreateVIP(req CreateVIPRequest) (TaskReference, error)

CreateVIP creates a new VIP

func (*Service) CreateVPC

func (s *Service) CreateVPC(req CreateVPCRequest) (string, error)

CreateVPC creates a new VPC

func (*Service) CreateVPNEndpoint

func (s *Service) CreateVPNEndpoint(req CreateVPNEndpointRequest) (TaskReference, error)

CreateVPNEndpoint creates a new VPN endpoint

func (*Service) CreateVPNService

func (s *Service) CreateVPNService(req CreateVPNServiceRequest) (TaskReference, error)

CreateVPNService creates a new VPN service

func (*Service) CreateVPNSession

func (s *Service) CreateVPNSession(req CreateVPNSessionRequest) (TaskReference, error)

CreateVPNSession creates a new VPN session

func (*Service) CreateVirtualMachine

func (s *Service) CreateVirtualMachine(req CreateVirtualMachineRequest) (int, error)

CreateVirtualMachine creates a new virtual machine

func (*Service) CreateVirtualMachineConsoleSession

func (s *Service) CreateVirtualMachineConsoleSession(vmID int) (ConsoleSession, error)

CreateVirtualMachineConsoleSession creates a virtual machine console session

func (*Service) CreateVirtualMachineTag

func (s *Service) CreateVirtualMachineTag(vmID int, req CreateTagRequest) error

CreateVirtualMachineTag creates a new virtual machine tag

func (*Service) CreateVirtualMachineTemplate

func (s *Service) CreateVirtualMachineTemplate(vmID int, req CreateVirtualMachineTemplateRequest) error

CreateVirtualMachineTemplate creates a virtual machine template

func (*Service) CreateVolume

func (s *Service) CreateVolume(req CreateVolumeRequest) (TaskReference, error)

CreateVolume creates a volume

func (*Service) CreateVolumeGroup

func (s *Service) CreateVolumeGroup(req CreateVolumeGroupRequest) (TaskReference, error)

CreateVolumeGroup creates a volumeGroup

func (*Service) DecryptInstance added in v1.16.3

func (s *Service) DecryptInstance(instanceID string) (string, error)

DecryptInstance decrypts an instance

func (*Service) DeleteAffinityRule

func (s *Service) DeleteAffinityRule(affinityruleID string) (string, error)

DeleteAffinityRule deletes a AffinityRule

func (*Service) DeleteAffinityRuleMember

func (s *Service) DeleteAffinityRuleMember(memberID string) (string, error)

DeleteAffinityRuleMember deletes a AffinityRuleMember

func (*Service) DeleteFirewallPolicy

func (s *Service) DeleteFirewallPolicy(policyID string) (string, error)

DeleteFirewallPolicy deletes a FirewallPolicy

func (*Service) DeleteFirewallRule

func (s *Service) DeleteFirewallRule(ruleID string) (string, error)

DeleteFirewallRule deletes a FirewallRule

func (*Service) DeleteFirewallRulePort

func (s *Service) DeleteFirewallRulePort(ruleID string) (string, error)

DeleteFirewallRulePort deletes a FirewallRulePort

func (*Service) DeleteFloatingIP

func (s *Service) DeleteFloatingIP(fipID string) (string, error)

DeleteFloatingIP deletes a floating IP

func (*Service) DeleteHost

func (s *Service) DeleteHost(hostID string) (string, error)

DeleteHost deletes a host

func (*Service) DeleteHostGroup

func (s *Service) DeleteHostGroup(hostGroupID string) (string, error)

DeleteHostGroup deletes a host group

func (*Service) DeleteIPAddress

func (s *Service) DeleteIPAddress(ipID string) (string, error)

DeleteIPAddress deletes a IPAddress

func (*Service) DeleteImage added in v1.10.0

func (s *Service) DeleteImage(imageID string) (string, error)

DeleteImage removes a single Image by ID

func (*Service) DeleteInstance

func (s *Service) DeleteInstance(instanceID string) error

DeleteInstance removes an instance

func (*Service) DeleteLoadBalancer

func (s *Service) DeleteLoadBalancer(loadbalancerID string) (string, error)

DeleteLoadBalancer deletes a LoadBalancer

func (*Service) DeleteNATOverloadRule added in v1.15.0

func (s *Service) DeleteNATOverloadRule(ruleID string) (string, error)

DeleteNATOverloadRule deletes a NAT overload

func (*Service) DeleteNetwork

func (s *Service) DeleteNetwork(networkID string) error

DeleteNetwork deletes a Network

func (*Service) DeleteNetworkPolicy

func (s *Service) DeleteNetworkPolicy(policyID string) (string, error)

DeleteNetworkPolicy deletes a NetworkPolicy

func (*Service) DeleteNetworkRule

func (s *Service) DeleteNetworkRule(ruleID string) (string, error)

DeleteNetworkRule deletes a NetworkRule

func (*Service) DeleteNetworkRulePort

func (s *Service) DeleteNetworkRulePort(ruleID string) (string, error)

DeleteNetworkRulePort deletes a NetworkRulePort

func (*Service) DeletePodTemplate

func (s *Service) DeletePodTemplate(podID int, templateName string) error

DeletePodTemplate removes a pod template

func (*Service) DeleteRouter

func (s *Service) DeleteRouter(routerID string) error

DeleteRouter deletes a Router

func (*Service) DeleteSSHKeyPair

func (s *Service) DeleteSSHKeyPair(keypairID string) error

DeleteSSHKeyPair deletes a SSHKeyPair

func (*Service) DeleteSolutionTag

func (s *Service) DeleteSolutionTag(solutionID int, tagKey string) error

DeleteSolutionTag removes a solution tag

func (*Service) DeleteSolutionTemplate

func (s *Service) DeleteSolutionTemplate(solutionID int, templateName string) error

DeleteSolutionTemplate removes a solution template

func (*Service) DeleteVIP

func (s *Service) DeleteVIP(vipID string) (string, error)

DeleteVIP deletes a VIP

func (*Service) DeleteVPC

func (s *Service) DeleteVPC(vpcID string) error

DeleteVPC deletes a VPC

func (*Service) DeleteVPNEndpoint

func (s *Service) DeleteVPNEndpoint(endpointID string) (string, error)

DeleteVPNEndpoint deletes a VPN endpoint

func (*Service) DeleteVPNService

func (s *Service) DeleteVPNService(serviceID string) (string, error)

DeleteVPNService deletes a VPN service

func (*Service) DeleteVPNSession

func (s *Service) DeleteVPNSession(sessionID string) (string, error)

DeleteVPNSession deletes a VPN session

func (*Service) DeleteVirtualMachine

func (s *Service) DeleteVirtualMachine(vmID int) error

DeleteVirtualMachine removes a virtual machine

func (*Service) DeleteVirtualMachineTag

func (s *Service) DeleteVirtualMachineTag(vmID int, tagKey string) error

DeleteVirtualMachineTag removes a virtual machine tag

func (*Service) DeleteVolume

func (s *Service) DeleteVolume(volumeID string) (string, error)

DeleteVolume deletes a Volume

func (*Service) DeleteVolumeGroup

func (s *Service) DeleteVolumeGroup(volumeGroupID string) (string, error)

DeleteVolumeGroup deletes a volumeGroup

func (*Service) DeployRouterDefaultFirewallPolicies

func (s *Service) DeployRouterDefaultFirewallPolicies(routerID string) error

DeployRouterDefaultFirewallPolicies deploys default firewall policy resources for specified router

func (*Service) DeployVPCDefaults

func (s *Service) DeployVPCDefaults(vpcID string) error

DeployVPCDefaults deploys default resources for specified VPC

func (*Service) DetachInstanceVolume

func (s *Service) DetachInstanceVolume(instanceID string, req AttachDetachInstanceVolumeRequest) (string, error)

DetachInstanceVolume detaches a volume from an instance

func (*Service) EncryptInstance added in v1.16.3

func (s *Service) EncryptInstance(instanceID string) (string, error)

EncryptInstance encrypts an instance

func (*Service) ExecuteInstanceScript added in v1.19.0

func (s *Service) ExecuteInstanceScript(instanceID string, req ExecuteInstanceScriptRequest) (string, error)

func (*Service) GetActiveDirectoryDomain

func (s *Service) GetActiveDirectoryDomain(domainID int) (ActiveDirectoryDomain, error)

GetActiveDirectoryDomain retrieves a single domain by ID

func (*Service) GetActiveDirectoryDomains

func (s *Service) GetActiveDirectoryDomains(parameters connection.APIRequestParameters) ([]ActiveDirectoryDomain, error)

GetActiveDirectoryDomains retrieves a list of Active Directory Domains

func (*Service) GetActiveDirectoryDomainsPaginated

func (s *Service) GetActiveDirectoryDomainsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[ActiveDirectoryDomain], error)

GetActiveDirectoryDomainsPaginated retrieves a paginated list of Active Directory Domains

func (*Service) GetAffinityRule

func (s *Service) GetAffinityRule(affinityruleID string) (AffinityRule, error)

GetAffinityRule retrieves a single AffinityRule by id

func (*Service) GetAffinityRuleMember

func (s *Service) GetAffinityRuleMember(memberID string) (AffinityRuleMember, error)

GetAffinityRuleMember retrieves a single AffinityRuleMember by id

func (*Service) GetAffinityRuleMembers

func (s *Service) GetAffinityRuleMembers(affinityRuleID string, parameters connection.APIRequestParameters) ([]AffinityRuleMember, error)

GetAffinityRuleMembers retrieves a list of affinity rule members

func (*Service) GetAffinityRuleMembersPaginated

func (s *Service) GetAffinityRuleMembersPaginated(affinityRuleID string, parameters connection.APIRequestParameters) (*connection.Paginated[AffinityRuleMember], error)

GetAffinityRuleMembersPaginated retrieves a paginated list of affinity rule members

func (*Service) GetAffinityRules

func (s *Service) GetAffinityRules(parameters connection.APIRequestParameters) ([]AffinityRule, error)

GetAffinityRules retrieves a list of affinity rules

func (*Service) GetAffinityRulesPaginated

func (s *Service) GetAffinityRulesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[AffinityRule], error)

GetAffinityRulesPaginated retrieves a paginated list of affinity rules

func (*Service) GetAppliance

func (s *Service) GetAppliance(applianceID string) (Appliance, error)

GetAppliance retrieves a single Appliance by ID

func (*Service) GetApplianceParameters

func (s *Service) GetApplianceParameters(applianceID string, parameters connection.APIRequestParameters) ([]ApplianceParameter, error)

GetApplianceParameters retrieves a list of parameters

func (*Service) GetApplianceParametersPaginated

func (s *Service) GetApplianceParametersPaginated(applianceID string, parameters connection.APIRequestParameters) (*connection.Paginated[ApplianceParameter], error)

GetApplianceParametersPaginated retrieves a paginated list of domains

func (*Service) GetAppliances

func (s *Service) GetAppliances(parameters connection.APIRequestParameters) ([]Appliance, error)

GetAppliances retrieves a list of appliances

func (*Service) GetAppliancesPaginated

func (s *Service) GetAppliancesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Appliance], error)

GetAppliancesPaginated retrieves a paginated list of appliances

func (*Service) GetAvailabilityZone

func (s *Service) GetAvailabilityZone(azID string) (AvailabilityZone, error)

GetAvailabilityZone retrieves a single az by id

func (*Service) GetAvailabilityZoneIOPSTiers added in v1.16.6

func (s *Service) GetAvailabilityZoneIOPSTiers(azID string, parameters connection.APIRequestParameters) ([]IOPSTier, error)

GetAvailabilityZones retrieves a list of azs

func (*Service) GetAvailabilityZoneIOPSTiersPaginated added in v1.16.6

func (s *Service) GetAvailabilityZoneIOPSTiersPaginated(azID string, parameters connection.APIRequestParameters) (*connection.Paginated[IOPSTier], error)

GetAvailabilityZonesPaginated retrieves a paginated list of azs

func (*Service) GetAvailabilityZones

func (s *Service) GetAvailabilityZones(parameters connection.APIRequestParameters) ([]AvailabilityZone, error)

GetAvailabilityZones retrieves a list of azs

func (*Service) GetAvailabilityZonesPaginated

func (s *Service) GetAvailabilityZonesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[AvailabilityZone], error)

GetAvailabilityZonesPaginated retrieves a paginated list of azs

func (*Service) GetBillingMetric

func (s *Service) GetBillingMetric(metricID string) (BillingMetric, error)

GetBillingMetric retrieves a single billing metrics by id

func (*Service) GetBillingMetrics

func (s *Service) GetBillingMetrics(parameters connection.APIRequestParameters) ([]BillingMetric, error)

GetBillingMetrics retrieves a list of billing metrics

func (*Service) GetBillingMetricsPaginated

func (s *Service) GetBillingMetricsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[BillingMetric], error)

GetBillingMetricsPaginated retrieves a paginated list of billing metrics

func (*Service) GetCredits

func (s *Service) GetCredits(parameters connection.APIRequestParameters) ([]account.Credit, error)

GetCredits retrieves a list of credits

func (*Service) GetDHCP

func (s *Service) GetDHCP(dhcpID string) (DHCP, error)

GetDHCP retrieves a single dhcp by id

func (*Service) GetDHCPTasks

func (s *Service) GetDHCPTasks(dhcpID string, parameters connection.APIRequestParameters) ([]Task, error)

GetDHCPTasks retrieves a list of DHCP tasks

func (*Service) GetDHCPTasksPaginated

func (s *Service) GetDHCPTasksPaginated(dhcpID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetDHCPTasksPaginated retrieves a paginated list of DHCP tasks

func (*Service) GetDHCPs

func (s *Service) GetDHCPs(parameters connection.APIRequestParameters) ([]DHCP, error)

GetDHCPs retrieves a list of dhcps

func (*Service) GetDHCPsPaginated

func (s *Service) GetDHCPsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[DHCP], error)

GetDHCPsPaginated retrieves a paginated list of dhcps

func (*Service) GetDatastore

func (s *Service) GetDatastore(datastoreID int) (Datastore, error)

GetDatastore retrieves a single datastore by ID

func (*Service) GetDatastores

func (s *Service) GetDatastores(parameters connection.APIRequestParameters) ([]Datastore, error)

GetDatastores retrieves a list of datastores

func (*Service) GetDatastoresPaginated

func (s *Service) GetDatastoresPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Datastore], error)

GetDatastoresPaginated retrieves a paginated list of datastores

func (*Service) GetDiscountPlan

func (s *Service) GetDiscountPlan(discID string) (DiscountPlan, error)

GetDiscountPlan retrieves a single discount plan by id

func (*Service) GetDiscountPlans

func (s *Service) GetDiscountPlans(parameters connection.APIRequestParameters) ([]DiscountPlan, error)

GetDiscountPlans retrieves a list of discount plans

func (*Service) GetDiscountPlansPaginated

func (s *Service) GetDiscountPlansPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[DiscountPlan], error)

GetDiscountPlansPaginated retrieves a paginated list of discount plans

func (*Service) GetFirewall

func (s *Service) GetFirewall(firewallID int) (Firewall, error)

GetFirewall retrieves a single firewall by ID

func (*Service) GetFirewallConfig

func (s *Service) GetFirewallConfig(firewallID int) (FirewallConfig, error)

GetFirewallConfig retrieves a single firewall config by ID

func (*Service) GetFirewallPolicies

func (s *Service) GetFirewallPolicies(parameters connection.APIRequestParameters) ([]FirewallPolicy, error)

GetFirewallPolicies retrieves a list of firewall policies

func (*Service) GetFirewallPoliciesPaginated

func (s *Service) GetFirewallPoliciesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[FirewallPolicy], error)

GetFirewallPoliciesPaginated retrieves a paginated list of firewall policies

func (*Service) GetFirewallPolicy

func (s *Service) GetFirewallPolicy(policyID string) (FirewallPolicy, error)

GetFirewallPolicy retrieves a single firewall policy by id

func (*Service) GetFirewallPolicyFirewallRules

func (s *Service) GetFirewallPolicyFirewallRules(policyID string, parameters connection.APIRequestParameters) ([]FirewallRule, error)

GetFirewallPolicyFirewallRules retrieves a list of firewall policy rules

func (*Service) GetFirewallPolicyFirewallRulesPaginated

func (s *Service) GetFirewallPolicyFirewallRulesPaginated(policyID string, parameters connection.APIRequestParameters) (*connection.Paginated[FirewallRule], error)

GetFirewallPolicyFirewallRulesPaginated retrieves a paginated list of firewall policy FirewallRules

func (*Service) GetFirewallPolicyTasks

func (s *Service) GetFirewallPolicyTasks(policyID string, parameters connection.APIRequestParameters) ([]Task, error)

GetFirewallPolicyTasks retrieves a list of FirewallPolicy tasks

func (*Service) GetFirewallPolicyTasksPaginated

func (s *Service) GetFirewallPolicyTasksPaginated(policyID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetFirewallPolicyTasksPaginated retrieves a paginated list of FirewallPolicy tasks

func (*Service) GetFirewallRule

func (s *Service) GetFirewallRule(ruleID string) (FirewallRule, error)

GetFirewallRule retrieves a single rule by id

func (*Service) GetFirewallRuleFirewallRulePorts

func (s *Service) GetFirewallRuleFirewallRulePorts(firewallRuleID string, parameters connection.APIRequestParameters) ([]FirewallRulePort, error)

GetFirewallRuleFirewallRulePorts retrieves a list of firewall rule ports

func (*Service) GetFirewallRuleFirewallRulePortsPaginated

func (s *Service) GetFirewallRuleFirewallRulePortsPaginated(firewallRuleID string, parameters connection.APIRequestParameters) (*connection.Paginated[FirewallRulePort], error)

GetFirewallRuleFirewallRulePortsPaginated retrieves a paginated list of firewall rule ports

func (*Service) GetFirewallRulePort

func (s *Service) GetFirewallRulePort(ruleID string) (FirewallRulePort, error)

GetFirewallRulePort retrieves a single rule by id

func (*Service) GetFirewallRulePorts

func (s *Service) GetFirewallRulePorts(parameters connection.APIRequestParameters) ([]FirewallRulePort, error)

GetFirewallRulePorts retrieves a list of firewall rules

func (*Service) GetFirewallRulePortsPaginated

func (s *Service) GetFirewallRulePortsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[FirewallRulePort], error)

GetFirewallRulePortsPaginated retrieves a paginated list of firewall rules

func (*Service) GetFirewallRules

func (s *Service) GetFirewallRules(parameters connection.APIRequestParameters) ([]FirewallRule, error)

GetFirewallRules retrieves a list of firewall rules

func (*Service) GetFirewallRulesPaginated

func (s *Service) GetFirewallRulesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[FirewallRule], error)

GetFirewallRulesPaginated retrieves a paginated list of firewall rules

func (*Service) GetFirewalls

func (s *Service) GetFirewalls(parameters connection.APIRequestParameters) ([]Firewall, error)

GetFirewalls retrieves a list of firewalls

func (*Service) GetFirewallsPaginated

func (s *Service) GetFirewallsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Firewall], error)

GetFirewallsPaginated retrieves a paginated list of firewalls

func (*Service) GetFloatingIP

func (s *Service) GetFloatingIP(fipID string) (FloatingIP, error)

GetFloatingIP retrieves a single floating ip by id

func (*Service) GetFloatingIPTasks

func (s *Service) GetFloatingIPTasks(fipID string, parameters connection.APIRequestParameters) ([]Task, error)

GetFloatingIPTasks retrieves a list of FloatingIP tasks

func (*Service) GetFloatingIPTasksPaginated

func (s *Service) GetFloatingIPTasksPaginated(fipID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetFloatingIPTasksPaginated retrieves a paginated list of FloatingIP tasks

func (*Service) GetFloatingIPs

func (s *Service) GetFloatingIPs(parameters connection.APIRequestParameters) ([]FloatingIP, error)

GetFloatingIPs retrieves a list of floating ips

func (*Service) GetFloatingIPsPaginated

func (s *Service) GetFloatingIPsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[FloatingIP], error)

GetFloatingIPsPaginated retrieves a paginated list of floating ips

func (*Service) GetHost

func (s *Service) GetHost(hostID string) (Host, error)

GetHost retrieves a single host by id

func (*Service) GetHostGroup

func (s *Service) GetHostGroup(hostGroupID string) (HostGroup, error)

GetHostGroup retrieves a single host group by id

func (*Service) GetHostGroupTasks

func (s *Service) GetHostGroupTasks(hostGroupID string, parameters connection.APIRequestParameters) ([]Task, error)

GetHostGroupTasks retrieves a list of HostGroup tasks

func (*Service) GetHostGroupTasksPaginated

func (s *Service) GetHostGroupTasksPaginated(hostGroupID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetHostGroupTasksPaginated retrieves a paginated list of HostGroup tasks

func (*Service) GetHostGroups

func (s *Service) GetHostGroups(parameters connection.APIRequestParameters) ([]HostGroup, error)

GetHostGroups retrieves a list of host groups

func (*Service) GetHostGroupsPaginated

func (s *Service) GetHostGroupsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[HostGroup], error)

GetHostGroupsPaginated retrieves a paginated list of host groups

func (*Service) GetHostSpec

func (s *Service) GetHostSpec(specID string) (HostSpec, error)

GetHostSpec retrieves a single host spec by id

func (*Service) GetHostSpecs

func (s *Service) GetHostSpecs(parameters connection.APIRequestParameters) ([]HostSpec, error)

GetHostSpecs retrieves a list of host specs

func (*Service) GetHostSpecsPaginated

func (s *Service) GetHostSpecsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[HostSpec], error)

GetHostSpecsPaginated retrieves a paginated list of host specs

func (*Service) GetHostTasks

func (s *Service) GetHostTasks(hostID string, parameters connection.APIRequestParameters) ([]Task, error)

GetHostTasks retrieves a list of Host tasks

func (*Service) GetHostTasksPaginated

func (s *Service) GetHostTasksPaginated(hostID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetHostTasksPaginated retrieves a paginated list of Host tasks

func (*Service) GetHosts

func (s *Service) GetHosts(parameters connection.APIRequestParameters) ([]Host, error)

GetHosts retrieves a list of hosts

func (*Service) GetHostsPaginated

func (s *Service) GetHostsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Host], error)

GetHostsPaginated retrieves a paginated list of hosts

func (*Service) GetIOPSTier added in v1.16.6

func (s *Service) GetIOPSTier(iopsID string) (IOPSTier, error)

GetIOPS retrieves a single IOPS by ID

func (*Service) GetIOPSTiers added in v1.16.6

func (s *Service) GetIOPSTiers(parameters connection.APIRequestParameters) ([]IOPSTier, error)

GetIOPSs retrieves a list of iops

func (*Service) GetIOPSTiersPaginated added in v1.16.6

func (s *Service) GetIOPSTiersPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[IOPSTier], error)

GetIOPSsPaginated retrieves a paginated list of iops

func (*Service) GetIPAddress

func (s *Service) GetIPAddress(ipID string) (IPAddress, error)

GetIPAddress retrieves a single ip by id

func (*Service) GetIPAddresses

func (s *Service) GetIPAddresses(parameters connection.APIRequestParameters) ([]IPAddress, error)

GetIPAddresses retrieves a list of ips

func (*Service) GetIPAddressesPaginated

func (s *Service) GetIPAddressesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[IPAddress], error)

GetIPAddressesPaginated retrieves a paginated list of ips

func (*Service) GetImage

func (s *Service) GetImage(imageID string) (Image, error)

GetImage retrieves a single Image by ID

func (*Service) GetImageMetadata

func (s *Service) GetImageMetadata(imageID string, parameters connection.APIRequestParameters) ([]ImageMetadata, error)

GetImageMetadata retrieves a list of metadata

func (*Service) GetImageMetadataPaginated

func (s *Service) GetImageMetadataPaginated(imageID string, parameters connection.APIRequestParameters) (*connection.Paginated[ImageMetadata], error)

GetImageMetadataPaginated retrieves a paginated list of domains

func (*Service) GetImageParameters

func (s *Service) GetImageParameters(imageID string, parameters connection.APIRequestParameters) ([]ImageParameter, error)

GetImageParameters retrieves a list of parameters

func (*Service) GetImageParametersPaginated

func (s *Service) GetImageParametersPaginated(imageID string, parameters connection.APIRequestParameters) (*connection.Paginated[ImageParameter], error)

GetImageParametersPaginated retrieves a paginated list of domains

func (*Service) GetImages

func (s *Service) GetImages(parameters connection.APIRequestParameters) ([]Image, error)

GetImages retrieves a list of images

func (*Service) GetImagesPaginated

func (s *Service) GetImagesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Image], error)

GetImagesPaginated retrieves a paginated list of images

func (*Service) GetInstance

func (s *Service) GetInstance(instanceID string) (Instance, error)

GetInstance retrieves a single instance by id

func (*Service) GetInstanceCredentials

func (s *Service) GetInstanceCredentials(instanceID string, parameters connection.APIRequestParameters) ([]Credential, error)

GetInstanceCredentials retrieves a list of instance credentials

func (*Service) GetInstanceCredentialsPaginated

func (s *Service) GetInstanceCredentialsPaginated(instanceID string, parameters connection.APIRequestParameters) (*connection.Paginated[Credential], error)

GetInstanceCredentialsPaginated retrieves a paginated list of instance credentials

func (*Service) GetInstanceFloatingIPs

func (s *Service) GetInstanceFloatingIPs(instanceID string, parameters connection.APIRequestParameters) ([]FloatingIP, error)

GetInstanceFloatingIPs retrieves a list of instance fips

func (*Service) GetInstanceFloatingIPsPaginated

func (s *Service) GetInstanceFloatingIPsPaginated(instanceID string, parameters connection.APIRequestParameters) (*connection.Paginated[FloatingIP], error)

GetInstanceFloatingIPsPaginated retrieves a paginated list of instance floating IPs

func (*Service) GetInstanceNICs

func (s *Service) GetInstanceNICs(instanceID string, parameters connection.APIRequestParameters) ([]NIC, error)

GetInstanceNICs retrieves a list of instance NICs

func (*Service) GetInstanceNICsPaginated

func (s *Service) GetInstanceNICsPaginated(instanceID string, parameters connection.APIRequestParameters) (*connection.Paginated[NIC], error)

GetInstanceNICsPaginated retrieves a paginated list of instance NICs

func (*Service) GetInstanceTasks

func (s *Service) GetInstanceTasks(instanceID string, parameters connection.APIRequestParameters) ([]Task, error)

GetInstanceTasks retrieves a list of Instance tasks

func (*Service) GetInstanceTasksPaginated

func (s *Service) GetInstanceTasksPaginated(instanceID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetInstanceTasksPaginated retrieves a paginated list of Instance tasks

func (*Service) GetInstanceVolumes

func (s *Service) GetInstanceVolumes(instanceID string, parameters connection.APIRequestParameters) ([]Volume, error)

GetInstanceVolumes retrieves a list of instance volumes

func (*Service) GetInstanceVolumesPaginated

func (s *Service) GetInstanceVolumesPaginated(instanceID string, parameters connection.APIRequestParameters) (*connection.Paginated[Volume], error)

GetInstanceVolumesPaginated retrieves a paginated list of instance volumes

func (*Service) GetInstances

func (s *Service) GetInstances(parameters connection.APIRequestParameters) ([]Instance, error)

GetInstances retrieves a list of instances

func (*Service) GetInstancesPaginated

func (s *Service) GetInstancesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Instance], error)

GetInstancesPaginated retrieves a paginated list of instances

func (*Service) GetLoadBalancer

func (s *Service) GetLoadBalancer(loadbalancerID string) (LoadBalancer, error)

GetLoadBalancer retrieves a single lb by id

func (*Service) GetLoadBalancerSpec

func (s *Service) GetLoadBalancerSpec(lbSpecID string) (LoadBalancerSpec, error)

GetLoadBalancerSpec retrieves a single spec by id

func (*Service) GetLoadBalancerSpecs

func (s *Service) GetLoadBalancerSpecs(parameters connection.APIRequestParameters) ([]LoadBalancerSpec, error)

GetLoadBalancerSpecs retrieves a list of load balancer specs

func (*Service) GetLoadBalancerSpecsPaginated

func (s *Service) GetLoadBalancerSpecsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[LoadBalancerSpec], error)

GetLoadBalancerSpecsPaginated retrieves a paginated list of load balancer specs

func (*Service) GetLoadBalancers

func (s *Service) GetLoadBalancers(parameters connection.APIRequestParameters) ([]LoadBalancer, error)

GetLoadBalancers retrieves a list of load balancers

func (*Service) GetLoadBalancersPaginated

func (s *Service) GetLoadBalancersPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[LoadBalancer], error)

GetLoadBalancersPaginated retrieves a paginated list of lbs

func (*Service) GetNATOverloadRule added in v1.15.0

func (s *Service) GetNATOverloadRule(ruleID string) (NATOverloadRule, error)

GetNATOverloadRule retrieves a single NAT overload rule by id

func (*Service) GetNATOverloadRules added in v1.15.0

func (s *Service) GetNATOverloadRules(parameters connection.APIRequestParameters) ([]NATOverloadRule, error)

GetNATOverloadRules retrieves a list of NAT overload rules

func (*Service) GetNATOverloadRulesPaginated added in v1.15.0

func (s *Service) GetNATOverloadRulesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[NATOverloadRule], error)

GetNATOverloadRulesPaginated retrieves a paginated list of NAT overload rules

func (*Service) GetNIC

func (s *Service) GetNIC(nicID string) (NIC, error)

GetNIC retrieves a single nic by id

func (*Service) GetNICIPAddresses

func (s *Service) GetNICIPAddresses(nicID string, parameters connection.APIRequestParameters) ([]IPAddress, error)

GetNICIPAddress retrieves a list of NIC IP addresses

func (*Service) GetNICIPAddressesPaginated

func (s *Service) GetNICIPAddressesPaginated(nicID string, parameters connection.APIRequestParameters) (*connection.Paginated[IPAddress], error)

GetNICIPAddressPaginated retrieves a paginated list of NIC IP addresses

func (*Service) GetNICTasks

func (s *Service) GetNICTasks(nicID string, parameters connection.APIRequestParameters) ([]Task, error)

GetNICTasks retrieves a list of NIC tasks

func (*Service) GetNICTasksPaginated

func (s *Service) GetNICTasksPaginated(nicID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetNICTasksPaginated retrieves a paginated list of NIC tasks

func (*Service) GetNICs

func (s *Service) GetNICs(parameters connection.APIRequestParameters) ([]NIC, error)

GetNICs retrieves a list of nics

func (*Service) GetNICsPaginated

func (s *Service) GetNICsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[NIC], error)

GetNICsPaginated retrieves a paginated list of nics

func (*Service) GetNetwork

func (s *Service) GetNetwork(networkID string) (Network, error)

GetNetwork retrieves a single network by id

func (*Service) GetNetworkNICs

func (s *Service) GetNetworkNICs(networkID string, parameters connection.APIRequestParameters) ([]NIC, error)

GetNetworkNICs retrieves a list of firewall rule nics

func (*Service) GetNetworkNICsPaginated

func (s *Service) GetNetworkNICsPaginated(networkID string, parameters connection.APIRequestParameters) (*connection.Paginated[NIC], error)

GetNetworkNICsPaginated retrieves a paginated list of firewall rule nics

func (*Service) GetNetworkPolicies

func (s *Service) GetNetworkPolicies(parameters connection.APIRequestParameters) ([]NetworkPolicy, error)

GetNetworkPolicies retrieves a list of network policies

func (*Service) GetNetworkPoliciesPaginated

func (s *Service) GetNetworkPoliciesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[NetworkPolicy], error)

GetNetworkPoliciesPaginated retrieves a paginated list of network policies

func (*Service) GetNetworkPolicy

func (s *Service) GetNetworkPolicy(policyID string) (NetworkPolicy, error)

GetNetworkPolicy retrieves a single network policy by id

func (*Service) GetNetworkPolicyNetworkRules

func (s *Service) GetNetworkPolicyNetworkRules(policyID string, parameters connection.APIRequestParameters) ([]NetworkRule, error)

GetNetworkPolicyNetworkRules retrieves a list of network policy rules

func (*Service) GetNetworkPolicyNetworkRulesPaginated

func (s *Service) GetNetworkPolicyNetworkRulesPaginated(policyID string, parameters connection.APIRequestParameters) (*connection.Paginated[NetworkRule], error)

GetNetworkPolicyNetworkRulesPaginated retrieves a paginated list of network policy NetworkRules

func (*Service) GetNetworkPolicyTasks

func (s *Service) GetNetworkPolicyTasks(policyID string, parameters connection.APIRequestParameters) ([]Task, error)

GetNetworkPolicyTasks retrieves a list of NetworkPolicy tasks

func (*Service) GetNetworkPolicyTasksPaginated

func (s *Service) GetNetworkPolicyTasksPaginated(policyID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetNetworkPolicyTasksPaginated retrieves a paginated list of NetworkPolicy tasks

func (*Service) GetNetworkRule

func (s *Service) GetNetworkRule(ruleID string) (NetworkRule, error)

GetNetworkRule retrieves a single rule by id

func (*Service) GetNetworkRuleNetworkRulePorts

func (s *Service) GetNetworkRuleNetworkRulePorts(networkRuleID string, parameters connection.APIRequestParameters) ([]NetworkRulePort, error)

GetNetworkRuleNetworkRulePorts retrieves a list of network rule ports

func (*Service) GetNetworkRuleNetworkRulePortsPaginated

func (s *Service) GetNetworkRuleNetworkRulePortsPaginated(networkRuleID string, parameters connection.APIRequestParameters) (*connection.Paginated[NetworkRulePort], error)

GetNetworkRuleNetworkRulePortsPaginated retrieves a paginated list of network rule ports

func (*Service) GetNetworkRulePort

func (s *Service) GetNetworkRulePort(ruleID string) (NetworkRulePort, error)

GetNetworkRulePort retrieves a single rule by id

func (*Service) GetNetworkRulePorts

func (s *Service) GetNetworkRulePorts(parameters connection.APIRequestParameters) ([]NetworkRulePort, error)

GetNetworkRulePorts retrieves a list of network rules

func (*Service) GetNetworkRulePortsPaginated

func (s *Service) GetNetworkRulePortsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[NetworkRulePort], error)

GetNetworkRulePortsPaginated retrieves a paginated list of network rules

func (*Service) GetNetworkRules

func (s *Service) GetNetworkRules(parameters connection.APIRequestParameters) ([]NetworkRule, error)

GetNetworkRules retrieves a list of network rules

func (*Service) GetNetworkRulesPaginated

func (s *Service) GetNetworkRulesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[NetworkRule], error)

GetNetworkRulesPaginated retrieves a paginated list of network rules

func (*Service) GetNetworkTasks

func (s *Service) GetNetworkTasks(networkID string, parameters connection.APIRequestParameters) ([]Task, error)

GetNetworkTasks retrieves a list of Network tasks

func (*Service) GetNetworkTasksPaginated

func (s *Service) GetNetworkTasksPaginated(networkID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetNetworkTasksPaginated retrieves a paginated list of Network tasks

func (*Service) GetNetworks

func (s *Service) GetNetworks(parameters connection.APIRequestParameters) ([]Network, error)

GetNetworks retrieves a list of networks

func (*Service) GetNetworksPaginated

func (s *Service) GetNetworksPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Network], error)

GetNetworksPaginated retrieves a paginated list of networks

func (*Service) GetPod

func (s *Service) GetPod(podID int) (Pod, error)

GetPod retrieves a single pod by ID

func (*Service) GetPodAppliances

func (s *Service) GetPodAppliances(podID int, parameters connection.APIRequestParameters) ([]Appliance, error)

GetPodAppliances retrieves a list of appliances

func (*Service) GetPodAppliancesPaginated

func (s *Service) GetPodAppliancesPaginated(podID int, parameters connection.APIRequestParameters) (*connection.Paginated[Appliance], error)

GetPodAppliancesPaginated retrieves a paginated list of domains

func (*Service) GetPodTemplate

func (s *Service) GetPodTemplate(podID int, templateName string) (Template, error)

GetPodTemplate retrieves a single pod template by name

func (*Service) GetPodTemplates

func (s *Service) GetPodTemplates(podID int, parameters connection.APIRequestParameters) ([]Template, error)

GetPodTemplates retrieves a list of templates

func (*Service) GetPodTemplatesPaginated

func (s *Service) GetPodTemplatesPaginated(podID int, parameters connection.APIRequestParameters) (*connection.Paginated[Template], error)

GetPodTemplatesPaginated retrieves a paginated list of domains

func (*Service) GetPods

func (s *Service) GetPods(parameters connection.APIRequestParameters) ([]Pod, error)

GetPods retrieves a list of pods

func (*Service) GetPodsPaginated

func (s *Service) GetPodsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Pod], error)

GetPodsPaginated retrieves a paginated list of pods

func (*Service) GetRegion

func (s *Service) GetRegion(regionID string) (Region, error)

GetRegion retrieves a single region by id

func (*Service) GetRegions

func (s *Service) GetRegions(parameters connection.APIRequestParameters) ([]Region, error)

GetRegions retrieves a list of regions

func (*Service) GetRegionsPaginated

func (s *Service) GetRegionsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Region], error)

GetRegionsPaginated retrieves a paginated list of regions

func (*Service) GetResourceTier added in v1.8.0

func (s *Service) GetResourceTier(tierID string) (ResourceTier, error)

GetResourceTier retrieves a single resource tier by id

func (*Service) GetResourceTiers added in v1.8.0

func (s *Service) GetResourceTiers(parameters connection.APIRequestParameters) ([]ResourceTier, error)

GetResourceTiers retrieves a list of resource tiers

func (*Service) GetResourceTiersPaginated added in v1.8.0

func (s *Service) GetResourceTiersPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[ResourceTier], error)

GetResourceTiersPaginated retrieves a paginated list of resource tiers

func (*Service) GetRouter

func (s *Service) GetRouter(routerID string) (Router, error)

GetRouter retrieves a single router by id

func (*Service) GetRouterFirewallPolicies

func (s *Service) GetRouterFirewallPolicies(routerID string, parameters connection.APIRequestParameters) ([]FirewallPolicy, error)

GetRouterFirewallPolicies retrieves a list of firewall rule policies

func (*Service) GetRouterFirewallPoliciesPaginated

func (s *Service) GetRouterFirewallPoliciesPaginated(routerID string, parameters connection.APIRequestParameters) (*connection.Paginated[FirewallPolicy], error)

GetRouterFirewallPoliciesPaginated retrieves a paginated list of firewall rule policies

func (*Service) GetRouterNetworks

func (s *Service) GetRouterNetworks(routerID string, parameters connection.APIRequestParameters) ([]Network, error)

GetRouterNetworks retrieves a list of router networks

func (*Service) GetRouterNetworksPaginated

func (s *Service) GetRouterNetworksPaginated(routerID string, parameters connection.APIRequestParameters) (*connection.Paginated[Network], error)

GetRouterNetworksPaginated retrieves a paginated list of router networks

func (*Service) GetRouterTasks

func (s *Service) GetRouterTasks(routerID string, parameters connection.APIRequestParameters) ([]Task, error)

GetRouterTasks retrieves a list of Router tasks

func (*Service) GetRouterTasksPaginated

func (s *Service) GetRouterTasksPaginated(routerID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetRouterTasksPaginated retrieves a paginated list of Router tasks

func (*Service) GetRouterThroughput

func (s *Service) GetRouterThroughput(throughputID string) (RouterThroughput, error)

GetRouterThroughput retrieves a single router throughput by id

func (*Service) GetRouterThroughputs

func (s *Service) GetRouterThroughputs(parameters connection.APIRequestParameters) ([]RouterThroughput, error)

GetRouterThroughputs retrieves a list of router throughputs

func (*Service) GetRouterThroughputsPaginated

func (s *Service) GetRouterThroughputsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[RouterThroughput], error)

GetRouterThroughputsPaginated retrieves a paginated list of router throughputs

func (*Service) GetRouterVPNs

func (s *Service) GetRouterVPNs(routerID string, parameters connection.APIRequestParameters) ([]VPN, error)

GetRouterVPNs retrieves a list of router VPNs

func (*Service) GetRouterVPNsPaginated

func (s *Service) GetRouterVPNsPaginated(routerID string, parameters connection.APIRequestParameters) (*connection.Paginated[VPN], error)

GetRouterVPNsPaginated retrieves a paginated list of router VPNs

func (*Service) GetRouters

func (s *Service) GetRouters(parameters connection.APIRequestParameters) ([]Router, error)

GetRouters retrieves a list of routers

func (*Service) GetRoutersPaginated

func (s *Service) GetRoutersPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Router], error)

GetRoutersPaginated retrieves a paginated list of routers

func (*Service) GetSSHKeyPair

func (s *Service) GetSSHKeyPair(keypairID string) (SSHKeyPair, error)

GetSSHKeyPair retrieves a single keypair by id

func (*Service) GetSSHKeyPairs

func (s *Service) GetSSHKeyPairs(parameters connection.APIRequestParameters) ([]SSHKeyPair, error)

GetSSHKeyPairs retrieves a list of keypairs

func (*Service) GetSSHKeyPairsPaginated

func (s *Service) GetSSHKeyPairsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[SSHKeyPair], error)

GetSSHKeyPairsPaginated retrieves a paginated list of keypairs

func (*Service) GetSite

func (s *Service) GetSite(siteID int) (Site, error)

GetSite retrieves a single site by ID

func (*Service) GetSites

func (s *Service) GetSites(parameters connection.APIRequestParameters) ([]Site, error)

GetSites retrieves a list of sites

func (*Service) GetSitesPaginated

func (s *Service) GetSitesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Site], error)

GetSitesPaginated retrieves a paginated list of sites

func (*Service) GetSolution

func (s *Service) GetSolution(solutionID int) (Solution, error)

GetSolution retrieves a single Solution by ID

func (*Service) GetSolutionDatastores

func (s *Service) GetSolutionDatastores(solutionID int, parameters connection.APIRequestParameters) ([]Datastore, error)

GetSolutionDatastores retrieves a list of datastores

func (*Service) GetSolutionDatastoresPaginated

func (s *Service) GetSolutionDatastoresPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[Datastore], error)

GetSolutionDatastoresPaginated retrieves a paginated list of domains

func (*Service) GetSolutionFirewalls

func (s *Service) GetSolutionFirewalls(solutionID int, parameters connection.APIRequestParameters) ([]Firewall, error)

GetSolutionFirewalls retrieves a list of firewalls

func (*Service) GetSolutionFirewallsPaginated

func (s *Service) GetSolutionFirewallsPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[Firewall], error)

GetSolutionFirewallsPaginated retrieves a paginated list of domains

func (*Service) GetSolutionHosts

func (s *Service) GetSolutionHosts(solutionID int, parameters connection.APIRequestParameters) ([]V1Host, error)

GetSolutionHosts retrieves a list of hosts

func (*Service) GetSolutionHostsPaginated

func (s *Service) GetSolutionHostsPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[V1Host], error)

GetSolutionHostsPaginated retrieves a paginated list of domains

func (*Service) GetSolutionNetworks

func (s *Service) GetSolutionNetworks(solutionID int, parameters connection.APIRequestParameters) ([]V1Network, error)

GetSolutionNetworks retrieves a list of networks

func (*Service) GetSolutionNetworksPaginated

func (s *Service) GetSolutionNetworksPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[V1Network], error)

GetSolutionNetworksPaginated retrieves a paginated list of domains

func (*Service) GetSolutionSites

func (s *Service) GetSolutionSites(solutionID int, parameters connection.APIRequestParameters) ([]Site, error)

GetSolutionSites retrieves a list of sites

func (*Service) GetSolutionSitesPaginated

func (s *Service) GetSolutionSitesPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[Site], error)

GetSolutionSitesPaginated retrieves a paginated list of domains

func (*Service) GetSolutionTag

func (s *Service) GetSolutionTag(solutionID int, tagKey string) (Tag, error)

GetSolutionTag retrieves a single solution tag by key

func (*Service) GetSolutionTags

func (s *Service) GetSolutionTags(solutionID int, parameters connection.APIRequestParameters) ([]Tag, error)

GetSolutionTags retrieves a list of tags

func (*Service) GetSolutionTagsPaginated

func (s *Service) GetSolutionTagsPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[Tag], error)

GetSolutionTagsPaginated retrieves a paginated list of domains

func (*Service) GetSolutionTemplate

func (s *Service) GetSolutionTemplate(solutionID int, templateName string) (Template, error)

GetSolutionTemplate retrieves a single solution template by name

func (*Service) GetSolutionTemplates

func (s *Service) GetSolutionTemplates(solutionID int, parameters connection.APIRequestParameters) ([]Template, error)

GetSolutionTemplates retrieves a list of templates

func (*Service) GetSolutionTemplatesPaginated

func (s *Service) GetSolutionTemplatesPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[Template], error)

GetSolutionTemplatesPaginated retrieves a paginated list of domains

func (*Service) GetSolutionVirtualMachines

func (s *Service) GetSolutionVirtualMachines(solutionID int, parameters connection.APIRequestParameters) ([]VirtualMachine, error)

GetSolutionVirtualMachines retrieves a list of vms

func (*Service) GetSolutionVirtualMachinesPaginated

func (s *Service) GetSolutionVirtualMachinesPaginated(solutionID int, parameters connection.APIRequestParameters) (*connection.Paginated[VirtualMachine], error)

GetSolutionVirtualMachinesPaginated retrieves a paginated list of domains

func (*Service) GetSolutions

func (s *Service) GetSolutions(parameters connection.APIRequestParameters) ([]Solution, error)

GetSolutions retrieves a list of solutions

func (*Service) GetSolutionsPaginated

func (s *Service) GetSolutionsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Solution], error)

GetSolutionsPaginated retrieves a paginated list of solutions

func (*Service) GetTask

func (s *Service) GetTask(taskID string) (Task, error)

GetTask retrieves a single task by id

func (*Service) GetTasks

func (s *Service) GetTasks(parameters connection.APIRequestParameters) ([]Task, error)

GetTasks retrieves a list of tasks

func (*Service) GetTasksPaginated

func (s *Service) GetTasksPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetTasksPaginated retrieves a paginated list of tasks

func (*Service) GetV1Host

func (s *Service) GetV1Host(hostID int) (V1Host, error)

GetV1Host retrieves a single v1 host by ID

func (*Service) GetV1Hosts

func (s *Service) GetV1Hosts(parameters connection.APIRequestParameters) ([]V1Host, error)

GetV1Hosts retrieves a list of v1 hosts

func (*Service) GetV1HostsPaginated

func (s *Service) GetV1HostsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[V1Host], error)

GetV1HostsPaginated retrieves a paginated list of v1 hosts

func (*Service) GetVIP

func (s *Service) GetVIP(vipID string) (VIP, error)

GetVIP retrieves a single vip by id

func (*Service) GetVIPs

func (s *Service) GetVIPs(parameters connection.APIRequestParameters) ([]VIP, error)

GetVIPs retrieves a list of vips

func (*Service) GetVIPsPaginated

func (s *Service) GetVIPsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VIP], error)

GetVIPsPaginated retrieves a paginated list of vips

func (*Service) GetVPC

func (s *Service) GetVPC(vpcID string) (VPC, error)

GetVPC retrieves a single vpc by id

func (*Service) GetVPCInstances

func (s *Service) GetVPCInstances(vpcID string, parameters connection.APIRequestParameters) ([]Instance, error)

GetVPCInstances retrieves a list of firewall rule instances

func (*Service) GetVPCInstancesPaginated

func (s *Service) GetVPCInstancesPaginated(vpcID string, parameters connection.APIRequestParameters) (*connection.Paginated[Instance], error)

GetVPCInstancesPaginated retrieves a paginated list of firewall rule instances

func (*Service) GetVPCTasks

func (s *Service) GetVPCTasks(vpcID string, parameters connection.APIRequestParameters) ([]Task, error)

GetVPCTasks retrieves a list of VPC tasks

func (*Service) GetVPCTasksPaginated

func (s *Service) GetVPCTasksPaginated(vpcID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetVPCTasksPaginated retrieves a paginated list of VPC tasks

func (*Service) GetVPCVolumes

func (s *Service) GetVPCVolumes(vpcID string, parameters connection.APIRequestParameters) ([]Volume, error)

GetVPCVolumes retrieves a list of firewall rule volumes

func (*Service) GetVPCVolumesPaginated

func (s *Service) GetVPCVolumesPaginated(vpcID string, parameters connection.APIRequestParameters) (*connection.Paginated[Volume], error)

GetVPCVolumesPaginated retrieves a paginated list of firewall rule volumes

func (*Service) GetVPCs

func (s *Service) GetVPCs(parameters connection.APIRequestParameters) ([]VPC, error)

GetVPCs retrieves a list of vpcs

func (*Service) GetVPCsPaginated

func (s *Service) GetVPCsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VPC], error)

GetVPCsPaginated retrieves a paginated list of vpcs

func (*Service) GetVPNEndpoint

func (s *Service) GetVPNEndpoint(endpointID string) (VPNEndpoint, error)

GetVPNEndpoint retrieves a single VPN endpoint by id

func (*Service) GetVPNEndpointTasks

func (s *Service) GetVPNEndpointTasks(endpointID string, parameters connection.APIRequestParameters) ([]Task, error)

GetVPNEndpointTasks retrieves a list of VPN endpoint tasks

func (*Service) GetVPNEndpointTasksPaginated

func (s *Service) GetVPNEndpointTasksPaginated(endpointID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetVPNEndpointTasksPaginated retrieves a paginated list of VPN endpoint tasks

func (*Service) GetVPNEndpoints

func (s *Service) GetVPNEndpoints(parameters connection.APIRequestParameters) ([]VPNEndpoint, error)

GetVPNEndpoints retrieves a list of VPN endpoints

func (*Service) GetVPNEndpointsPaginated

func (s *Service) GetVPNEndpointsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VPNEndpoint], error)

GetVPNEndpointsPaginated retrieves a paginated list of VPN endpoints

func (*Service) GetVPNProfileGroup

func (s *Service) GetVPNProfileGroup(profileGroupID string) (VPNProfileGroup, error)

GetVPNProfileGroup retrieves a single VPN profile group by id

func (*Service) GetVPNProfileGroups

func (s *Service) GetVPNProfileGroups(parameters connection.APIRequestParameters) ([]VPNProfileGroup, error)

GetVPNProfileGroups retrieves a list of VPN profile groups

func (*Service) GetVPNProfileGroupsPaginated

func (s *Service) GetVPNProfileGroupsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VPNProfileGroup], error)

GetVPNProfileGroupsPaginated retrieves a paginated list of VPN profile groups

func (*Service) GetVPNService

func (s *Service) GetVPNService(serviceID string) (VPNService, error)

GetVPNService retrieves a single VPN service by id

func (*Service) GetVPNServiceTasks

func (s *Service) GetVPNServiceTasks(serviceID string, parameters connection.APIRequestParameters) ([]Task, error)

GetVPNServiceTasks retrieves a list of VPN service tasks

func (*Service) GetVPNServiceTasksPaginated

func (s *Service) GetVPNServiceTasksPaginated(serviceID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetVPNServiceTasksPaginated retrieves a paginated list of VPN service tasks

func (*Service) GetVPNServices

func (s *Service) GetVPNServices(parameters connection.APIRequestParameters) ([]VPNService, error)

GetVPNServices retrieves a list of VPN services

func (*Service) GetVPNServicesPaginated

func (s *Service) GetVPNServicesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VPNService], error)

GetVPNServicesPaginated retrieves a paginated list of VPN services

func (*Service) GetVPNSession

func (s *Service) GetVPNSession(sessionID string) (VPNSession, error)

GetVPNSession retrieves a single VPN session by id

func (*Service) GetVPNSessionPreSharedKey

func (s *Service) GetVPNSessionPreSharedKey(sessionID string) (VPNSessionPreSharedKey, error)

GetVPNSession retrieves a single VPN session by id

func (*Service) GetVPNSessionTasks

func (s *Service) GetVPNSessionTasks(sessionID string, parameters connection.APIRequestParameters) ([]Task, error)

GetVPNSessionTasks retrieves a list of VPN session tasks

func (*Service) GetVPNSessionTasksPaginated

func (s *Service) GetVPNSessionTasksPaginated(sessionID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetVPNSessionTasksPaginated retrieves a paginated list of VPN session tasks

func (*Service) GetVPNSessions

func (s *Service) GetVPNSessions(parameters connection.APIRequestParameters) ([]VPNSession, error)

GetVPNSessions retrieves a list of VPN sessions

func (*Service) GetVPNSessionsPaginated

func (s *Service) GetVPNSessionsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VPNSession], error)

GetVPNSessionsPaginated retrieves a paginated list of VPN sessions

func (*Service) GetVirtualMachine

func (s *Service) GetVirtualMachine(vmID int) (VirtualMachine, error)

GetVirtualMachine retrieves a single virtual machine by ID

func (*Service) GetVirtualMachineTag

func (s *Service) GetVirtualMachineTag(vmID int, tagKey string) (Tag, error)

GetVirtualMachineTag retrieves a single virtual machine tag by key

func (*Service) GetVirtualMachineTags

func (s *Service) GetVirtualMachineTags(vmID int, parameters connection.APIRequestParameters) ([]Tag, error)

GetVirtualMachineTags retrieves a list of tags

func (*Service) GetVirtualMachineTagsPaginated

func (s *Service) GetVirtualMachineTagsPaginated(vmID int, parameters connection.APIRequestParameters) (*connection.Paginated[Tag], error)

GetVirtualMachineTagsPaginated retrieves a paginated list of domains

func (*Service) GetVirtualMachines

func (s *Service) GetVirtualMachines(parameters connection.APIRequestParameters) ([]VirtualMachine, error)

GetVirtualMachines retrieves a list of vms

func (*Service) GetVirtualMachinesPaginated

func (s *Service) GetVirtualMachinesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VirtualMachine], error)

GetVirtualMachinesPaginated retrieves a paginated list of vms

func (*Service) GetVolume

func (s *Service) GetVolume(volumeID string) (Volume, error)

GetVolume retrieves a single volume by id

func (*Service) GetVolumeGroup

func (s *Service) GetVolumeGroup(volumeGroupID string) (VolumeGroup, error)

GetVolumeGroup retrieves a single volumeGroup by id

func (*Service) GetVolumeGroupVolumes

func (s *Service) GetVolumeGroupVolumes(volumeGroupID string, parameters connection.APIRequestParameters) ([]Volume, error)

GetVolumeGroupVolumes retrieves a list of VolumeGroup volumes

func (*Service) GetVolumeGroupVolumesPaginated

func (s *Service) GetVolumeGroupVolumesPaginated(volumeGroupID string, parameters connection.APIRequestParameters) (*connection.Paginated[Volume], error)

GetVolumeGroupVolumesPaginated retrieves a paginated list of VolumeGroup volumes

func (*Service) GetVolumeGroups

func (s *Service) GetVolumeGroups(parameters connection.APIRequestParameters) ([]VolumeGroup, error)

GetVolumeGroups retrieves a list of volume groups

func (*Service) GetVolumeGroupsPaginated

func (s *Service) GetVolumeGroupsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[VolumeGroup], error)

GetVolumeGroupsPaginated retrieves a paginated list of volume groups

func (*Service) GetVolumeInstances

func (s *Service) GetVolumeInstances(volumeID string, parameters connection.APIRequestParameters) ([]Instance, error)

GetVolumeInstances retrieves a list of volume instances

func (*Service) GetVolumeInstancesPaginated

func (s *Service) GetVolumeInstancesPaginated(volumeID string, parameters connection.APIRequestParameters) (*connection.Paginated[Instance], error)

GetVolumeInstancesPaginated retrieves a paginated list of volume instances

func (*Service) GetVolumeTasks

func (s *Service) GetVolumeTasks(volumeID string, parameters connection.APIRequestParameters) ([]Task, error)

GetVolumeTasks retrieves a list of Volume tasks

func (*Service) GetVolumeTasksPaginated

func (s *Service) GetVolumeTasksPaginated(volumeID string, parameters connection.APIRequestParameters) (*connection.Paginated[Task], error)

GetVolumeTasksPaginated retrieves a paginated list of Volume tasks

func (*Service) GetVolumes

func (s *Service) GetVolumes(parameters connection.APIRequestParameters) ([]Volume, error)

GetVolumes retrieves a list of volumes

func (*Service) GetVolumesPaginated

func (s *Service) GetVolumesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Volume], error)

GetVolumesPaginated retrieves a paginated list of volumes

func (*Service) LockInstance

func (s *Service) LockInstance(instanceID string) error

LockInstance locks an instance from update/removal

func (*Service) MigrateInstance

func (s *Service) MigrateInstance(instanceID string, req MigrateInstanceRequest) (string, error)

MigrateInstance migrates an instance

func (*Service) PatchAffinityRule

func (s *Service) PatchAffinityRule(affinityruleID string, req PatchAffinityRuleRequest) (TaskReference, error)

PatchAffinityRule patches a AffinityRule

func (*Service) PatchFirewallPolicy

func (s *Service) PatchFirewallPolicy(policyID string, req PatchFirewallPolicyRequest) (TaskReference, error)

PatchFirewallPolicy patches a FirewallPolicy

func (*Service) PatchFirewallRule

func (s *Service) PatchFirewallRule(ruleID string, req PatchFirewallRuleRequest) (TaskReference, error)

PatchFirewallRule patches a FirewallRule

func (*Service) PatchFirewallRulePort

func (s *Service) PatchFirewallRulePort(ruleID string, req PatchFirewallRulePortRequest) (TaskReference, error)

PatchFirewallRulePort patches a FirewallRulePort

func (*Service) PatchFloatingIP

func (s *Service) PatchFloatingIP(fipID string, req PatchFloatingIPRequest) (TaskReference, error)

PatchFloatingIP patches a floating IP

func (*Service) PatchHost

func (s *Service) PatchHost(hostID string, req PatchHostRequest) (TaskReference, error)

PatchHost patches a host

func (*Service) PatchHostGroup

func (s *Service) PatchHostGroup(hostGroupID string, req PatchHostGroupRequest) (TaskReference, error)

PatchHostGroup patches a host group

func (*Service) PatchIPAddress

func (s *Service) PatchIPAddress(ipID string, req PatchIPAddressRequest) (TaskReference, error)

PatchIPAddress patches a IPAddress

func (*Service) PatchInstance

func (s *Service) PatchInstance(instanceID string, req PatchInstanceRequest) error

PatchInstance updates an instance

func (*Service) PatchLoadBalancer

func (s *Service) PatchLoadBalancer(loadbalancerID string, req PatchLoadBalancerRequest) (TaskReference, error)

PatchLoadBalancer patches a LoadBalancer

func (*Service) PatchNATOverloadRule added in v1.15.0

func (s *Service) PatchNATOverloadRule(ruleID string, req PatchNATOverloadRuleRequest) (TaskReference, error)

PatchNATOverloadRule patches a NAT overload

func (*Service) PatchNetwork

func (s *Service) PatchNetwork(networkID string, req PatchNetworkRequest) error

PatchNetwork patches a Network

func (*Service) PatchNetworkPolicy

func (s *Service) PatchNetworkPolicy(policyID string, req PatchNetworkPolicyRequest) (TaskReference, error)

PatchNetworkPolicy patches a NetworkPolicy

func (*Service) PatchNetworkRule

func (s *Service) PatchNetworkRule(ruleID string, req PatchNetworkRuleRequest) (TaskReference, error)

PatchNetworkRule patches a NetworkRule

func (*Service) PatchNetworkRulePort

func (s *Service) PatchNetworkRulePort(ruleID string, req PatchNetworkRulePortRequest) (TaskReference, error)

PatchNetworkRulePort patches a NetworkRulePort

func (*Service) PatchRouter

func (s *Service) PatchRouter(routerID string, req PatchRouterRequest) error

PatchRouter patches a Router

func (*Service) PatchSSHKeyPair

func (s *Service) PatchSSHKeyPair(keypairID string, req PatchSSHKeyPairRequest) error

PatchSSHKeyPair patches a SSHKeyPair

func (*Service) PatchSolution

func (s *Service) PatchSolution(solutionID int, patch PatchSolutionRequest) (int, error)

PatchSolution patches an eCloud solution

func (*Service) PatchSolutionTag

func (s *Service) PatchSolutionTag(solutionID int, tagKey string, patch PatchTagRequest) error

PatchSolutionTag patches an eCloud solution tag

func (*Service) PatchVIP

func (s *Service) PatchVIP(vipID string, req PatchVIPRequest) (TaskReference, error)

PatchVIP patches a VIP

func (*Service) PatchVPC

func (s *Service) PatchVPC(vpcID string, req PatchVPCRequest) error

PatchVPC patches a VPC

func (*Service) PatchVPNEndpoint

func (s *Service) PatchVPNEndpoint(endpointID string, req PatchVPNEndpointRequest) (TaskReference, error)

PatchVPNEndpoint patches a VPN endpoint

func (*Service) PatchVPNService

func (s *Service) PatchVPNService(serviceID string, req PatchVPNServiceRequest) (TaskReference, error)

PatchVPNService patches a VPN service

func (*Service) PatchVPNSession

func (s *Service) PatchVPNSession(sessionID string, req PatchVPNSessionRequest) (TaskReference, error)

PatchVPNSession patches a VPN session

func (*Service) PatchVirtualMachine

func (s *Service) PatchVirtualMachine(vmID int, patch PatchVirtualMachineRequest) error

PatchVirtualMachine patches an eCloud virtual machine

func (*Service) PatchVirtualMachineTag

func (s *Service) PatchVirtualMachineTag(vmID int, tagKey string, patch PatchTagRequest) error

PatchVirtualMachineTag patches an eCloud virtual machine tag

func (*Service) PatchVolume

func (s *Service) PatchVolume(volumeID string, req PatchVolumeRequest) (TaskReference, error)

PatchVolume patches a Volume

func (*Service) PatchVolumeGroup

func (s *Service) PatchVolumeGroup(volumeGroupID string, req PatchVolumeGroupRequest) (TaskReference, error)

PatchVolumeGroup patches a volumeGroup

func (*Service) PodConsoleAvailable

func (s *Service) PodConsoleAvailable(podID int) (bool, error)

PodConsoleAvailable removes a pod template

func (*Service) PowerOffInstance

func (s *Service) PowerOffInstance(instanceID string) (string, error)

PowerOffInstance powers off an instance

func (*Service) PowerOffVirtualMachine

func (s *Service) PowerOffVirtualMachine(vmID int) error

PowerOffVirtualMachine powers off a virtual machine

func (*Service) PowerOnInstance

func (s *Service) PowerOnInstance(instanceID string) (string, error)

PowerOnInstance powers on an instance

func (*Service) PowerOnVirtualMachine

func (s *Service) PowerOnVirtualMachine(vmID int) error

PowerOnVirtualMachine powers on a virtual machine

func (*Service) PowerResetInstance

func (s *Service) PowerResetInstance(instanceID string) (string, error)

PowerResetInstance resets an instance

func (*Service) PowerResetVirtualMachine

func (s *Service) PowerResetVirtualMachine(vmID int) error

PowerResetVirtualMachine resets a virtual machine (hard power off)

func (*Service) PowerRestartInstance

func (s *Service) PowerRestartInstance(instanceID string) (string, error)

PowerRestartInstance restarts an instance

func (*Service) PowerRestartVirtualMachine

func (s *Service) PowerRestartVirtualMachine(vmID int) error

PowerRestartVirtualMachine resets a virtual machine (graceful power off)

func (*Service) PowerShutdownInstance

func (s *Service) PowerShutdownInstance(instanceID string) (string, error)

PowerShutdownInstance shuts down an instance

func (*Service) PowerShutdownVirtualMachine

func (s *Service) PowerShutdownVirtualMachine(vmID int) error

PowerShutdownVirtualMachine shuts down a virtual machine

func (*Service) RejectDiscountPlan

func (s *Service) RejectDiscountPlan(discID string) error

RejectDiscountPlan rejects a floating IP from a resource

func (*Service) RenamePodTemplate

func (s *Service) RenamePodTemplate(podID int, templateName string, req RenameTemplateRequest) error

RenamePodTemplate renames a pod template

func (*Service) RenameSolutionTemplate

func (s *Service) RenameSolutionTemplate(solutionID int, templateName string, req RenameTemplateRequest) error

RenameSolutionTemplate renames a solution template

func (*Service) UnassignFloatingIP

func (s *Service) UnassignFloatingIP(fipID string) (string, error)

UnassignFloatingIP unassigns a floating IP from a resource

func (*Service) UnassignNICIPAddress

func (s *Service) UnassignNICIPAddress(nicID string, ipID string) (string, error)

UnassignNICIPAddress unassigns an IP Address from a resource

func (*Service) UnlockInstance

func (s *Service) UnlockInstance(instanceID string) error

UnlockInstance unlocks an instance

func (*Service) UpdateImage added in v1.10.0

func (s *Service) UpdateImage(imageID string, req UpdateImageRequest) (TaskReference, error)

UpdateImage removes a single Image by ID

func (*Service) UpdateVPNSessionPreSharedKey

func (s *Service) UpdateVPNSessionPreSharedKey(sessionID string, req UpdateVPNSessionPreSharedKeyRequest) (TaskReference, error)

UpdateVPNSession retrieves a single VPN session by id

type Site

type Site struct {
	ID         int    `json:"id"`
	State      string `json:"state"`
	SolutionID int    `json:"solution_id"`
	PodID      int    `json:"pod_id"`
}

Site represents an eCloud site

type SiteNotFoundError

type SiteNotFoundError struct {
	ID int
}

SiteNotFoundError indicates a site was not found within eCloud

func (*SiteNotFoundError) Error

func (e *SiteNotFoundError) Error() string

type Solution

type Solution struct {
	ID                int                 `json:"id"`
	Name              string              `json:"name"`
	Environment       SolutionEnvironment `json:"environment"`
	PodID             int                 `json:"pod_id"`
	EncryptionEnabled bool                `json:"encryption_enabled"`
	EncryptionDefault bool                `json:"encryption_default"`
}

Solution represents an eCloud solution

type SolutionEnvironment

type SolutionEnvironment string
const (
	SolutionEnvironmentHybrid  SolutionEnvironment = "Hybrid"
	SolutionEnvironmentPrivate SolutionEnvironment = "Private"
)

type SolutionNotFoundError

type SolutionNotFoundError struct {
	ID int
}

SolutionNotFoundError indicates a solution was not found within eCloud

func (*SolutionNotFoundError) Error

func (e *SolutionNotFoundError) Error() string

type SyncStatus

type SyncStatus string
const (
	SyncStatusComplete   SyncStatus = "complete"
	SyncStatusFailed     SyncStatus = "failed"
	SyncStatusInProgress SyncStatus = "in-progress"
)

func (SyncStatus) String

func (s SyncStatus) String() string

type SyncType

type SyncType string
const (
	SyncTypeUpdate SyncType = "update"
	SyncTypeDelete SyncType = "delete"
)

func (SyncType) String

func (s SyncType) String() string

type Tag

type Tag struct {
	Key       string              `json:"key"`
	Value     string              `json:"value"`
	CreatedAt connection.DateTime `json:"created_at"`
}

Tag represents an eCloud tag

type TagNotFoundError

type TagNotFoundError struct {
	Key string
}

TagNotFoundError indicates a tag was not found within eCloud

func (*TagNotFoundError) Error

func (e *TagNotFoundError) Error() string

type Task

type Task struct {
	ID         string              `json:"id"`
	ResourceID string              `json:"resource_id"`
	Name       string              `json:"name"`
	Status     TaskStatus          `json:"status"`
	CreatedAt  connection.DateTime `json:"created_at"`
	UpdatedAt  connection.DateTime `json:"updated_at"`
}

Task represents a task against an eCloud resource

type TaskNotFoundError

type TaskNotFoundError struct {
	ID string
}

TaskFoundError indicates an task was not found

func (*TaskNotFoundError) Error

func (e *TaskNotFoundError) Error() string

type TaskReference

type TaskReference struct {
	TaskID     string `json:"task_id"`
	ResourceID string `json:"id"`
}

TaskReference represents a reference to an on-going task

type TaskStatus

type TaskStatus string
const (
	TaskStatusComplete   TaskStatus = "complete"
	TaskStatusFailed     TaskStatus = "failed"
	TaskStatusInProgress TaskStatus = "in-progress"
)

func (TaskStatus) String

func (s TaskStatus) String() string

type Template

type Template struct {
	Name string `json:"name"`
	// Count in Cores
	CPU int `json:"cpu"`
	// Size in GB
	RAM int `json:"ram"`
	// Size in GB
	HDD             int                  `json:"hdd"`
	Disks           []VirtualMachineDisk `json:"hdd_disks"`
	Platform        string               `json:"platform"`
	OperatingSystem string               `json:"operating_system"`
	SolutionID      int                  `json:"solution_id"`
}

Template represents an eCloud template

type TemplateNotFoundError

type TemplateNotFoundError struct {
	Name string
}

TemplateNotFoundError indicates a template was not found within eCloud

func (*TemplateNotFoundError) Error

func (e *TemplateNotFoundError) Error() string

type TemplateType

type TemplateType string
const (
	TemplateTypeSolution TemplateType = "solution"
	TemplateTypePod      TemplateType = "pod"
)

func (TemplateType) String

func (s TemplateType) String() string

type UpdateImageRequest added in v1.10.0

type UpdateImageRequest struct {
	Name             string `json:"name,omitempty"`
	LogoURI          string `json:"logo_uri,omitempty"`
	DocumentationURI string `json:"documentation_uri,omitempty"`
	Description      string `json:"description,omitempty"`
}

UpdateImageRequest represents a request to update an image

type UpdateVPNSessionPreSharedKeyRequest

type UpdateVPNSessionPreSharedKeyRequest struct {
	PSK string `json:"psk"`
}

UpdateVPNSessionPreSharedKeyRequest represents a request to update a VPN session PSK

type V1Host

type V1Host struct {
	ID         int     `json:"id"`
	SolutionID int     `json:"solution_id"`
	PodID      int     `json:"pod_id"`
	Name       string  `json:"name"`
	CPU        HostCPU `json:"cpu"`
	RAM        HostRAM `json:"ram"`
}

V1Host represents an eCloud v1 host

type V1HostNotFoundError

type V1HostNotFoundError struct {
	ID int
}

V1HostNotFoundError indicates a v1 host was not found within eCloud

func (*V1HostNotFoundError) Error

func (e *V1HostNotFoundError) Error() string

type V1Network

type V1Network struct {
	ID   int    `json:"id"`
	Name string `json:"name"`
}

V1Network represents an eCloud v1 network

type VIP

type VIP struct {
	ID             string              `json:"id"`
	Name           string              `json:"name"`
	LoadBalancerID string              `json:"load_balancer_id"`
	IPAddressID    string              `json:"ip_address_id"`
	ConfigID       int                 `json:"config_id"`
	Sync           ResourceSync        `json:"sync"`
	Task           ResourceTask        `json:"task"`
	CreatedAt      connection.DateTime `json:"created_at"`
	UpdatedAt      connection.DateTime `json:"updated_at"`
}

VIP represents an eCloud load balancer VIP

type VIPNotFoundError

type VIPNotFoundError struct {
	ID string
}

VIPNotFoundError indicates a load balancer VIP was not found

func (*VIPNotFoundError) Error

func (e *VIPNotFoundError) Error() string

type VPC

type VPC struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	RegionID           string              `json:"region_id"`
	ClientID           *int                `json:"client_id"`
	Sync               ResourceSync        `json:"sync"`
	Task               ResourceTask        `json:"task"`
	SupportEnabled     bool                `json:"support_enabled"`
	ConsoleEnabled     bool                `json:"console_enabled"`
	AdvancedNetworking bool                `json:"advanced_networking"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

VPC represents an eCloud VPC

type VPCNotFoundError

type VPCNotFoundError struct {
	ID string
}

VPCNotFoundError indicates a VPC was not found

func (*VPCNotFoundError) Error

func (e *VPCNotFoundError) Error() string

type VPN

type VPN struct {
	ID        string              `json:"id"`
	RouterID  string              `json:"router_id"`
	CreatedAt connection.DateTime `json:"created_at"`
	UpdatedAt connection.DateTime `json:"updated_at"`
}

VPN represents an eCloud VPN

type VPNEndpoint

type VPNEndpoint struct {
	ID           string              `json:"id"`
	Name         string              `json:"name"`
	VPNServiceID string              `json:"vpn_service_id"`
	FloatingIPID string              `json:"floating_ip_id"`
	Sync         ResourceSync        `json:"sync"`
	Task         ResourceTask        `json:"task"`
	CreatedAt    connection.DateTime `json:"created_at"`
	UpdatedAt    connection.DateTime `json:"updated_at"`
}

VPNEndpoint represents an eCloud VPN endpoint

type VPNEndpointNotFoundError

type VPNEndpointNotFoundError struct {
	ID string
}

VPNEndpointNotFoundError indicates a VPN endpoint was not found

func (*VPNEndpointNotFoundError) Error

func (e *VPNEndpointNotFoundError) Error() string

type VPNNotFoundError

type VPNNotFoundError struct {
	ID string
}

VPNNotFoundError indicates a VPN was not found

func (*VPNNotFoundError) Error

func (e *VPNNotFoundError) Error() string

type VPNProfileGroup

type VPNProfileGroup struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	Description        string              `json:"description"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

VPNProfileGroup represents an eCloud VPN profile group

type VPNProfileGroupNotFoundError

type VPNProfileGroupNotFoundError struct {
	ID string
}

VPNProfileGroupNotFoundError indicates a VPN profile group was not found

func (*VPNProfileGroupNotFoundError) Error

type VPNService

type VPNService struct {
	ID        string              `json:"id"`
	Name      string              `json:"name"`
	RouterID  string              `json:"router_id"`
	VPCID     string              `json:"vpc_id"`
	Sync      ResourceSync        `json:"sync"`
	Task      ResourceTask        `json:"task"`
	CreatedAt connection.DateTime `json:"created_at"`
	UpdatedAt connection.DateTime `json:"updated_at"`
}

VPNService represents an eCloud VPN service

type VPNServiceNotFoundError

type VPNServiceNotFoundError struct {
	ID string
}

VPNServiceNotFoundError indicates a VPN service was not found

func (*VPNServiceNotFoundError) Error

func (e *VPNServiceNotFoundError) Error() string

type VPNSession

type VPNSession struct {
	ID                string                   `json:"id"`
	Name              string                   `json:"name"`
	VPNProfileGroupID string                   `json:"vpn_profile_group_id"`
	VPNServiceID      string                   `json:"vpn_service_id"`
	VPNEndpointID     string                   `json:"vpn_endpoint_id"`
	RemoteIP          connection.IPAddress     `json:"remote_ip"`
	RemoteNetworks    string                   `json:"remote_networks"`
	LocalNetworks     string                   `json:"local_networks"`
	TunnelDetails     *VPNSessionTunnelDetails `json:"tunnel_details"`
	Sync              ResourceSync             `json:"sync"`
	Task              ResourceTask             `json:"task"`
	CreatedAt         connection.DateTime      `json:"created_at"`
	UpdatedAt         connection.DateTime      `json:"updated_at"`
}

VPNSession represents an eCloud VPN session

type VPNSessionNotFoundError

type VPNSessionNotFoundError struct {
	ID string
}

VPNSessionNotFoundError indicates a VPN session was not found

func (*VPNSessionNotFoundError) Error

func (e *VPNSessionNotFoundError) Error() string

type VPNSessionPreSharedKey

type VPNSessionPreSharedKey struct {
	PSK string `json:"psk"`
}

VPNSessionPreSharedKey represents an eCloud VPN session pre-shared key

type VPNSessionTunnelDetails

type VPNSessionTunnelDetails struct {
	SessionState     string                       `json:"session_state"`
	TunnelStatistics []VPNSessionTunnelStatistics `json:"tunnel_statistics"`
}

type VPNSessionTunnelStatistics

type VPNSessionTunnelStatistics struct {
	TunnelStatus     string `json:"tunnel_status"`
	TunnelDownReason string `json:"tunnel_down_reason"`
	LocalSubnet      string `json:"local_subnet"`
	PeerSubnet       string `json:"peer_subnet"`
}

type VirtualMachine

type VirtualMachine struct {
	ID           int    `json:"id"`
	Name         string `json:"name"`
	Hostname     string `json:"hostname"`
	ComputerName string `json:"computername"`
	// Count in Cores
	CPU int `json:"cpu"`
	// Size in GB
	RAM int `json:"ram"`
	// Size in GB
	HDD         int                  `json:"hdd"`
	IPInternal  connection.IPAddress `json:"ip_internal"`
	IPExternal  connection.IPAddress `json:"ip_external"`
	Platform    string               `json:"platform"`
	Template    string               `json:"template"`
	Backup      bool                 `json:"backup"`
	Support     bool                 `json:"support"`
	Environment string               `json:"environment"`
	SolutionID  int                  `json:"solution_id"`
	Status      VirtualMachineStatus `json:"status"`
	PowerStatus string               `json:"power_status"`
	ToolsStatus string               `json:"tools_status"`
	Disks       []VirtualMachineDisk `json:"hdd_disks"`
	Encrypted   bool                 `json:"encrypted"`
	Role        string               `json:"role"`
	GPUProfile  string               `json:"gpu_profile"`
}

VirtualMachine represents an eCloud Virtual Machine

type VirtualMachineDisk

type VirtualMachineDisk struct {
	UUID string                 `json:"uuid"`
	Name string                 `json:"name"`
	Type VirtualMachineDiskType `json:"type"`
	Key  int                    `json:"key"`

	// Size in GB
	Capacity int `json:"capacity"`
}

VirtualMachineDisk represents an eCloud Virtual Machine disk

type VirtualMachineDiskType

type VirtualMachineDiskType string
const (
	VirtualMachineDiskTypeStandard VirtualMachineDiskType = "Standard"
	VirtualMachineDiskTypeCluster  VirtualMachineDiskType = "Cluster"
)

type VirtualMachineNotFoundError

type VirtualMachineNotFoundError struct {
	ID int
}

VirtualMachineNotFoundError indicates a virtual machine was not found within eCloud

func (*VirtualMachineNotFoundError) Error

type VirtualMachinePowerStatus

type VirtualMachinePowerStatus string
const (
	VirtualMachinePowerStatusOnline  VirtualMachinePowerStatus = "Online"
	VirtualMachinePowerStatusOffline VirtualMachinePowerStatus = "Offline"
)

func (VirtualMachinePowerStatus) String

func (s VirtualMachinePowerStatus) String() string

type VirtualMachineStatus

type VirtualMachineStatus string
const (
	VirtualMachineStatusComplete   VirtualMachineStatus = "Complete"
	VirtualMachineStatusFailed     VirtualMachineStatus = "Failed"
	VirtualMachineStatusBeingBuilt VirtualMachineStatus = "Being Built"
)

type Volume

type Volume struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	VPCID              string              `json:"vpc_id"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	Capacity           int                 `json:"capacity"`
	IOPS               int                 `json:"iops"`
	Attached           bool                `json:"attached"`
	Type               VolumeType          `json:"type"`
	VolumeGroupID      string              `json:"volume_group_id"`
	IsShared           bool                `json:"is_shared"`
	IsEncrypted        bool                `json:"is_encrypted"`
	Port               int                 `json:"port"`
	Sync               ResourceSync        `json:"sync"`
	Task               ResourceTask        `json:"task"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

Volume represents an eCloud volume

type VolumeGroup

type VolumeGroup struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	VPCID              string              `json:"vpc_id"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	Usage              VolumeGroupUsage    `json:"usage"`
	Sync               ResourceSync        `json:"sync"`
	Task               ResourceTask        `json:"task"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

VolumeGroup represents an eCloud volume group resource

type VolumeGroupNotFoundError

type VolumeGroupNotFoundError struct {
	ID string
}

VolumeGroupNotFoundError indicates a volume group was not found

func (*VolumeGroupNotFoundError) Error

func (e *VolumeGroupNotFoundError) Error() string

type VolumeGroupUsage

type VolumeGroupUsage struct {
	Volumes int `json:"volumes"`
}

type VolumeNotFoundError

type VolumeNotFoundError struct {
	ID string
}

VolumeNotFoundError indicates a volume was not found

func (*VolumeNotFoundError) Error

func (e *VolumeNotFoundError) Error() string

type VolumeType

type VolumeType string
const (
	VolumeTypeOS   VolumeType = "os"
	VolumeTypeData VolumeType = "data"
)

func (VolumeType) String

func (s VolumeType) String() string

Jump to

Keyboard shortcuts

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