ecloud

package
v1.3.44 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2021 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 +genie:model_response +genie:model_paginated

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 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 +genie:model_response +genie:model_paginated

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 +genie:model_response +genie:model_paginated

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

AvailabilityZone represents an eCloud availability zone +genie:model_response +genie:model_paginated

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 +genie:model_response +genie:model_paginated

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 +genie:model_response

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"`
	Destination    string                   `json:"destination"`
}

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

CreateFloatingIPRequest represents a request to create a floating IP

type CreateInstanceRequest added in v1.3.29

type CreateInstanceRequest struct {
	Name               string `json:"name,omitempty"`
	VPCID              string `json:"vpc_id"`
	ApplianceID        string `json:"appliance_id"`
	VCPUCores          int    `json:"vcpu_cores"`
	RAMCapacity        int    `json:"ram_capacity"`
	Locked             bool   `json:"locked"`
	VolumeCapacity     int    `json:"volume_capacity"`
	BackupEnabled      bool   `json:"backup_enabled"`
	NetworkID          string `json:"network_id,omitempty"`
	FloatingIPID       string `json:"floating_ip_id,omitempty"`
	RequiresFloatingIP bool   `json:"requires_floating_ip"`
	UserScript         string `json:"user_script,omitempty"`
}

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

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

CreateRouterRequest represents a request to create a router

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

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

CreateVPCRequest represents a request to create a VPC

type CreateVPNRequest added in v1.3.28

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

CreateVPNRequest represents a request to create a VPN

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 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 +genie:model_response +genie:model_paginated

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 +genie:model_response +genie:model_paginated

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 +genie:model_response +genie:model_paginated

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 +genie:model_response +genie:model_paginated

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) (*PaginatedVirtualMachine, 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) (*PaginatedTag, 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) (*PaginatedSolution, 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) (*PaginatedVirtualMachine, error)
	GetSolutionSites(solutionID int, parameters connection.APIRequestParameters) ([]Site, error)
	GetSolutionSitesPaginated(solutionID int, parameters connection.APIRequestParameters) (*PaginatedSite, error)
	GetSolutionDatastores(solutionID int, parameters connection.APIRequestParameters) ([]Datastore, error)
	GetSolutionDatastoresPaginated(solutionID int, parameters connection.APIRequestParameters) (*PaginatedDatastore, error)
	GetSolutionHosts(solutionID int, parameters connection.APIRequestParameters) ([]Host, error)
	GetSolutionHostsPaginated(solutionID int, parameters connection.APIRequestParameters) (*PaginatedHost, error)
	GetSolutionNetworks(solutionID int, parameters connection.APIRequestParameters) ([]V1Network, error)
	GetSolutionNetworksPaginated(solutionID int, parameters connection.APIRequestParameters) (*PaginatedV1Network, error)
	GetSolutionFirewalls(solutionID int, parameters connection.APIRequestParameters) ([]Firewall, error)
	GetSolutionFirewallsPaginated(solutionID int, parameters connection.APIRequestParameters) (*PaginatedFirewall, error)
	GetSolutionTemplates(solutionID int, parameters connection.APIRequestParameters) ([]Template, error)
	GetSolutionTemplatesPaginated(solutionID int, parameters connection.APIRequestParameters) (*PaginatedTemplate, 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) (*PaginatedTag, 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) (*PaginatedSite, error)
	GetSite(siteID int) (Site, error)

	// Host
	GetHosts(parameters connection.APIRequestParameters) ([]Host, error)
	GetHostsPaginated(parameters connection.APIRequestParameters) (*PaginatedHost, error)
	GetHost(hostID int) (Host, error)

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

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

	// Pod
	GetPods(parameters connection.APIRequestParameters) ([]Pod, error)
	GetPodsPaginated(parameters connection.APIRequestParameters) (*PaginatedPod, error)
	GetPod(podID int) (Pod, error)
	GetPodTemplates(podID int, parameters connection.APIRequestParameters) ([]Template, error)
	GetPodTemplatesPaginated(podID int, parameters connection.APIRequestParameters) (*PaginatedTemplate, 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) (*PaginatedAppliance, error)
	PodConsoleAvailable(podID int) (bool, error)

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

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

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

	// VPC
	GetVPCs(parameters connection.APIRequestParameters) ([]VPC, error)
	GetVPCsPaginated(parameters connection.APIRequestParameters) (*PaginatedVPC, 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) (*PaginatedVolume, error)
	GetVPCInstances(vpcID string, parameters connection.APIRequestParameters) ([]Instance, error)
	GetVPCInstancesPaginated(vpcID string, parameters connection.APIRequestParameters) (*PaginatedInstance, error)

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

	// Network
	GetNetworks(parameters connection.APIRequestParameters) ([]Network, error)
	GetNetworksPaginated(parameters connection.APIRequestParameters) (*PaginatedNetwork, 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) (*PaginatedNIC, error)

	// DHCP
	GetDHCPs(parameters connection.APIRequestParameters) ([]DHCP, error)
	GetDHCPsPaginated(parameters connection.APIRequestParameters) (*PaginatedDHCP, error)
	GetDHCP(dhcpID string) (DHCP, error)

	// VPN
	GetVPNs(parameters connection.APIRequestParameters) ([]VPN, error)
	GetVPNsPaginated(parameters connection.APIRequestParameters) (*PaginatedVPN, error)
	GetVPN(vpnID string) (VPN, error)
	CreateVPN(req CreateVPNRequest) (string, error)
	DeleteVPN(vpcID string) error

	// Instance
	GetInstances(parameters connection.APIRequestParameters) ([]Instance, error)
	GetInstancesPaginated(parameters connection.APIRequestParameters) (*PaginatedInstance, 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) error
	PowerOffInstance(instanceID string) error
	PowerResetInstance(instanceID string) error
	PowerShutdownInstance(instanceID string) error
	PowerRestartInstance(instanceID string) error
	GetInstanceVolumes(instanceID string, parameters connection.APIRequestParameters) ([]Volume, error)
	GetInstanceVolumesPaginated(instanceID string, parameters connection.APIRequestParameters) (*PaginatedVolume, error)
	GetInstanceCredentials(instanceID string, parameters connection.APIRequestParameters) ([]Credential, error)
	GetInstanceCredentialsPaginated(instanceID string, parameters connection.APIRequestParameters) (*PaginatedCredential, error)
	GetInstanceNICs(instanceID string, parameters connection.APIRequestParameters) ([]NIC, error)
	GetInstanceNICsPaginated(instanceID string, parameters connection.APIRequestParameters) (*PaginatedNIC, error)

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

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

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

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

	// Router
	GetRouters(parameters connection.APIRequestParameters) ([]Router, error)
	GetRoutersPaginated(parameters connection.APIRequestParameters) (*PaginatedRouter, 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) (*PaginatedFirewallPolicy, error)
	GetRouterNetworks(routerID string, parameters connection.APIRequestParameters) ([]Network, error)
	GetRouterNetworksPaginated(routerID string, parameters connection.APIRequestParameters) (*PaginatedNetwork, error)
	GetRouterVPNs(routerID string, parameters connection.APIRequestParameters) ([]VPN, error)
	GetRouterVPNsPaginated(routerID string, parameters connection.APIRequestParameters) (*PaginatedVPN, error)
	DeployRouterDefaultFirewallPolicies(routerID string) error

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

	// Load balancers
	GetLoadBalancerClusters(parameters connection.APIRequestParameters) ([]LoadBalancerCluster, error)
	GetLoadBalancerClustersPaginated(parameters connection.APIRequestParameters) (*PaginatedLoadBalancerCluster, error)
	GetLoadBalancerCluster(lbcID string) (LoadBalancerCluster, error)
	CreateLoadBalancerCluster(req CreateLoadBalancerClusterRequest) (string, error)
	PatchLoadBalancerCluster(lbcID string, patch PatchLoadBalancerClusterRequest) error
	DeleteLoadBalancerCluster(lbcID string) error

	// Volumes
	GetVolumes(parameters connection.APIRequestParameters) ([]Volume, error)
	GetVolumesPaginated(parameters connection.APIRequestParameters) (*PaginatedVolume, error)
	GetVolume(volumeID string) (Volume, error)
	PatchVolume(volumeID string, patch PatchVolumeRequest) error
	DeleteVolume(volumeID string) error
	GetVolumeInstances(volumeID string, parameters connection.APIRequestParameters) ([]Instance, error)
	GetVolumeInstancesPaginated(volumeID string, parameters connection.APIRequestParameters) (*PaginatedInstance, error)

	// NICs
	GetNICs(parameters connection.APIRequestParameters) ([]NIC, error)
	GetNICsPaginated(parameters connection.APIRequestParameters) (*PaginatedNIC, error)
	GetNIC(nicID string) (NIC, error)

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

	// Router throughputs
	GetRouterThroughputs(parameters connection.APIRequestParameters) ([]RouterThroughput, error)
	GetRouterThroughputsPaginated(parameters connection.APIRequestParameters) (*PaginatedRouterThroughput, error)
	GetRouterThroughput(metricID string) (RouterThroughput, 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 +genie:model_response +genie:model_paginated

type FirewallConfig

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

FirewallConfig represents an eCloud firewall config +genie:model_response

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

FirewallPolicy represents an eCloud firewall policy +genie:model_response +genie:model_paginated

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 +genie:model_response +genie:model_paginated

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 +genie:model_response +genie:model_paginated

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

FloatingIP represents an eCloud floating IP address +genie:model_response +genie:model_paginated

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

type GetActiveDirectoryDomainResponseBody struct {
	connection.APIResponseBody
	Data ActiveDirectoryDomain `json:"data"`
}

GetActiveDirectoryDomainResponseBody represents an API response body containing ActiveDirectoryDomain data

type GetActiveDirectoryDomainSliceResponseBody added in v1.3.17

type GetActiveDirectoryDomainSliceResponseBody struct {
	connection.APIResponseBody
	Data []ActiveDirectoryDomain `json:"data"`
}

GetActiveDirectoryDomainSliceResponseBody represents an API response body containing []ActiveDirectoryDomain data

type GetApplianceParameterResponseBody added in v1.3.17

type GetApplianceParameterResponseBody struct {
	connection.APIResponseBody
	Data ApplianceParameter `json:"data"`
}

GetApplianceParameterResponseBody represents an API response body containing ApplianceParameter data

type GetApplianceParameterSliceResponseBody added in v1.3.17

type GetApplianceParameterSliceResponseBody struct {
	connection.APIResponseBody
	Data []ApplianceParameter `json:"data"`
}

GetApplianceParameterSliceResponseBody represents an API response body containing []ApplianceParameter data

type GetApplianceResponseBody added in v1.0.23

type GetApplianceResponseBody struct {
	connection.APIResponseBody
	Data Appliance `json:"data"`
}

GetApplianceResponseBody represents an API response body containing Appliance data

type GetApplianceSliceResponseBody added in v1.3.17

type GetApplianceSliceResponseBody struct {
	connection.APIResponseBody
	Data []Appliance `json:"data"`
}

GetApplianceSliceResponseBody represents an API response body containing []Appliance data

type GetAvailabilityZoneResponseBody added in v1.3.27

type GetAvailabilityZoneResponseBody struct {
	connection.APIResponseBody
	Data AvailabilityZone `json:"data"`
}

GetAvailabilityZoneResponseBody represents an API response body containing AvailabilityZone data

type GetAvailabilityZoneSliceResponseBody added in v1.3.27

type GetAvailabilityZoneSliceResponseBody struct {
	connection.APIResponseBody
	Data []AvailabilityZone `json:"data"`
}

GetAvailabilityZoneSliceResponseBody represents an API response body containing []AvailabilityZone data

type GetBillingMetricResponseBody added in v1.3.41

type GetBillingMetricResponseBody struct {
	connection.APIResponseBody
	Data BillingMetric `json:"data"`
}

GetBillingMetricResponseBody represents an API response body containing BillingMetric data

type GetBillingMetricSliceResponseBody added in v1.3.41

type GetBillingMetricSliceResponseBody struct {
	connection.APIResponseBody
	Data []BillingMetric `json:"data"`
}

GetBillingMetricSliceResponseBody represents an API response body containing []BillingMetric data

type GetConsoleSessionResponseBody added in v1.3.6

type GetConsoleSessionResponseBody struct {
	connection.APIResponseBody
	Data ConsoleSession `json:"data"`
}

GetConsoleSessionResponseBody represents an API response body containing ConsoleSession data

type GetConsoleSessionSliceResponseBody added in v1.3.17

type GetConsoleSessionSliceResponseBody struct {
	connection.APIResponseBody
	Data []ConsoleSession `json:"data"`
}

GetConsoleSessionSliceResponseBody represents an API response body containing []ConsoleSession data

type GetCredentialResponseBody added in v1.3.31

type GetCredentialResponseBody struct {
	connection.APIResponseBody
	Data Credential `json:"data"`
}

GetCredentialResponseBody represents an API response body containing Credential data

type GetCredentialSliceResponseBody added in v1.3.31

type GetCredentialSliceResponseBody struct {
	connection.APIResponseBody
	Data []Credential `json:"data"`
}

GetCredentialSliceResponseBody represents an API response body containing []Credential data

type GetDHCPResponseBody added in v1.3.27

type GetDHCPResponseBody struct {
	connection.APIResponseBody
	Data DHCP `json:"data"`
}

GetDHCPResponseBody represents an API response body containing DHCP data

type GetDHCPSliceResponseBody added in v1.3.27

type GetDHCPSliceResponseBody struct {
	connection.APIResponseBody
	Data []DHCP `json:"data"`
}

GetDHCPSliceResponseBody represents an API response body containing []DHCP data

type GetDatastoreResponseBody

type GetDatastoreResponseBody struct {
	connection.APIResponseBody
	Data Datastore `json:"data"`
}

GetDatastoreResponseBody represents an API response body containing Datastore data

type GetDatastoreSliceResponseBody added in v1.3.17

type GetDatastoreSliceResponseBody struct {
	connection.APIResponseBody
	Data []Datastore `json:"data"`
}

GetDatastoreSliceResponseBody represents an API response body containing []Datastore data

type GetDiscountPlanResponseBody added in v1.3.41

type GetDiscountPlanResponseBody struct {
	connection.APIResponseBody
	Data DiscountPlan `json:"data"`
}

GetDiscountPlanResponseBody represents an API response body containing DiscountPlan data

type GetDiscountPlanSliceResponseBody added in v1.3.41

type GetDiscountPlanSliceResponseBody struct {
	connection.APIResponseBody
	Data []DiscountPlan `json:"data"`
}

GetDiscountPlanSliceResponseBody represents an API response body containing []DiscountPlan data

type GetFirewallConfigResponseBody

type GetFirewallConfigResponseBody struct {
	connection.APIResponseBody
	Data FirewallConfig `json:"data"`
}

GetFirewallConfigResponseBody represents an API response body containing FirewallConfig data

type GetFirewallConfigSliceResponseBody added in v1.3.17

type GetFirewallConfigSliceResponseBody struct {
	connection.APIResponseBody
	Data []FirewallConfig `json:"data"`
}

GetFirewallConfigSliceResponseBody represents an API response body containing []FirewallConfig data

type GetFirewallPolicyResponseBody added in v1.3.34

type GetFirewallPolicyResponseBody struct {
	connection.APIResponseBody
	Data FirewallPolicy `json:"data"`
}

GetFirewallPolicyResponseBody represents an API response body containing FirewallPolicy data

type GetFirewallPolicySliceResponseBody added in v1.3.34

type GetFirewallPolicySliceResponseBody struct {
	connection.APIResponseBody
	Data []FirewallPolicy `json:"data"`
}

GetFirewallPolicySliceResponseBody represents an API response body containing []FirewallPolicy data

type GetFirewallResponseBody

type GetFirewallResponseBody struct {
	connection.APIResponseBody
	Data Firewall `json:"data"`
}

GetFirewallResponseBody represents an API response body containing Firewall data

type GetFirewallRulePortResponseBody added in v1.3.39

type GetFirewallRulePortResponseBody struct {
	connection.APIResponseBody
	Data FirewallRulePort `json:"data"`
}

GetFirewallRulePortResponseBody represents an API response body containing FirewallRulePort data

type GetFirewallRulePortSliceResponseBody added in v1.3.39

type GetFirewallRulePortSliceResponseBody struct {
	connection.APIResponseBody
	Data []FirewallRulePort `json:"data"`
}

GetFirewallRulePortSliceResponseBody represents an API response body containing []FirewallRulePort data

type GetFirewallRuleResponseBody added in v1.3.27

type GetFirewallRuleResponseBody struct {
	connection.APIResponseBody
	Data FirewallRule `json:"data"`
}

GetFirewallRuleResponseBody represents an API response body containing FirewallRule data

type GetFirewallRuleSliceResponseBody added in v1.3.27

type GetFirewallRuleSliceResponseBody struct {
	connection.APIResponseBody
	Data []FirewallRule `json:"data"`
}

GetFirewallRuleSliceResponseBody represents an API response body containing []FirewallRule data

type GetFirewallSliceResponseBody added in v1.3.17

type GetFirewallSliceResponseBody struct {
	connection.APIResponseBody
	Data []Firewall `json:"data"`
}

GetFirewallSliceResponseBody represents an API response body containing []Firewall data

type GetFloatingIPResponseBody added in v1.3.27

type GetFloatingIPResponseBody struct {
	connection.APIResponseBody
	Data FloatingIP `json:"data"`
}

GetFloatingIPResponseBody represents an API response body containing FloatingIP data

type GetFloatingIPSliceResponseBody added in v1.3.27

type GetFloatingIPSliceResponseBody struct {
	connection.APIResponseBody
	Data []FloatingIP `json:"data"`
}

GetFloatingIPSliceResponseBody represents an API response body containing []FloatingIP data

type GetHostResponseBody

type GetHostResponseBody struct {
	connection.APIResponseBody
	Data Host `json:"data"`
}

GetHostResponseBody represents an API response body containing Host data

type GetHostSliceResponseBody added in v1.3.17

type GetHostSliceResponseBody struct {
	connection.APIResponseBody
	Data []Host `json:"data"`
}

GetHostSliceResponseBody represents an API response body containing []Host data

type GetInstanceResponseBody added in v1.3.27

type GetInstanceResponseBody struct {
	connection.APIResponseBody
	Data Instance `json:"data"`
}

GetInstanceResponseBody represents an API response body containing Instance data

type GetInstanceSliceResponseBody added in v1.3.27

type GetInstanceSliceResponseBody struct {
	connection.APIResponseBody
	Data []Instance `json:"data"`
}

GetInstanceSliceResponseBody represents an API response body containing []Instance data

type GetLoadBalancerClusterResponseBody added in v1.3.27

type GetLoadBalancerClusterResponseBody struct {
	connection.APIResponseBody
	Data LoadBalancerCluster `json:"data"`
}

GetLoadBalancerClusterResponseBody represents an API response body containing LoadBalancerCluster data

type GetLoadBalancerClusterSliceResponseBody added in v1.3.27

type GetLoadBalancerClusterSliceResponseBody struct {
	connection.APIResponseBody
	Data []LoadBalancerCluster `json:"data"`
}

GetLoadBalancerClusterSliceResponseBody represents an API response body containing []LoadBalancerCluster data

type GetNICResponseBody added in v1.3.31

type GetNICResponseBody struct {
	connection.APIResponseBody
	Data NIC `json:"data"`
}

GetNICResponseBody represents an API response body containing NIC data

type GetNICSliceResponseBody added in v1.3.31

type GetNICSliceResponseBody struct {
	connection.APIResponseBody
	Data []NIC `json:"data"`
}

GetNICSliceResponseBody represents an API response body containing []NIC data

type GetNetworkResponseBody

type GetNetworkResponseBody struct {
	connection.APIResponseBody
	Data Network `json:"data"`
}

GetNetworkResponseBody represents an API response body containing Network data

type GetNetworkSliceResponseBody added in v1.3.17

type GetNetworkSliceResponseBody struct {
	connection.APIResponseBody
	Data []Network `json:"data"`
}

GetNetworkSliceResponseBody represents an API response body containing []Network data

type GetPodResponseBody

type GetPodResponseBody struct {
	connection.APIResponseBody
	Data Pod `json:"data"`
}

GetPodResponseBody represents an API response body containing Pod data

type GetPodSliceResponseBody added in v1.3.17

type GetPodSliceResponseBody struct {
	connection.APIResponseBody
	Data []Pod `json:"data"`
}

GetPodSliceResponseBody represents an API response body containing []Pod data

type GetRegionResponseBody added in v1.3.27

type GetRegionResponseBody struct {
	connection.APIResponseBody
	Data Region `json:"data"`
}

GetRegionResponseBody represents an API response body containing Region data

type GetRegionSliceResponseBody added in v1.3.27

type GetRegionSliceResponseBody struct {
	connection.APIResponseBody
	Data []Region `json:"data"`
}

GetRegionSliceResponseBody represents an API response body containing []Region data

type GetRouterResponseBody added in v1.3.27

type GetRouterResponseBody struct {
	connection.APIResponseBody
	Data Router `json:"data"`
}

GetRouterResponseBody represents an API response body containing Router data

type GetRouterSliceResponseBody added in v1.3.27

type GetRouterSliceResponseBody struct {
	connection.APIResponseBody
	Data []Router `json:"data"`
}

GetRouterSliceResponseBody represents an API response body containing []Router data

type GetRouterThroughputResponseBody added in v1.3.41

type GetRouterThroughputResponseBody struct {
	connection.APIResponseBody
	Data RouterThroughput `json:"data"`
}

GetRouterThroughputResponseBody represents an API response body containing RouterThroughput data

type GetRouterThroughputSliceResponseBody added in v1.3.41

type GetRouterThroughputSliceResponseBody struct {
	connection.APIResponseBody
	Data []RouterThroughput `json:"data"`
}

GetRouterThroughputSliceResponseBody represents an API response body containing []RouterThroughput data

type GetSiteResponseBody

type GetSiteResponseBody struct {
	connection.APIResponseBody
	Data Site `json:"data"`
}

GetSiteResponseBody represents an API response body containing Site data

type GetSiteSliceResponseBody added in v1.3.17

type GetSiteSliceResponseBody struct {
	connection.APIResponseBody
	Data []Site `json:"data"`
}

GetSiteSliceResponseBody represents an API response body containing []Site data

type GetSolutionResponseBody

type GetSolutionResponseBody struct {
	connection.APIResponseBody
	Data Solution `json:"data"`
}

GetSolutionResponseBody represents an API response body containing Solution data

type GetSolutionSliceResponseBody added in v1.3.17

type GetSolutionSliceResponseBody struct {
	connection.APIResponseBody
	Data []Solution `json:"data"`
}

GetSolutionSliceResponseBody represents an API response body containing []Solution data

type GetTagResponseBody

type GetTagResponseBody struct {
	connection.APIResponseBody
	Data Tag `json:"data"`
}

GetTagResponseBody represents an API response body containing Tag data

type GetTagSliceResponseBody added in v1.3.17

type GetTagSliceResponseBody struct {
	connection.APIResponseBody
	Data []Tag `json:"data"`
}

GetTagSliceResponseBody represents an API response body containing []Tag data

type GetTemplateResponseBody

type GetTemplateResponseBody struct {
	connection.APIResponseBody
	Data Template `json:"data"`
}

GetTemplateResponseBody represents an API response body containing Template data

type GetTemplateSliceResponseBody added in v1.3.17

type GetTemplateSliceResponseBody struct {
	connection.APIResponseBody
	Data []Template `json:"data"`
}

GetTemplateSliceResponseBody represents an API response body containing []Template data

type GetV1NetworkResponseBody added in v1.3.27

type GetV1NetworkResponseBody struct {
	connection.APIResponseBody
	Data V1Network `json:"data"`
}

GetV1NetworkResponseBody represents an API response body containing V1Network data

type GetV1NetworkSliceResponseBody added in v1.3.27

type GetV1NetworkSliceResponseBody struct {
	connection.APIResponseBody
	Data []V1Network `json:"data"`
}

GetV1NetworkSliceResponseBody represents an API response body containing []V1Network data

type GetVPCResponseBody added in v1.3.25

type GetVPCResponseBody struct {
	connection.APIResponseBody
	Data VPC `json:"data"`
}

GetVPCResponseBody represents an API response body containing VPC data

type GetVPCSliceResponseBody added in v1.3.25

type GetVPCSliceResponseBody struct {
	connection.APIResponseBody
	Data []VPC `json:"data"`
}

GetVPCSliceResponseBody represents an API response body containing []VPC data

type GetVPNResponseBody added in v1.3.27

type GetVPNResponseBody struct {
	connection.APIResponseBody
	Data VPN `json:"data"`
}

GetVPNResponseBody represents an API response body containing VPN data

type GetVPNSliceResponseBody added in v1.3.27

type GetVPNSliceResponseBody struct {
	connection.APIResponseBody
	Data []VPN `json:"data"`
}

GetVPNSliceResponseBody represents an API response body containing []VPN data

type GetVirtualMachineResponseBody

type GetVirtualMachineResponseBody struct {
	connection.APIResponseBody
	Data VirtualMachine `json:"data"`
}

GetVirtualMachineResponseBody represents an API response body containing VirtualMachine data

type GetVirtualMachineSliceResponseBody added in v1.3.17

type GetVirtualMachineSliceResponseBody struct {
	connection.APIResponseBody
	Data []VirtualMachine `json:"data"`
}

GetVirtualMachineSliceResponseBody represents an API response body containing []VirtualMachine data

type GetVolumeResponseBody added in v1.3.31

type GetVolumeResponseBody struct {
	connection.APIResponseBody
	Data Volume `json:"data"`
}

GetVolumeResponseBody represents an API response body containing Volume data

type GetVolumeSliceResponseBody added in v1.3.31

type GetVolumeSliceResponseBody struct {
	connection.APIResponseBody
	Data []Volume `json:"data"`
}

GetVolumeSliceResponseBody represents an API response body containing []Volume data

type Host

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

Host represents an eCloud host +genie:model_response +genie:model_paginated

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 HostNotFoundError

type HostNotFoundError struct {
	ID int
}

HostNotFoundError indicates a host was not found within eCloud

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 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"`
	ApplianceID        string              `json:"appliance_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"`
	Sync               SyncStatus          `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 +genie:model_response +genie:model_paginated

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

type LoadBalancerCluster struct {
	ID                 string              `json:"id"`
	Name               string              `json:"name"`
	VPCID              string              `json:"vpc_id"`
	AvailabilityZoneID string              `json:"availability_zone_id"`
	Nodes              int                 `json:"nodes"`
	CreatedAt          connection.DateTime `json:"created_at"`
	UpdatedAt          connection.DateTime `json:"updated_at"`
}

LoadBalancerCluster represents an eCloud load balancer cluster +genie:model_response +genie:model_paginated

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 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 +genie:model_response +genie:model_paginated

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

Network represents an eCloud network +genie:model_response +genie:model_paginated

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

type PaginatedActiveDirectoryDomain struct {
	*connection.PaginatedBase
	Items []ActiveDirectoryDomain
}

PaginatedActiveDirectoryDomain represents a paginated collection of ActiveDirectoryDomain

func NewPaginatedActiveDirectoryDomain added in v1.2.1

NewPaginatedActiveDirectoryDomain returns a pointer to an initialized PaginatedActiveDirectoryDomain struct

type PaginatedAppliance added in v1.1.0

type PaginatedAppliance struct {
	*connection.PaginatedBase
	Items []Appliance
}

PaginatedAppliance represents a paginated collection of Appliance

func NewPaginatedAppliance added in v1.1.0

NewPaginatedAppliance returns a pointer to an initialized PaginatedAppliance struct

type PaginatedApplianceParameter added in v1.1.0

type PaginatedApplianceParameter struct {
	*connection.PaginatedBase
	Items []ApplianceParameter
}

PaginatedApplianceParameter represents a paginated collection of ApplianceParameter

func NewPaginatedApplianceParameter added in v1.1.0

NewPaginatedApplianceParameter returns a pointer to an initialized PaginatedApplianceParameter struct

type PaginatedAvailabilityZone added in v1.3.27

type PaginatedAvailabilityZone struct {
	*connection.PaginatedBase
	Items []AvailabilityZone
}

PaginatedAvailabilityZone represents a paginated collection of AvailabilityZone

func NewPaginatedAvailabilityZone added in v1.3.27

NewPaginatedAvailabilityZone returns a pointer to an initialized PaginatedAvailabilityZone struct

type PaginatedBillingMetric added in v1.3.41

type PaginatedBillingMetric struct {
	*connection.PaginatedBase
	Items []BillingMetric
}

PaginatedBillingMetric represents a paginated collection of BillingMetric

func NewPaginatedBillingMetric added in v1.3.41

NewPaginatedBillingMetric returns a pointer to an initialized PaginatedBillingMetric struct

type PaginatedCredential added in v1.3.31

type PaginatedCredential struct {
	*connection.PaginatedBase
	Items []Credential
}

PaginatedCredential represents a paginated collection of Credential

func NewPaginatedCredential added in v1.3.31

NewPaginatedCredential returns a pointer to an initialized PaginatedCredential struct

type PaginatedDHCP added in v1.3.27

type PaginatedDHCP struct {
	*connection.PaginatedBase
	Items []DHCP
}

PaginatedDHCP represents a paginated collection of DHCP

func NewPaginatedDHCP added in v1.3.27

NewPaginatedDHCP returns a pointer to an initialized PaginatedDHCP struct

type PaginatedDatastore added in v1.1.0

type PaginatedDatastore struct {
	*connection.PaginatedBase
	Items []Datastore
}

PaginatedDatastore represents a paginated collection of Datastore

func NewPaginatedDatastore added in v1.1.0

NewPaginatedDatastore returns a pointer to an initialized PaginatedDatastore struct

type PaginatedDiscountPlan added in v1.3.41

type PaginatedDiscountPlan struct {
	*connection.PaginatedBase
	Items []DiscountPlan
}

PaginatedDiscountPlan represents a paginated collection of DiscountPlan

func NewPaginatedDiscountPlan added in v1.3.41

NewPaginatedDiscountPlan returns a pointer to an initialized PaginatedDiscountPlan struct

type PaginatedFirewall added in v1.1.0

type PaginatedFirewall struct {
	*connection.PaginatedBase
	Items []Firewall
}

PaginatedFirewall represents a paginated collection of Firewall

func NewPaginatedFirewall added in v1.1.0

NewPaginatedFirewall returns a pointer to an initialized PaginatedFirewall struct

type PaginatedFirewallPolicy added in v1.3.34

type PaginatedFirewallPolicy struct {
	*connection.PaginatedBase
	Items []FirewallPolicy
}

PaginatedFirewallPolicy represents a paginated collection of FirewallPolicy

func NewPaginatedFirewallPolicy added in v1.3.34

NewPaginatedFirewallPolicy returns a pointer to an initialized PaginatedFirewallPolicy struct

type PaginatedFirewallRule added in v1.3.27

type PaginatedFirewallRule struct {
	*connection.PaginatedBase
	Items []FirewallRule
}

PaginatedFirewallRule represents a paginated collection of FirewallRule

func NewPaginatedFirewallRule added in v1.3.27

NewPaginatedFirewallRule returns a pointer to an initialized PaginatedFirewallRule struct

type PaginatedFirewallRulePort added in v1.3.39

type PaginatedFirewallRulePort struct {
	*connection.PaginatedBase
	Items []FirewallRulePort
}

PaginatedFirewallRulePort represents a paginated collection of FirewallRulePort

func NewPaginatedFirewallRulePort added in v1.3.39

NewPaginatedFirewallRulePort returns a pointer to an initialized PaginatedFirewallRulePort struct

type PaginatedFloatingIP added in v1.3.27

type PaginatedFloatingIP struct {
	*connection.PaginatedBase
	Items []FloatingIP
}

PaginatedFloatingIP represents a paginated collection of FloatingIP

func NewPaginatedFloatingIP added in v1.3.27

NewPaginatedFloatingIP returns a pointer to an initialized PaginatedFloatingIP struct

type PaginatedHost added in v1.1.0

type PaginatedHost struct {
	*connection.PaginatedBase
	Items []Host
}

PaginatedHost represents a paginated collection of Host

func NewPaginatedHost added in v1.1.0

NewPaginatedHost returns a pointer to an initialized PaginatedHost struct

type PaginatedInstance added in v1.3.27

type PaginatedInstance struct {
	*connection.PaginatedBase
	Items []Instance
}

PaginatedInstance represents a paginated collection of Instance

func NewPaginatedInstance added in v1.3.27

NewPaginatedInstance returns a pointer to an initialized PaginatedInstance struct

type PaginatedLoadBalancerCluster added in v1.3.27

type PaginatedLoadBalancerCluster struct {
	*connection.PaginatedBase
	Items []LoadBalancerCluster
}

PaginatedLoadBalancerCluster represents a paginated collection of LoadBalancerCluster

func NewPaginatedLoadBalancerCluster added in v1.3.27

NewPaginatedLoadBalancerCluster returns a pointer to an initialized PaginatedLoadBalancerCluster struct

type PaginatedNIC added in v1.3.31

type PaginatedNIC struct {
	*connection.PaginatedBase
	Items []NIC
}

PaginatedNIC represents a paginated collection of NIC

func NewPaginatedNIC added in v1.3.31

NewPaginatedNIC returns a pointer to an initialized PaginatedNIC struct

type PaginatedNetwork added in v1.1.0

type PaginatedNetwork struct {
	*connection.PaginatedBase
	Items []Network
}

PaginatedNetwork represents a paginated collection of Network

func NewPaginatedNetwork added in v1.1.0

NewPaginatedNetwork returns a pointer to an initialized PaginatedNetwork struct

type PaginatedPod added in v1.1.0

type PaginatedPod struct {
	*connection.PaginatedBase
	Items []Pod
}

PaginatedPod represents a paginated collection of Pod

func NewPaginatedPod added in v1.1.0

NewPaginatedPod returns a pointer to an initialized PaginatedPod struct

type PaginatedRegion added in v1.3.27

type PaginatedRegion struct {
	*connection.PaginatedBase
	Items []Region
}

PaginatedRegion represents a paginated collection of Region

func NewPaginatedRegion added in v1.3.27

NewPaginatedRegion returns a pointer to an initialized PaginatedRegion struct

type PaginatedRouter added in v1.3.27

type PaginatedRouter struct {
	*connection.PaginatedBase
	Items []Router
}

PaginatedRouter represents a paginated collection of Router

func NewPaginatedRouter added in v1.3.27

NewPaginatedRouter returns a pointer to an initialized PaginatedRouter struct

type PaginatedRouterThroughput added in v1.3.41

type PaginatedRouterThroughput struct {
	*connection.PaginatedBase
	Items []RouterThroughput
}

PaginatedRouterThroughput represents a paginated collection of RouterThroughput

func NewPaginatedRouterThroughput added in v1.3.41

NewPaginatedRouterThroughput returns a pointer to an initialized PaginatedRouterThroughput struct

type PaginatedSite added in v1.1.0

type PaginatedSite struct {
	*connection.PaginatedBase
	Items []Site
}

PaginatedSite represents a paginated collection of Site

func NewPaginatedSite added in v1.1.0

NewPaginatedSite returns a pointer to an initialized PaginatedSite struct

type PaginatedSolution added in v1.1.0

type PaginatedSolution struct {
	*connection.PaginatedBase
	Items []Solution
}

PaginatedSolution represents a paginated collection of Solution

func NewPaginatedSolution added in v1.1.0

NewPaginatedSolution returns a pointer to an initialized PaginatedSolution struct

type PaginatedTag added in v1.1.0

type PaginatedTag struct {
	*connection.PaginatedBase
	Items []Tag
}

PaginatedTag represents a paginated collection of Tag

func NewPaginatedTag added in v1.1.0

NewPaginatedTag returns a pointer to an initialized PaginatedTag struct

type PaginatedTemplate added in v1.1.0

type PaginatedTemplate struct {
	*connection.PaginatedBase
	Items []Template
}

PaginatedTemplate represents a paginated collection of Template

func NewPaginatedTemplate added in v1.1.0

NewPaginatedTemplate returns a pointer to an initialized PaginatedTemplate struct

type PaginatedV1Network added in v1.3.27

type PaginatedV1Network struct {
	*connection.PaginatedBase
	Items []V1Network
}

PaginatedV1Network represents a paginated collection of V1Network

func NewPaginatedV1Network added in v1.3.27

NewPaginatedV1Network returns a pointer to an initialized PaginatedV1Network struct

type PaginatedVPC added in v1.3.25

type PaginatedVPC struct {
	*connection.PaginatedBase
	Items []VPC
}

PaginatedVPC represents a paginated collection of VPC

func NewPaginatedVPC added in v1.3.25

NewPaginatedVPC returns a pointer to an initialized PaginatedVPC struct

type PaginatedVPN added in v1.3.27

type PaginatedVPN struct {
	*connection.PaginatedBase
	Items []VPN
}

PaginatedVPN represents a paginated collection of VPN

func NewPaginatedVPN added in v1.3.27

NewPaginatedVPN returns a pointer to an initialized PaginatedVPN struct

type PaginatedVirtualMachine added in v1.1.0

type PaginatedVirtualMachine struct {
	*connection.PaginatedBase
	Items []VirtualMachine
}

PaginatedVirtualMachine represents a paginated collection of VirtualMachine

func NewPaginatedVirtualMachine added in v1.1.0

NewPaginatedVirtualMachine returns a pointer to an initialized PaginatedVirtualMachine struct

type PaginatedVolume added in v1.3.31

type PaginatedVolume struct {
	*connection.PaginatedBase
	Items []Volume
}

PaginatedVolume represents a paginated collection of Volume

func NewPaginatedVolume added in v1.3.31

NewPaginatedVolume returns a pointer to an initialized PaginatedVolume struct

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

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

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

PatchNetworkRequest represents a request to patch a network

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

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

PatchVPCRequest represents a request to patch a VPC

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

type PatchVolumeRequest struct {
	Name     string `json:"name,omitempty"`
	Capacity int    `json:"capacity,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 +genie:model_response +genie:model_paginated

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 +genie:model_response +genie:model_paginated

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

Router represents an eCloud router +genie:model_response +genie:model_paginated

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

RouterThroughput represents an eCloud router throughput +genie:model_response +genie:model_paginated

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

AssignFloatingIP assigns a floating IP to a resource

func (*Service) CloneVirtualMachine

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

CloneVirtualMachine clones a virtual machine

func (*Service) CreateFirewallPolicy added in v1.3.34

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

CreateFirewallPolicy creates a new FirewallPolicy

func (*Service) CreateFirewallRule added in v1.3.39

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

CreateFirewallRule creates a new FirewallRule

func (*Service) CreateFirewallRulePort added in v1.3.41

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

CreateFirewallRulePort creates a new FirewallRulePort

func (*Service) CreateFloatingIP added in v1.3.41

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

CreateFloatingIP creates a new FloatingIP

func (*Service) CreateInstance added in v1.3.29

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

CreateInstance creates a new instance

func (*Service) CreateLoadBalancerCluster added in v1.3.28

func (s *Service) CreateLoadBalancerCluster(req CreateLoadBalancerClusterRequest) (string, error)

CreateLoadBalancerCluster creates a new LoadBalancerCluster

func (*Service) CreateNetwork added in v1.3.28

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

CreateNetwork creates a new Network

func (*Service) CreateRouter added in v1.3.28

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

CreateRouter creates a new Router

func (*Service) CreateSolutionTag

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

CreateSolutionTag creates a new solution tag

func (*Service) CreateVPC added in v1.3.28

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

CreateVPC creates a new VPC

func (*Service) CreateVPN added in v1.3.28

func (s *Service) CreateVPN(req CreateVPNRequest) (string, error)

CreateVPN creates a new VPN

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

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

DeleteFirewallPolicy deletes a FirewallPolicy

func (*Service) DeleteFirewallRule added in v1.3.39

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

DeleteFirewallRule deletes a FirewallRule

func (*Service) DeleteFirewallRulePort added in v1.3.41

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

DeleteFirewallRulePort deletes a FirewallRulePort

func (*Service) DeleteFloatingIP added in v1.3.41

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

DeleteFloatingIP deletes a floating IP

func (*Service) DeleteInstance added in v1.3.29

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

DeleteInstance removes an instance

func (*Service) DeleteLoadBalancerCluster added in v1.3.28

func (s *Service) DeleteLoadBalancerCluster(lbcID string) error

DeleteLoadBalancerCluster deletes a LoadBalancerCluster

func (*Service) DeleteNetwork added in v1.3.28

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

DeleteNetwork deletes a Network

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

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

DeleteVPC deletes a VPC

func (*Service) DeleteVPN added in v1.3.28

func (s *Service) DeleteVPN(vpnID string) error

DeleteVPN deletes a VPN

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

DeleteVolume deletes a Volume

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) 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) (*PaginatedActiveDirectoryDomain, error)

GetActiveDirectoryDomainsPaginated retrieves a paginated list of Active Directory Domains

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) (*PaginatedApplianceParameter, 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) (*PaginatedAppliance, 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) (*PaginatedAvailabilityZone, 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) (*PaginatedBillingMetric, 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) 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) (*PaginatedDHCP, 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) (*PaginatedDatastore, 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) (*PaginatedDiscountPlan, 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) (*PaginatedFirewallPolicy, 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) (*PaginatedFirewallRule, error)

GetFirewallPolicyFirewallRulesPaginated retrieves a paginated list of firewall policy FirewallRules

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) (*PaginatedFirewallRulePort, 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) (*PaginatedFirewallRulePort, 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) (*PaginatedFirewallRule, 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) (*PaginatedFirewall, 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) 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) (*PaginatedFloatingIP, error)

GetFloatingIPsPaginated retrieves a paginated list of floating ips

func (*Service) GetHost

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

GetHost retrieves a single host by ID

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) (*PaginatedHost, error)

GetHostsPaginated retrieves a paginated list of hosts

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) (*PaginatedCredential, error)

GetInstanceCredentialsPaginated retrieves a paginated list of instance credentials

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) (*PaginatedNIC, error)

GetInstanceNICsPaginated retrieves a paginated list of instance NICs

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) (*PaginatedVolume, 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) (*PaginatedInstance, error)

GetInstancesPaginated retrieves a paginated list of instances

func (*Service) GetLoadBalancerCluster added in v1.3.27

func (s *Service) GetLoadBalancerCluster(lbcID string) (LoadBalancerCluster, error)

GetLoadBalancerCluster retrieves a single load balancer cluster by id

func (*Service) GetLoadBalancerClusters added in v1.3.27

func (s *Service) GetLoadBalancerClusters(parameters connection.APIRequestParameters) ([]LoadBalancerCluster, error)

GetLoadBalancerClusters retrieves a list of load balancer clusters

func (*Service) GetLoadBalancerClustersPaginated added in v1.3.27

func (s *Service) GetLoadBalancerClustersPaginated(parameters connection.APIRequestParameters) (*PaginatedLoadBalancerCluster, error)

GetLoadBalancerClustersPaginated retrieves a paginated list of load balancer clusters

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) 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) (*PaginatedNIC, 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) (*PaginatedNIC, error)

GetNetworkNICsPaginated retrieves a paginated list of firewall rule nics

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) (*PaginatedNetwork, 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) (*PaginatedAppliance, 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) (*PaginatedTemplate, 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) (*PaginatedPod, 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) (*PaginatedRegion, 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) (*PaginatedFirewallPolicy, 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) (*PaginatedNetwork, error)

GetRouterNetworksPaginated retrieves a paginated list of router networks

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) (*PaginatedRouterThroughput, 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) (*PaginatedVPN, 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) (*PaginatedRouter, error)

GetRoutersPaginated retrieves a paginated list of routers

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) (*PaginatedSite, 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) (*PaginatedDatastore, 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) (*PaginatedFirewall, error)

GetSolutionFirewallsPaginated retrieves a paginated list of domains

func (*Service) GetSolutionHosts

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

GetSolutionHosts retrieves a list of hosts

func (*Service) GetSolutionHostsPaginated

func (s *Service) GetSolutionHostsPaginated(solutionID int, parameters connection.APIRequestParameters) (*PaginatedHost, 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) (*PaginatedV1Network, 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) (*PaginatedSite, 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) (*PaginatedTag, 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) (*PaginatedTemplate, 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) (*PaginatedVirtualMachine, 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) (*PaginatedSolution, error)

GetSolutionsPaginated retrieves a paginated list of solutions

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) (*PaginatedInstance, error)

GetVPCInstancesPaginated retrieves a paginated list of firewall rule instances

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) (*PaginatedVolume, 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) (*PaginatedVPC, error)

GetVPCsPaginated retrieves a paginated list of vpcs

func (*Service) GetVPN added in v1.3.27

func (s *Service) GetVPN(vpnID string) (VPN, error)

GetVPN retrieves a single vpn by id

func (*Service) GetVPNs added in v1.3.27

func (s *Service) GetVPNs(parameters connection.APIRequestParameters) ([]VPN, error)

GetVPNs retrieves a list of vpns

func (*Service) GetVPNsPaginated added in v1.3.27

func (s *Service) GetVPNsPaginated(parameters connection.APIRequestParameters) (*PaginatedVPN, error)

GetVPNsPaginated retrieves a paginated list of vpns

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) (*PaginatedTag, 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) (*PaginatedVirtualMachine, 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) 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) (*PaginatedInstance, error)

GetVolumeInstancesPaginated retrieves a paginated list of volume instances

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) (*PaginatedVolume, 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) PatchFirewallPolicy added in v1.3.34

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

PatchFirewallPolicy patches a FirewallPolicy

func (*Service) PatchFirewallRule added in v1.3.39

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

PatchFirewallRule patches a FirewallRule

func (*Service) PatchFirewallRulePort added in v1.3.41

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

PatchFirewallRulePort patches a FirewallRulePort

func (*Service) PatchFloatingIP added in v1.3.41

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

PatchFloatingIP patches a floating IP

func (*Service) PatchInstance added in v1.3.31

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

PatchInstance updates an instance

func (*Service) PatchLoadBalancerCluster added in v1.3.28

func (s *Service) PatchLoadBalancerCluster(lbcID string, req PatchLoadBalancerClusterRequest) error

PatchLoadBalancerCluster patches a LoadBalancerCluster

func (*Service) PatchNetwork added in v1.3.28

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

PatchNetwork patches a Network

func (*Service) PatchRouter added in v1.3.28

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

PatchRouter patches a Router

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

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

PatchVPC patches a VPC

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

PatchVolume patches a Volume

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

UnassignFloatingIP unassigns a floating IP from a resource

func (*Service) UnlockInstance added in v1.3.31

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

UnlockInstance unlocks an instance

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 +genie:model_response +genie:model_paginated

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 +genie:model_response +genie:model_paginated

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 Tag

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

Tag represents an eCloud tag +genie:model_response +genie:model_paginated

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 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 +genie:model_response +genie:model_paginated

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

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

V1Network represents an eCloud v1 network +genie:model_response +genie:model_paginated

type VPC added in v1.3.25

type VPC struct {
	ID             string              `json:"id"`
	Name           string              `json:"name"`
	RegionID       string              `json:"region_id"`
	Sync           SyncStatus          `json:"sync"`
	SupportEnabled bool                `json:"support_enabled"`
	CreatedAt      connection.DateTime `json:"created_at"`
	UpdatedAt      connection.DateTime `json:"updated_at"`
}

VPC represents an eCloud VPC +genie:model_response +genie:model_paginated

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 +genie:model_response +genie:model_paginated

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 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 +genie:model_response +genie:model_paginated

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

Volume represents an eCloud volume +genie:model_response +genie:model_paginated

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

Jump to

Keyboard shortcuts

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