ecloud

package
v1.6.3 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

This section is empty.

Types

type ActiveDirectoryDomain added in v1.2.1

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

ActiveDirectoryDomain represents an eCloud active directory domain

type ActiveDirectoryDomainNotFoundError added in v1.2.1

type ActiveDirectoryDomainNotFoundError struct {
	ID int
}

ActiveDirectoryDomainNotFoundError indicates an Active Directory Domain was not found

func (*ActiveDirectoryDomainNotFoundError) Error added in v1.2.1

type AffinityRule added in v1.6.1

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"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

AffinityRule represents an eCloud Affinity or Anti-Affinity Rule

type AffinityRuleMember added in v1.6.1

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

AffinityRuleMember represents an eCloud Affinity or Anti-Affinity rule member

type AffinityRuleMemberNotFoundError added in v1.6.1

type AffinityRuleMemberNotFoundError struct {
	ID string
}

AffinityRuleMemberNotFoundError indicates an affinity rule member was not found

func (*AffinityRuleMemberNotFoundError) Error added in v1.6.1

type AffinityRuleNotFoundError added in v1.6.1

type AffinityRuleNotFoundError struct {
	ID string
}

AffinityRuleNotFoundError indicates an affinity rule was not found

func (*AffinityRuleNotFoundError) Error added in v1.6.1

func (e *AffinityRuleNotFoundError) Error() string

type AffinityRuleType added in v1.6.1

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

func ParseAffinityRuleType added in v1.6.1

func ParseAffinityRuleType(s string) (AffinityRuleType, error)

ParseAffinityRuleType attempts to parse an AffinityRuleType from string

func (AffinityRuleType) String added in v1.6.1

func (s AffinityRuleType) String() string

type Appliance added in v1.0.23

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

type ApplianceNotFoundError struct {
	ID string
}

ApplianceNotFoundError indicates an appliance was not found within eCloud

func (*ApplianceNotFoundError) Error added in v1.0.23

func (e *ApplianceNotFoundError) Error() string

type ApplianceParameter added in v1.0.23

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

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

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

type AssignIPAddressRequest added in v1.5.2

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

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

type AttachDetachInstanceVolumeRequest added in v1.3.58

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

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

type AvailabilityZone added in v1.3.27

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

type AvailabilityZoneNotFoundError struct {
	ID string
}

AvailabilityZoneNotFoundError indicates a VPC was not found

func (*AvailabilityZoneNotFoundError) Error added in v1.3.27

type BillingMetric added in v1.3.41

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

type BillingMetricNotFoundError struct {
	ID string
}

BillingMetricNotFoundError indicates a billing metric was not found

func (*BillingMetricNotFoundError) Error added in v1.3.41

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

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

ConsoleSession represents an eCloud Virtual Machine console session

type CreateAffinityRuleMemberRequest added in v1.6.1

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

CreateAffinityRuleMemberRequest represents a request to create an Affinity Rule Member

type CreateAffinityRuleRequest added in v1.6.1

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

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

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

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

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

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

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

CreateHostRequest represents a request to create a host

type CreateIPAddressRequest added in v1.5.2

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

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

CreateInstanceRequest represents a request to create an instance

type CreateLoadBalancerClusterRequest added in v1.3.28

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

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

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

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

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

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

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

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

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

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

CreateVPCRequest represents a request to create a VPC

type CreateVPNEndpointRequest added in v1.4.17

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

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

CreateVPNRequest represents a request to create a VPN

type CreateVPNServiceRequest added in v1.4.17

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

CreateVPNServiceRequest represents a request to create a VPN service

type CreateVPNSessionRequest added in v1.4.17

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

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

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

Validate returns an error if struct properties are missing/invalid

type CreateVolumeGroupRequest added in v1.4.22

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

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

CreateVolumeRequest represents a request to create a volume

type Credential added in v1.3.31

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

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

type DHCPNotFoundError struct {
	ID string
}

DHCPNotFoundError indicates a DHCP server/config was not found

func (*DHCPNotFoundError) Error added in v1.3.27

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"
)

func (DatastoreStatus) String

func (s DatastoreStatus) String() string

type DiscountPlan added in v1.3.39

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

type DiscountPlanNotFoundError struct {
	ID string
}

DiscountPlanNotFoundError indicates a discount plan was not found

func (*DiscountPlanNotFoundError) Error added in v1.3.41

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)

	// 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)

	// 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)
	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(ruleID string, memberID string) (AffinityRuleMember, error)
	CreateAffinityRuleMember(ruleID string, req CreateAffinityRuleMemberRequest) (TaskReference, error)
	DeleteAffinityRuleMember(ruleID string, memberID string) (string, error)
}

ECloudService is an interface for managing eCloud

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

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

FirewallPolicy represents an eCloud firewall policy

type FirewallPolicyNotFoundError added in v1.3.34

type FirewallPolicyNotFoundError struct {
	ID string
}

FirewallPolicyNotFoundError indicates a firewall policy was not found

func (*FirewallPolicyNotFoundError) Error added in v1.3.34

type FirewallRole

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

func (FirewallRole) String

func (r FirewallRole) String() string

type FirewallRule added in v1.3.27

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

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

func ParseFirewallRuleAction added in v1.3.39

func ParseFirewallRuleAction(s string) (FirewallRuleAction, error)

ParseFirewallRuleAction attempts to parse a FirewallRuleAction from string

func (FirewallRuleAction) String added in v1.3.39

func (s FirewallRuleAction) String() string

type FirewallRuleDirection added in v1.3.39

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

func ParseFirewallRuleDirection added in v1.3.39

func ParseFirewallRuleDirection(s string) (FirewallRuleDirection, error)

ParseFirewallRuleDirection attempts to parse a FirewallRuleDirection from string

func (FirewallRuleDirection) String added in v1.3.39

func (s FirewallRuleDirection) String() string

type FirewallRuleNotFoundError added in v1.3.27

type FirewallRuleNotFoundError struct {
	ID string
}

FirewallRuleNotFoundError indicates a firewall rule was not found

func (*FirewallRuleNotFoundError) Error added in v1.3.27

func (e *FirewallRuleNotFoundError) Error() string

type FirewallRulePort added in v1.3.39

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

type FirewallRulePortNotFoundError struct {
	ID string
}

FirewallRulePortNotFoundError indicates a firewall rule port was not found

func (*FirewallRulePortNotFoundError) Error added in v1.3.41

type FirewallRulePortProtocol added in v1.3.39

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

func ParseFirewallRulePortProtocol added in v1.3.39

func ParseFirewallRulePortProtocol(s string) (FirewallRulePortProtocol, error)

ParseFirewallRulePortProtocol attempts to parse a FirewallRulePortProtocol from string

func (FirewallRulePortProtocol) String added in v1.3.39

func (s FirewallRulePortProtocol) String() string

type FloatingIP added in v1.3.27

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"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

FloatingIP represents an eCloud floating IP address

type FloatingIPNotFoundError added in v1.3.27

type FloatingIPNotFoundError struct {
	ID string
}

FloatingIPNotFoundError indicates a floating IP was not found

func (*FloatingIPNotFoundError) Error added in v1.3.27

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"`
	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 added in v1.3.52

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"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

HostGroup represents an eCloud host group

type HostGroupNotFoundError added in v1.3.52

type HostGroupNotFoundError struct {
	ID string
}

HostGroupFoundError indicates an host group was not found

func (*HostGroupNotFoundError) Error added in v1.3.52

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

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

type HostSpecNotFoundError struct {
	ID string
}

HostSpecFoundError indicates an host spec was not found

func (*HostSpecNotFoundError) Error added in v1.3.52

func (e *HostSpecNotFoundError) Error() string

type IPAddress added in v1.5.2

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:"config_id"`
	Sync      ResourceSync         `json:"sync"`
	CreatedAt connection.DateTime  `json:"created_at"`
	UpdatedAt connection.DateTime  `json:"updated_at"`
}

IP Address represents an eCloud VPC Network IP Address

type IPAddressNotFoundError added in v1.5.2

type IPAddressNotFoundError struct {
	ID string
}

IPAddressNotFoundError indicates an IP address was not found

func (*IPAddressNotFoundError) Error added in v1.5.2

func (e *IPAddressNotFoundError) Error() string

type Image added in v1.3.45

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"`
	Publisher        string              `json:"publisher"`
	CreatedAt        connection.DateTime `json:"created_at"`
	UpdatedAt        connection.DateTime `json:"updated_at"`
}

Image represents an eCloud image

type ImageMetadata added in v1.3.45

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

type ImageNotFoundError struct {
	ID string
}

ImageNotFoundError indicates an image was not found

func (*ImageNotFoundError) Error added in v1.3.45

func (e *ImageNotFoundError) Error() string

type ImageParameter added in v1.3.45

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

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"`
	RAMCapacity        int                 `json:"ram_capacity"`
	Locked             bool                `json:"locked"`
	BackupEnabled      bool                `json:"backup_enabled"`
	Platform           string              `json:"platform"`
	VolumeCapacity     int                 `json:"volume_capacity"`
	VolumeGroupID      string              `json:"volume_group_id"`
	HostGroupID        string              `json:"host_group_id"`
	Sync               ResourceSync        `json:"sync"`
	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 added in v1.3.27

type InstanceNotFoundError struct {
	ID string
}

InstanceNotFoundError indicates an instance was not found

func (*InstanceNotFoundError) Error added in v1.3.27

func (e *InstanceNotFoundError) Error() string

type LoadBalancer added in v1.4.30

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"`
	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 added in v1.3.27

type LoadBalancerClusterNotFoundError struct {
	ID string
}

LoadBalancerClusterNotFoundError indicates a load balancer cluster was not found

func (*LoadBalancerClusterNotFoundError) Error added in v1.3.27

type LoadBalancerNotFoundError added in v1.4.30

type LoadBalancerNotFoundError struct {
	ID string
}

LoadBalancerNotFoundError indicates a load balancer was not found

func (*LoadBalancerNotFoundError) Error added in v1.4.30

func (e *LoadBalancerNotFoundError) Error() string

type LoadBalancerSpec added in v1.4.30

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

type LoadBalancerSpecNotFoundError struct {
	ID string
}

LoadBalancerNetworkNotFoundError indicates a load balancer spec was not found

func (*LoadBalancerSpecNotFoundError) Error added in v1.4.30

type MigrateInstanceRequest added in v1.4.16

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

MigrateInstanceRequest represents a request to migrate an instance

type NIC added in v1.3.31

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

type NICNotFoundError struct {
	ID string
}

NICNotFoundError indicates a NIC was not found

func (*NICNotFoundError) Error added in v1.3.41

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"`
	CreatedAt connection.DateTime `json:"created_at"`
	UpdatedAt connection.DateTime `json:"updated_at"`
}

Network represents an eCloud network

type NetworkNotFoundError added in v1.3.27

type NetworkNotFoundError struct {
	ID string
}

NetworkNotFoundError indicates a network was not found

func (*NetworkNotFoundError) Error added in v1.3.27

func (e *NetworkNotFoundError) Error() string

type NetworkPolicy added in v1.4.4

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"`
	CreatedAt connection.DateTime `json:"created_at"`
	UpdatedAt connection.DateTime `json:"updated_at"`
}

NetworkPolicy represents an eCloud network policy

type NetworkPolicyCatchallRuleAction added in v1.4.4

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

func ParseNetworkPolicyCatchallRuleAction added in v1.4.4

func ParseNetworkPolicyCatchallRuleAction(s string) (NetworkPolicyCatchallRuleAction, error)

ParseNetworkPolicyCatchallRuleAction attempts to parse a NetworkPolicyCatchallRuleAction from string

func (NetworkPolicyCatchallRuleAction) String added in v1.4.4

type NetworkPolicyNotFoundError added in v1.4.4

type NetworkPolicyNotFoundError struct {
	ID string
}

NetworkPolicyFoundError indicates a network policy was not found

func (*NetworkPolicyNotFoundError) Error added in v1.4.4

type NetworkRule added in v1.4.4

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

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

func ParseNetworkRuleAction added in v1.4.4

func ParseNetworkRuleAction(s string) (NetworkRuleAction, error)

ParseNetworkRuleAction attempts to parse a NetworkRuleAction from string

func (NetworkRuleAction) String added in v1.4.4

func (s NetworkRuleAction) String() string

type NetworkRuleDirection added in v1.4.4

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

func ParseNetworkRuleDirection added in v1.4.4

func ParseNetworkRuleDirection(s string) (NetworkRuleDirection, error)

ParseNetworkRuleDirection attempts to parse a NetworkRuleDirection from string

func (NetworkRuleDirection) String added in v1.4.4

func (s NetworkRuleDirection) String() string

type NetworkRuleNotFoundError added in v1.4.4

type NetworkRuleNotFoundError struct {
	ID string
}

NetworkRuleNotFoundError indicates a network rule was not found

func (*NetworkRuleNotFoundError) Error added in v1.4.4

func (e *NetworkRuleNotFoundError) Error() string

type NetworkRulePort added in v1.4.4

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

type NetworkRulePortNotFoundError struct {
	ID string
}

NetworkRulePortNotFoundError indicates a network rule port was not found

func (*NetworkRulePortNotFoundError) Error added in v1.4.4

type NetworkRulePortProtocol added in v1.4.4

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

func ParseNetworkRulePortProtocol added in v1.4.4

func ParseNetworkRulePortProtocol(s string) (NetworkRulePortProtocol, error)

ParseNetworkRulePortProtocol attempts to parse a NetworkRulePortProtocol from string

func (NetworkRulePortProtocol) String added in v1.4.4

func (s NetworkRulePortProtocol) String() string

type PatchAffinityRuleRequest added in v1.6.1

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

PatchAffinityRuleRequest represents a request to patch an Affinity Rule

type PatchFirewallPolicyRequest added in v1.3.34

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

PatchFirewallPolicyRequest represents a request to patch a firewall policy

type PatchFirewallRulePortRequest added in v1.3.41

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

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

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

PatchFloatingIPRequest represents a request to patch a floating IP

type PatchHostGroupRequest added in v1.3.52

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

PatchHostGroupRequest represents a request to patch a host group

type PatchHostRequest added in v1.4.0

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

PatchHostRequest represents a request to patch a host

type PatchIPAddressRequest added in v1.5.2

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

PatchIPAddressRequest represents a request to patch a network IP Address

type PatchInstanceRequest added in v1.3.31

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

PatchInstanceRequest represents a request to patch an instance

type PatchLoadBalancerClusterRequest added in v1.3.28

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

PatchLoadBalancerClusterRequest represents a request to patch a load balancer cluster

type PatchLoadBalancerRequest added in v1.4.30

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

CreateLoadBalancerRequest represents a request to patch a load balancer

type PatchNetworkPolicyRequest added in v1.4.4

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

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

PatchNetworkRequest represents a request to patch a network

type PatchNetworkRulePortRequest added in v1.4.4

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

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

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

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

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

PatchVIPRequest represents a request to patch a load balancer VIP

type PatchVPCRequest added in v1.3.28

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

PatchVPCRequest represents a request to patch a VPC

type PatchVPNEndpointRequest added in v1.4.17

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

PatchVPNEndpointRequest represents a request to patch a VPN endpoint

type PatchVPNServiceRequest added in v1.4.17

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

PatchVPNServiceRequest represents a request to patch a VPN service

type PatchVPNSessionRequest added in v1.4.17

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

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

PatchVolumeGroupRequest represents a request to patch a volume group

type PatchVolumeRequest added in v1.3.37

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

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

Region represents an eCloud region

type RegionNotFoundError added in v1.3.27

type RegionNotFoundError struct {
	ID string
}

RegionNotFoundError indicates a region was not found

func (*RegionNotFoundError) Error added in v1.3.27

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

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

ResourceSync represents the sync status of a resource

type Router added in v1.3.27

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"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

Router represents an eCloud router

type RouterNotFoundError added in v1.3.27

type RouterNotFoundError struct {
	ID string
}

RouterNotFoundError indicates a router was not found

func (*RouterNotFoundError) Error added in v1.3.27

func (e *RouterNotFoundError) Error() string

type RouterThroughput added in v1.3.39

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

type RouterThroughputNotFoundError struct {
	ID string
}

RouterThroughputNotFoundError indicates a router throughput was not found

func (*RouterThroughputNotFoundError) Error added in v1.3.41

type SSHKeyPair added in v1.3.56

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

type SSHKeyPairNotFoundError struct {
	ID string
}

SSHKeyPairFoundError indicates a SSH key pair was not found

func (*SSHKeyPairNotFoundError) Error added in v1.3.56

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

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

ApproveDiscountPlan approves a floating IP to a resource

func (*Service) AssignFloatingIP added in v1.3.41

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

AssignFloatingIP assigns a floating IP to a resource

func (*Service) AssignNICIPAddress added in v1.5.2

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

func (*Service) AttachInstanceVolume added in v1.3.58

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

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

CreateAffinityRule creates a new AffinityRule

func (*Service) CreateAffinityRuleMember added in v1.6.1

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

CreateAffinityRuleMember creates a new AffinityRuleMember

func (*Service) CreateFirewallPolicy added in v1.3.34

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

CreateFirewallPolicy creates a new FirewallPolicy

func (*Service) CreateFirewallRule added in v1.3.39

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

CreateFirewallRule creates a new FirewallRule

func (*Service) CreateFirewallRulePort added in v1.3.41

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

CreateFirewallRulePort creates a new FirewallRulePort

func (*Service) CreateFloatingIP added in v1.3.41

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

CreateFloatingIP creates a new FloatingIP

func (*Service) CreateHost added in v1.4.0

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

CreateHost creates a host

func (*Service) CreateHostGroup added in v1.3.52

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

CreateHostGroup creates a host group

func (*Service) CreateIPAddress added in v1.5.2

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

CreateIPAddress creates a new IPAddress

func (*Service) CreateInstance added in v1.3.29

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

CreateInstance creates a new instance

func (*Service) CreateInstanceConsoleSession added in v1.3.46

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

CreateInstanceConsoleSession creates an instance console session

func (*Service) CreateLoadBalancer added in v1.4.30

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

CreateLoadBalancer creates a new LoadBalancer

func (*Service) CreateNetwork added in v1.3.28

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

CreateNetwork creates a new Network

func (*Service) CreateNetworkPolicy added in v1.4.4

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

CreateNetworkPolicy creates a new NetworkPolicy

func (*Service) CreateNetworkRule added in v1.4.4

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

CreateNetworkRule creates a new NetworkRule

func (*Service) CreateNetworkRulePort added in v1.4.4

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

CreateNetworkRulePort creates a new NetworkRulePort

func (*Service) CreateRouter added in v1.3.28

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

CreateRouter creates a new Router

func (*Service) CreateSSHKeyPair added in v1.3.56

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

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

CreateVIP creates a new VIP

func (*Service) CreateVPC added in v1.3.28

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

CreateVPC creates a new VPC

func (*Service) CreateVPNEndpoint added in v1.4.17

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

CreateVPNEndpoint creates a new VPN endpoint

func (*Service) CreateVPNService added in v1.4.17

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

CreateVPNService creates a new VPN service

func (*Service) CreateVPNSession added in v1.4.17

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

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

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

CreateVirtualMachineTemplate creates a virtual machine template

func (*Service) CreateVolume added in v1.3.46

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

CreateVolume creates a volume

func (*Service) CreateVolumeGroup added in v1.4.22

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

CreateVolumeGroup creates a volumeGroup

func (*Service) DeleteAffinityRule added in v1.6.1

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

DeleteAffinityRule deletes a AffinityRule

func (*Service) DeleteAffinityRuleMember added in v1.6.1

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

DeleteAffinityRuleMember deletes a AffinityRuleMember

func (*Service) DeleteFirewallPolicy added in v1.3.34

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

DeleteFirewallPolicy deletes a FirewallPolicy

func (*Service) DeleteFirewallRule added in v1.3.39

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

DeleteFirewallRule deletes a FirewallRule

func (*Service) DeleteFirewallRulePort added in v1.3.41

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

DeleteFirewallRulePort deletes a FirewallRulePort

func (*Service) DeleteFloatingIP added in v1.3.41

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

DeleteFloatingIP deletes a floating IP

func (*Service) DeleteHost added in v1.4.0

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

DeleteHost deletes a host

func (*Service) DeleteHostGroup added in v1.3.52

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

DeleteHostGroup deletes a host group

func (*Service) DeleteIPAddress added in v1.5.2

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

DeleteIPAddress deletes a IPAddress

func (*Service) DeleteInstance added in v1.3.29

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

DeleteInstance removes an instance

func (*Service) DeleteLoadBalancer added in v1.4.30

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

DeleteLoadBalancer deletes a LoadBalancer

func (*Service) DeleteNetwork added in v1.3.28

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

DeleteNetwork deletes a Network

func (*Service) DeleteNetworkPolicy added in v1.4.4

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

DeleteNetworkPolicy deletes a NetworkPolicy

func (*Service) DeleteNetworkRule added in v1.4.4

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

DeleteNetworkRule deletes a NetworkRule

func (*Service) DeleteNetworkRulePort added in v1.4.4

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

DeleteNetworkRulePort deletes a NetworkRulePort

func (*Service) DeletePodTemplate added in v1.0.9

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

DeletePodTemplate removes a pod template

func (*Service) DeleteRouter added in v1.3.28

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

DeleteRouter deletes a Router

func (*Service) DeleteSSHKeyPair added in v1.3.56

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

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

DeleteSolutionTemplate removes a solution template

func (*Service) DeleteVIP added in v1.4.32

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

DeleteVIP deletes a VIP

func (*Service) DeleteVPC added in v1.3.28

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

DeleteVPC deletes a VPC

func (*Service) DeleteVPNEndpoint added in v1.4.17

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

DeleteVPNEndpoint deletes a VPN endpoint

func (*Service) DeleteVPNService added in v1.4.17

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

DeleteVPNService deletes a VPN service

func (*Service) DeleteVPNSession added in v1.4.17

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

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

DeleteVolume deletes a Volume

func (*Service) DeleteVolumeGroup added in v1.4.22

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

DeleteVolumeGroup deletes a volumeGroup

func (*Service) DeployRouterDefaultFirewallPolicies added in v1.3.41

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

DeployRouterDefaultFirewallPolicies deploys default firewall policy resources for specified router

func (*Service) DeployVPCDefaults added in v1.3.41

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

DeployVPCDefaults deploys default resources for specified VPC

func (*Service) DetachInstanceVolume added in v1.3.58

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

DetachInstanceVolume detaches a volume from an instance

func (*Service) GetActiveDirectoryDomain added in v1.2.1

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

GetActiveDirectoryDomain retrieves a single domain by ID

func (*Service) GetActiveDirectoryDomains added in v1.2.1

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

GetActiveDirectoryDomains retrieves a list of Active Directory Domains

func (*Service) GetActiveDirectoryDomainsPaginated added in v1.2.1

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

GetActiveDirectoryDomainsPaginated retrieves a paginated list of Active Directory Domains

func (*Service) GetAffinityRule added in v1.6.1

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

GetAffinityRule retrieves a single AffinityRule by id

func (*Service) GetAffinityRuleMember added in v1.6.1

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

GetAffinityRuleMember retrieves a single AffinityRuleMember by id

func (*Service) GetAffinityRuleMembers added in v1.6.1

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

GetAffinityRuleMembers retrieves a list of affinity rule members

func (*Service) GetAffinityRuleMembersPaginated added in v1.6.1

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

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

GetAffinityRules retrieves a list of affinity rules

func (*Service) GetAffinityRulesPaginated added in v1.6.1

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

GetAffinityRulesPaginated retrieves a paginated list of affinity rules

func (*Service) GetAppliance added in v1.0.23

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

GetAppliance retrieves a single Appliance by ID

func (*Service) GetApplianceParameters added in v1.0.23

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

GetApplianceParameters retrieves a list of parameters

func (*Service) GetApplianceParametersPaginated added in v1.0.23

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

GetApplianceParametersPaginated retrieves a paginated list of domains

func (*Service) GetAppliances added in v1.0.23

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

GetAppliances retrieves a list of appliances

func (*Service) GetAppliancesPaginated added in v1.0.23

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

GetAppliancesPaginated retrieves a paginated list of appliances

func (*Service) GetAvailabilityZone added in v1.3.27

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

GetAvailabilityZone retrieves a single az by id

func (*Service) GetAvailabilityZones added in v1.3.27

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

GetAvailabilityZones retrieves a list of azs

func (*Service) GetAvailabilityZonesPaginated added in v1.3.27

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

GetAvailabilityZonesPaginated retrieves a paginated list of azs

func (*Service) GetBillingMetric added in v1.3.41

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

GetBillingMetric retrieves a single billing metrics by id

func (*Service) GetBillingMetrics added in v1.3.41

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

GetBillingMetrics retrieves a list of billing metrics

func (*Service) GetBillingMetricsPaginated added in v1.3.41

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

GetBillingMetricsPaginated retrieves a paginated list of billing metrics

func (*Service) GetCredits added in v1.0.35

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

GetCredits retrieves a list of credits

func (*Service) GetDHCP added in v1.3.27

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

GetDHCP retrieves a single dhcp by id

func (*Service) GetDHCPTasks added in v1.3.55

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

GetDHCPTasks retrieves a list of DHCP tasks

func (*Service) GetDHCPTasksPaginated added in v1.3.55

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

GetDHCPTasksPaginated retrieves a paginated list of DHCP tasks

func (*Service) GetDHCPs added in v1.3.27

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

GetDHCPs retrieves a list of dhcps

func (*Service) GetDHCPsPaginated added in v1.3.27

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

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

GetDiscountPlan retrieves a single discount plan by id

func (*Service) GetDiscountPlans added in v1.3.41

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

GetDiscountPlans retrieves a list of discount plans

func (*Service) GetDiscountPlansPaginated added in v1.3.41

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

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

GetFirewallPolicies retrieves a list of firewall policies

func (*Service) GetFirewallPoliciesPaginated added in v1.3.34

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

GetFirewallPoliciesPaginated retrieves a paginated list of firewall policies

func (*Service) GetFirewallPolicy added in v1.3.34

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

GetFirewallPolicy retrieves a single firewall policy by id

func (*Service) GetFirewallPolicyFirewallRules added in v1.3.41

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

GetFirewallPolicyFirewallRules retrieves a list of firewall policy rules

func (*Service) GetFirewallPolicyFirewallRulesPaginated added in v1.3.41

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

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

GetFirewallPolicyTasks retrieves a list of FirewallPolicy tasks

func (*Service) GetFirewallPolicyTasksPaginated added in v1.3.55

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

GetFirewallPolicyTasksPaginated retrieves a paginated list of FirewallPolicy tasks

func (*Service) GetFirewallRule added in v1.3.27

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

GetFirewallRule retrieves a single rule by id

func (*Service) GetFirewallRuleFirewallRulePorts added in v1.3.41

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

GetFirewallRuleFirewallRulePorts retrieves a list of firewall rule ports

func (*Service) GetFirewallRuleFirewallRulePortsPaginated added in v1.3.41

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

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

GetFirewallRulePort retrieves a single rule by id

func (*Service) GetFirewallRulePorts added in v1.3.39

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

GetFirewallRulePorts retrieves a list of firewall rules

func (*Service) GetFirewallRulePortsPaginated added in v1.3.39

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

GetFirewallRulePortsPaginated retrieves a paginated list of firewall rules

func (*Service) GetFirewallRules added in v1.3.27

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

GetFirewallRules retrieves a list of firewall rules

func (*Service) GetFirewallRulesPaginated added in v1.3.27

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

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

GetFloatingIP retrieves a single floating ip by id

func (*Service) GetFloatingIPTasks added in v1.3.55

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

GetFloatingIPTasks retrieves a list of FloatingIP tasks

func (*Service) GetFloatingIPTasksPaginated added in v1.3.55

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

GetFloatingIPTasksPaginated retrieves a paginated list of FloatingIP tasks

func (*Service) GetFloatingIPs added in v1.3.27

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

GetFloatingIPs retrieves a list of floating ips

func (*Service) GetFloatingIPsPaginated added in v1.3.27

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

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

GetHostGroup retrieves a single host group by id

func (*Service) GetHostGroupTasks added in v1.3.55

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

GetHostGroupTasks retrieves a list of HostGroup tasks

func (*Service) GetHostGroupTasksPaginated added in v1.3.55

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

GetHostGroupTasksPaginated retrieves a paginated list of HostGroup tasks

func (*Service) GetHostGroups added in v1.3.52

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

GetHostGroups retrieves a list of host groups

func (*Service) GetHostGroupsPaginated added in v1.3.52

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

GetHostGroupsPaginated retrieves a paginated list of host groups

func (*Service) GetHostSpec added in v1.3.52

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

GetHostSpec retrieves a single host spec by id

func (*Service) GetHostSpecs added in v1.3.52

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

GetHostSpecs retrieves a list of host specs

func (*Service) GetHostSpecsPaginated added in v1.3.52

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

GetHostSpecsPaginated retrieves a paginated list of host specs

func (*Service) GetHostTasks added in v1.4.0

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

GetHostTasks retrieves a list of Host tasks

func (*Service) GetHostTasksPaginated added in v1.4.0

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) GetIPAddress added in v1.5.2

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

GetIPAddress retrieves a single ip by id

func (*Service) GetIPAddresses added in v1.5.2

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

GetIPAddresses retrieves a list of ips

func (*Service) GetIPAddressesPaginated added in v1.5.2

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

GetIPAddressesPaginated retrieves a paginated list of ips

func (*Service) GetImage added in v1.3.45

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

GetImage retrieves a single Image by ID

func (*Service) GetImageMetadata added in v1.3.45

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

GetImageMetadata retrieves a list of metadata

func (*Service) GetImageMetadataPaginated added in v1.3.45

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

GetImageMetadataPaginated retrieves a paginated list of domains

func (*Service) GetImageParameters added in v1.3.45

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

GetImageParameters retrieves a list of parameters

func (*Service) GetImageParametersPaginated added in v1.3.45

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

GetImageParametersPaginated retrieves a paginated list of domains

func (*Service) GetImages added in v1.3.45

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

GetImages retrieves a list of images

func (*Service) GetImagesPaginated added in v1.3.45

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

GetImagesPaginated retrieves a paginated list of images

func (*Service) GetInstance added in v1.3.27

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

GetInstance retrieves a single instance by id

func (*Service) GetInstanceCredentials added in v1.3.31

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

GetInstanceCredentials retrieves a list of instance credentials

func (*Service) GetInstanceCredentialsPaginated added in v1.3.31

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

GetInstanceCredentialsPaginated retrieves a paginated list of instance credentials

func (*Service) GetInstanceFloatingIPs added in v1.4.26

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

GetInstanceFloatingIPs retrieves a list of instance fips

func (*Service) GetInstanceFloatingIPsPaginated added in v1.4.26

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

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

GetInstanceNICs retrieves a list of instance NICs

func (*Service) GetInstanceNICsPaginated added in v1.3.31

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

GetInstanceNICsPaginated retrieves a paginated list of instance NICs

func (*Service) GetInstanceTasks added in v1.3.55

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

GetInstanceTasks retrieves a list of Instance tasks

func (*Service) GetInstanceTasksPaginated added in v1.3.55

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

GetInstanceTasksPaginated retrieves a paginated list of Instance tasks

func (*Service) GetInstanceVolumes added in v1.3.31

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

GetInstanceVolumes retrieves a list of instance volumes

func (*Service) GetInstanceVolumesPaginated added in v1.3.31

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

GetInstanceVolumesPaginated retrieves a paginated list of instance volumes

func (*Service) GetInstances added in v1.3.27

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

GetInstances retrieves a list of instances

func (*Service) GetInstancesPaginated added in v1.3.27

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

GetInstancesPaginated retrieves a paginated list of instances

func (*Service) GetLoadBalancer added in v1.4.30

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

GetLoadBalancer retrieves a single lb by id

func (*Service) GetLoadBalancerSpec added in v1.4.30

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

GetLoadBalancerSpec retrieves a single spec by id

func (*Service) GetLoadBalancerSpecs added in v1.4.30

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

GetLoadBalancerSpecs retrieves a list of load balancer specs

func (*Service) GetLoadBalancerSpecsPaginated added in v1.4.30

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

GetLoadBalancerSpecsPaginated retrieves a paginated list of load balancer specs

func (*Service) GetLoadBalancers added in v1.4.30

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

GetLoadBalancers retrieves a list of load balancers

func (*Service) GetLoadBalancersPaginated added in v1.4.30

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

GetLoadBalancersPaginated retrieves a paginated list of lbs

func (*Service) GetNIC added in v1.3.41

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

GetNIC retrieves a single nic by id

func (*Service) GetNICIPAddresses added in v1.5.2

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

GetNICIPAddress retrieves a list of NIC IP addresses

func (*Service) GetNICIPAddressesPaginated added in v1.5.2

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

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

GetNICTasks retrieves a list of NIC tasks

func (*Service) GetNICTasksPaginated added in v1.3.55

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

GetNICTasksPaginated retrieves a paginated list of NIC tasks

func (*Service) GetNICs added in v1.3.41

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

GetNICs retrieves a list of nics

func (*Service) GetNICsPaginated added in v1.3.41

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

GetNICsPaginated retrieves a paginated list of nics

func (*Service) GetNetwork added in v1.3.27

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

GetNetwork retrieves a single network by id

func (*Service) GetNetworkNICs added in v1.3.39

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

GetNetworkNICs retrieves a list of firewall rule nics

func (*Service) GetNetworkNICsPaginated added in v1.3.39

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

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

GetNetworkPolicies retrieves a list of network policies

func (*Service) GetNetworkPoliciesPaginated added in v1.4.4

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

GetNetworkPoliciesPaginated retrieves a paginated list of network policies

func (*Service) GetNetworkPolicy added in v1.4.4

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

GetNetworkPolicy retrieves a single network policy by id

func (*Service) GetNetworkPolicyNetworkRules added in v1.4.4

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

GetNetworkPolicyNetworkRules retrieves a list of network policy rules

func (*Service) GetNetworkPolicyNetworkRulesPaginated added in v1.4.4

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

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

GetNetworkPolicyTasks retrieves a list of NetworkPolicy tasks

func (*Service) GetNetworkPolicyTasksPaginated added in v1.4.4

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

GetNetworkPolicyTasksPaginated retrieves a paginated list of NetworkPolicy tasks

func (*Service) GetNetworkRule added in v1.4.4

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

GetNetworkRule retrieves a single rule by id

func (*Service) GetNetworkRuleNetworkRulePorts added in v1.4.4

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

GetNetworkRuleNetworkRulePorts retrieves a list of network rule ports

func (*Service) GetNetworkRuleNetworkRulePortsPaginated added in v1.4.4

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

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

GetNetworkRulePort retrieves a single rule by id

func (*Service) GetNetworkRulePorts added in v1.4.4

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

GetNetworkRulePorts retrieves a list of network rules

func (*Service) GetNetworkRulePortsPaginated added in v1.4.4

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

GetNetworkRulePortsPaginated retrieves a paginated list of network rules

func (*Service) GetNetworkRules added in v1.4.4

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

GetNetworkRules retrieves a list of network rules

func (*Service) GetNetworkRulesPaginated added in v1.4.4

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

GetNetworkRulesPaginated retrieves a paginated list of network rules

func (*Service) GetNetworkTasks added in v1.3.55

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

GetNetworkTasks retrieves a list of Network tasks

func (*Service) GetNetworkTasksPaginated added in v1.3.55

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

GetNetworkTasksPaginated retrieves a paginated list of Network tasks

func (*Service) GetNetworks added in v1.3.27

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

GetNetworks retrieves a list of networks

func (*Service) GetNetworksPaginated added in v1.3.27

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

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

GetPodAppliances retrieves a list of appliances

func (*Service) GetPodAppliancesPaginated added in v1.0.28

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

GetPodAppliancesPaginated retrieves a paginated list of domains

func (*Service) GetPodTemplate added in v1.0.9

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

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

GetRegion retrieves a single region by id

func (*Service) GetRegions added in v1.3.27

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

GetRegions retrieves a list of regions

func (*Service) GetRegionsPaginated added in v1.3.27

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

GetRegionsPaginated retrieves a paginated list of regions

func (*Service) GetRouter added in v1.3.27

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

GetRouter retrieves a single router by id

func (*Service) GetRouterFirewallPolicies added in v1.3.41

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

GetRouterFirewallPolicies retrieves a list of firewall rule policies

func (*Service) GetRouterFirewallPoliciesPaginated added in v1.3.41

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

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

GetRouterNetworks retrieves a list of router networks

func (*Service) GetRouterNetworksPaginated added in v1.3.41

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

GetRouterNetworksPaginated retrieves a paginated list of router networks

func (*Service) GetRouterTasks added in v1.3.55

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

GetRouterTasks retrieves a list of Router tasks

func (*Service) GetRouterTasksPaginated added in v1.3.55

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

GetRouterTasksPaginated retrieves a paginated list of Router tasks

func (*Service) GetRouterThroughput added in v1.3.41

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

GetRouterThroughput retrieves a single router throughput by id

func (*Service) GetRouterThroughputs added in v1.3.41

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

GetRouterThroughputs retrieves a list of router throughputs

func (*Service) GetRouterThroughputsPaginated added in v1.3.41

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

GetRouterThroughputsPaginated retrieves a paginated list of router throughputs

func (*Service) GetRouterVPNs added in v1.3.41

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

GetRouterVPNs retrieves a list of router VPNs

func (*Service) GetRouterVPNsPaginated added in v1.3.41

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

GetRouterVPNsPaginated retrieves a paginated list of router VPNs

func (*Service) GetRouters added in v1.3.27

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

GetRouters retrieves a list of routers

func (*Service) GetRoutersPaginated added in v1.3.27

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

GetRoutersPaginated retrieves a paginated list of routers

func (*Service) GetSSHKeyPair added in v1.3.56

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

GetSSHKeyPair retrieves a single keypair by id

func (*Service) GetSSHKeyPairs added in v1.3.56

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

GetSSHKeyPairs retrieves a list of keypairs

func (*Service) GetSSHKeyPairsPaginated added in v1.3.56

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

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

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

GetTask retrieves a single task by id

func (*Service) GetTasks added in v1.4.1

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

GetTasks retrieves a list of tasks

func (*Service) GetTasksPaginated added in v1.4.1

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

GetTasksPaginated retrieves a paginated list of tasks

func (*Service) GetV1Host added in v1.4.0

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

GetV1Host retrieves a single v1 host by ID

func (*Service) GetV1Hosts added in v1.4.0

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

GetV1Hosts retrieves a list of v1 hosts

func (*Service) GetV1HostsPaginated added in v1.4.0

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

GetV1HostsPaginated retrieves a paginated list of v1 hosts

func (*Service) GetVIP added in v1.4.32

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

GetVIP retrieves a single vip by id

func (*Service) GetVIPs added in v1.4.32

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

GetVIPs retrieves a list of vips

func (*Service) GetVIPsPaginated added in v1.4.32

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

GetVIPsPaginated retrieves a paginated list of vips

func (*Service) GetVPC added in v1.3.25

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

GetVPC retrieves a single vpc by id

func (*Service) GetVPCInstances added in v1.3.41

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

GetVPCInstances retrieves a list of firewall rule instances

func (*Service) GetVPCInstancesPaginated added in v1.3.41

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

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

GetVPCTasks retrieves a list of VPC tasks

func (*Service) GetVPCTasksPaginated added in v1.3.55

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

GetVPCTasksPaginated retrieves a paginated list of VPC tasks

func (*Service) GetVPCVolumes added in v1.3.41

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

GetVPCVolumes retrieves a list of firewall rule volumes

func (*Service) GetVPCVolumesPaginated added in v1.3.41

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

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

GetVPCs retrieves a list of vpcs

func (*Service) GetVPCsPaginated added in v1.3.25

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

GetVPCsPaginated retrieves a paginated list of vpcs

func (*Service) GetVPNEndpoint added in v1.4.17

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

GetVPNEndpoint retrieves a single VPN endpoint by id

func (*Service) GetVPNEndpointTasks added in v1.4.17

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

GetVPNEndpointTasks retrieves a list of VPN endpoint tasks

func (*Service) GetVPNEndpointTasksPaginated added in v1.4.17

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

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

GetVPNEndpoints retrieves a list of VPN endpoints

func (*Service) GetVPNEndpointsPaginated added in v1.4.17

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

GetVPNEndpointsPaginated retrieves a paginated list of VPN endpoints

func (*Service) GetVPNProfileGroup added in v1.4.17

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

GetVPNProfileGroup retrieves a single VPN profile group by id

func (*Service) GetVPNProfileGroups added in v1.4.17

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

GetVPNProfileGroups retrieves a list of VPN profile groups

func (*Service) GetVPNProfileGroupsPaginated added in v1.4.17

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

GetVPNProfileGroupsPaginated retrieves a paginated list of VPN profile groups

func (*Service) GetVPNService added in v1.4.17

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

GetVPNService retrieves a single VPN service by id

func (*Service) GetVPNServiceTasks added in v1.4.17

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

GetVPNServiceTasks retrieves a list of VPN service tasks

func (*Service) GetVPNServiceTasksPaginated added in v1.4.17

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

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

GetVPNServices retrieves a list of VPN services

func (*Service) GetVPNServicesPaginated added in v1.4.17

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

GetVPNServicesPaginated retrieves a paginated list of VPN services

func (*Service) GetVPNSession added in v1.4.17

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

GetVPNSession retrieves a single VPN session by id

func (*Service) GetVPNSessionPreSharedKey added in v1.4.21

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

GetVPNSession retrieves a single VPN session by id

func (*Service) GetVPNSessionTasks added in v1.4.17

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

GetVPNSessionTasks retrieves a list of VPN session tasks

func (*Service) GetVPNSessionTasksPaginated added in v1.4.17

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

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

GetVPNSessions retrieves a list of VPN sessions

func (*Service) GetVPNSessionsPaginated added in v1.4.17

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

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

GetVolume retrieves a single volume by id

func (*Service) GetVolumeGroup added in v1.4.22

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

GetVolumeGroup retrieves a single volumeGroup by id

func (*Service) GetVolumeGroupVolumes added in v1.4.22

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

GetVolumeGroupVolumes retrieves a list of VolumeGroup volumes

func (*Service) GetVolumeGroupVolumesPaginated added in v1.4.22

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

GetVolumeGroupVolumesPaginated retrieves a paginated list of VolumeGroup volumes

func (*Service) GetVolumeGroups added in v1.4.22

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

GetVolumeGroups retrieves a list of volume groups

func (*Service) GetVolumeGroupsPaginated added in v1.4.22

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

GetVolumeGroupsPaginated retrieves a paginated list of volume groups

func (*Service) GetVolumeInstances added in v1.3.41

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

GetVolumeInstances retrieves a list of volume instances

func (*Service) GetVolumeInstancesPaginated added in v1.3.41

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

GetVolumeInstancesPaginated retrieves a paginated list of volume instances

func (*Service) GetVolumeTasks added in v1.3.55

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

GetVolumeTasks retrieves a list of Volume tasks

func (*Service) GetVolumeTasksPaginated added in v1.3.55

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

GetVolumeTasksPaginated retrieves a paginated list of Volume tasks

func (*Service) GetVolumes added in v1.3.37

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

GetVolumes retrieves a list of volumes

func (*Service) GetVolumesPaginated added in v1.3.37

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

GetVolumesPaginated retrieves a paginated list of volumes

func (*Service) LockInstance added in v1.3.31

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

LockInstance locks an instance from update/removal

func (*Service) MigrateInstance added in v1.4.16

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

MigrateInstance migrates an instance

func (*Service) PatchAffinityRule added in v1.6.1

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

PatchAffinityRule patches a AffinityRule

func (*Service) PatchFirewallPolicy added in v1.3.34

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

PatchFirewallPolicy patches a FirewallPolicy

func (*Service) PatchFirewallRule added in v1.3.39

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

PatchFirewallRule patches a FirewallRule

func (*Service) PatchFirewallRulePort added in v1.3.41

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

PatchFirewallRulePort patches a FirewallRulePort

func (*Service) PatchFloatingIP added in v1.3.41

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

PatchFloatingIP patches a floating IP

func (*Service) PatchHost added in v1.4.0

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

PatchHost patches a host

func (*Service) PatchHostGroup added in v1.3.52

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

PatchHostGroup patches a host group

func (*Service) PatchIPAddress added in v1.5.2

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

PatchIPAddress patches a IPAddress

func (*Service) PatchInstance added in v1.3.31

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

PatchInstance updates an instance

func (*Service) PatchLoadBalancer added in v1.4.30

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

PatchLoadBalancer patches a LoadBalancer

func (*Service) PatchNetwork added in v1.3.28

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

PatchNetwork patches a Network

func (*Service) PatchNetworkPolicy added in v1.4.4

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

PatchNetworkPolicy patches a NetworkPolicy

func (*Service) PatchNetworkRule added in v1.4.4

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

PatchNetworkRule patches a NetworkRule

func (*Service) PatchNetworkRulePort added in v1.4.4

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

PatchNetworkRulePort patches a NetworkRulePort

func (*Service) PatchRouter added in v1.3.28

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

PatchRouter patches a Router

func (*Service) PatchSSHKeyPair added in v1.3.56

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

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

PatchVIP patches a VIP

func (*Service) PatchVPC added in v1.3.28

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

PatchVPC patches a VPC

func (*Service) PatchVPNEndpoint added in v1.4.17

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

PatchVPNEndpoint patches a VPN endpoint

func (*Service) PatchVPNService added in v1.4.17

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

PatchVPNService patches a VPN service

func (*Service) PatchVPNSession added in v1.4.17

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

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

PatchVolume patches a Volume

func (*Service) PatchVolumeGroup added in v1.4.22

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

PatchVolumeGroup patches a volumeGroup

func (*Service) PodConsoleAvailable added in v1.3.6

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

PodConsoleAvailable removes a pod template

func (*Service) PowerOffInstance added in v1.3.31

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

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

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

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

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

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

RejectDiscountPlan rejects a floating IP from a resource

func (*Service) RenamePodTemplate added in v1.0.9

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

RenamePodTemplate renames a pod template

func (*Service) RenameSolutionTemplate added in v1.0.7

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

RenameSolutionTemplate renames a solution template

func (*Service) UnassignFloatingIP added in v1.3.41

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

UnassignFloatingIP unassigns a floating IP from a resource

func (*Service) UnassignNICIPAddress added in v1.5.2

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

UnassignNICIPAddress unassigns an IP Address from a resource

func (*Service) UnlockInstance added in v1.3.31

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

UnlockInstance unlocks an instance

func (*Service) UpdateVPNSessionPreSharedKey added in v1.6.2

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"
)

func (SolutionEnvironment) String

func (s SolutionEnvironment) String() string

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

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

func (SyncStatus) String added in v1.3.33

func (s SyncStatus) String() string

type SyncType added in v1.3.48

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

func (SyncType) String added in v1.3.48

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

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

type TaskNotFoundError struct {
	ID string
}

TaskFoundError indicates an task was not found

func (*TaskNotFoundError) Error added in v1.4.1

func (e *TaskNotFoundError) Error() string

type TaskReference added in v1.3.55

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

TaskReference represents a reference to an on-going task

type TaskStatus added in v1.3.55

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

func ParseTaskStatus added in v1.4.0

func ParseTaskStatus(s string) (TaskStatus, error)

ParseTaskStatus attempts to parse a TaskStatus from string

func (TaskStatus) String added in v1.3.55

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

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

func ParseTemplateType added in v1.0.10

func ParseTemplateType(s string) (TemplateType, error)

ParseTemplateType attempts to parse a TemplateType from string

func (TemplateType) String added in v1.0.10

func (s TemplateType) String() string

type UpdateVPNSessionPreSharedKeyRequest added in v1.6.2

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

UpdateVPNSessionPreSharedKeyRequest represents a request to update a VPN session PSK

type V1Host added in v1.4.0

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

type V1HostNotFoundError struct {
	ID int
}

V1HostNotFoundError indicates a v1 host was not found within eCloud

func (*V1HostNotFoundError) Error added in v1.4.0

func (e *V1HostNotFoundError) Error() string

type V1Network added in v1.3.27

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

V1Network represents an eCloud v1 network

type VIP added in v1.4.32

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"`
	CreatedAt      connection.DateTime `json:"created_at"`
	UpdatedAt      connection.DateTime `json:"updated_at"`
}

VIP represents an eCloud load balancer VIP

type VIPNotFoundError added in v1.4.32

type VIPNotFoundError struct {
	ID string
}

VIPNotFoundError indicates a load balancer VIP was not found

func (*VIPNotFoundError) Error added in v1.4.32

func (e *VIPNotFoundError) Error() string

type VPC added in v1.3.25

type VPC struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	RegionID           string              `json:"region_id"`
	Sync               ResourceSync        `json:"sync"`
	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 added in v1.3.25

type VPCNotFoundError struct {
	ID string
}

VPCNotFoundError indicates a VPC was not found

func (*VPCNotFoundError) Error added in v1.3.25

func (e *VPCNotFoundError) Error() string

type VPN added in v1.3.27

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

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"`
	CreatedAt    connection.DateTime `json:"created_at"`
	UpdatedAt    connection.DateTime `json:"updated_at"`
}

VPNEndpoint represents an eCloud VPN endpoint

type VPNEndpointNotFoundError added in v1.4.17

type VPNEndpointNotFoundError struct {
	ID string
}

VPNEndpointNotFoundError indicates a VPN endpoint was not found

func (*VPNEndpointNotFoundError) Error added in v1.4.17

func (e *VPNEndpointNotFoundError) Error() string

type VPNNotFoundError added in v1.3.27

type VPNNotFoundError struct {
	ID string
}

VPNNotFoundError indicates a VPN was not found

func (*VPNNotFoundError) Error added in v1.3.27

func (e *VPNNotFoundError) Error() string

type VPNProfileGroup added in v1.4.17

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

type VPNProfileGroupNotFoundError struct {
	ID string
}

VPNProfileGroupNotFoundError indicates a VPN profile group was not found

func (*VPNProfileGroupNotFoundError) Error added in v1.4.17

type VPNService added in v1.4.17

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"`
	CreatedAt connection.DateTime `json:"created_at"`
	UpdatedAt connection.DateTime `json:"updated_at"`
}

VPNService represents an eCloud VPN service

type VPNServiceNotFoundError added in v1.4.17

type VPNServiceNotFoundError struct {
	ID string
}

VPNServiceNotFoundError indicates a VPN service was not found

func (*VPNServiceNotFoundError) Error added in v1.4.17

func (e *VPNServiceNotFoundError) Error() string

type VPNSession added in v1.4.17

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"`
	CreatedAt         connection.DateTime      `json:"created_at"`
	UpdatedAt         connection.DateTime      `json:"updated_at"`
}

VPNSession represents an eCloud VPN session

type VPNSessionNotFoundError added in v1.4.17

type VPNSessionNotFoundError struct {
	ID string
}

VPNSessionNotFoundError indicates a VPN session was not found

func (*VPNSessionNotFoundError) Error added in v1.4.17

func (e *VPNSessionNotFoundError) Error() string

type VPNSessionPreSharedKey added in v1.4.21

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

VPNSessionPreSharedKey represents an eCloud VPN session pre-shared key

type VPNSessionTunnelDetails added in v1.4.24

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

type VPNSessionTunnelStatistics added in v1.4.24

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

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

func (VirtualMachineDiskType) String added in v1.0.36

func (e VirtualMachineDiskType) String() string

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 ParseVirtualMachinePowerStatus

func ParseVirtualMachinePowerStatus(s string) (VirtualMachinePowerStatus, error)

ParseVirtualMachinePowerStatus attempts to parse a VirtualMachinePowerStatus from string

func (VirtualMachinePowerStatus) String

func (s VirtualMachinePowerStatus) String() string

type VirtualMachineStatus

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

func (VirtualMachineStatus) String

func (s VirtualMachineStatus) String() string

type Volume added in v1.3.31

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"`
	Sync               ResourceSync        `json:"sync"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

Volume represents an eCloud volume

type VolumeGroup added in v1.4.22

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"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

VolumeGroup represents an eCloud volume group resource

type VolumeGroupNotFoundError added in v1.4.22

type VolumeGroupNotFoundError struct {
	ID string
}

VolumeGroupNotFoundError indicates a volume group was not found

func (*VolumeGroupNotFoundError) Error added in v1.4.22

func (e *VolumeGroupNotFoundError) Error() string

type VolumeGroupUsage added in v1.4.22

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

type VolumeNotFoundError added in v1.3.37

type VolumeNotFoundError struct {
	ID string
}

VolumeNotFoundError indicates a volume was not found

func (*VolumeNotFoundError) Error added in v1.3.37

func (e *VolumeNotFoundError) Error() string

type VolumeType added in v1.3.51

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

func (VolumeType) String added in v1.3.51

func (s VolumeType) String() string

Jump to

Keyboard shortcuts

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