api

package
v21.11.1 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FullStack

type FullStack interface {
	Stack
	ReservedForProviderUse
}

FullStack is the interface that MUST actually implement all the providers; don't do it, and we can encounter runtime panics

type ReservedForProviderUse

type ReservedForProviderUse interface {
	ListImages(all bool) ([]*abstract.Image, fail.Error)                     // lists available OS images
	ListTemplates(all bool) ([]*abstract.HostTemplate, fail.Error)           // lists available host templates
	GetRawConfigurationOptions() (stacks.ConfigurationOptions, fail.Error)   // Returns a read-only struct containing configuration options
	GetRawAuthenticationOptions() (stacks.AuthenticationOptions, fail.Error) // Returns a read-only struct containing authentication options
}

ReservedForProviderUse is an interface about the methods only available to providers internally

type Stack

type Stack interface {
	GetStackName() (string, fail.Error)

	// ListAvailabilityZones lists the usable Availability Zones
	ListAvailabilityZones() (map[string]bool, fail.Error)

	// ListRegions returns a list with the regions available
	ListRegions() ([]string, fail.Error)

	// InspectImage returns the Image referenced by id
	InspectImage(id string) (*abstract.Image, fail.Error)

	// InspectTemplate returns the Template referenced by id
	InspectTemplate(id string) (*abstract.HostTemplate, fail.Error)

	// CreateKeyPair creates and import a key pair
	CreateKeyPair(name string) (*abstract.KeyPair, fail.Error)
	// InspectKeyPair returns the key pair identified by id
	InspectKeyPair(id string) (*abstract.KeyPair, fail.Error)
	// ListKeyPairs lists available key pairs
	ListKeyPairs() ([]*abstract.KeyPair, fail.Error)
	// DeleteKeyPair deletes the key pair identified by id
	DeleteKeyPair(id string) fail.Error

	// ListSecurityGroups lists the security groups
	ListSecurityGroups(networkRef string) ([]*abstract.SecurityGroup, fail.Error)
	// CreateSecurityGroup creates a security group
	CreateSecurityGroup(networkRef, name, description string, rules abstract.SecurityGroupRules) (*abstract.SecurityGroup, fail.Error)
	// InspectSecurityGroup returns information about a security group
	InspectSecurityGroup(sgParam stacks.SecurityGroupParameter) (*abstract.SecurityGroup, fail.Error)
	// ClearSecurityGroup removes rules from group
	ClearSecurityGroup(sgParam stacks.SecurityGroupParameter) (*abstract.SecurityGroup, fail.Error)
	// DeleteSecurityGroup deletes a security group and all its rules
	DeleteSecurityGroup(*abstract.SecurityGroup) fail.Error
	// AddRuleToSecurityGroup adds a rule to an existing security group
	AddRuleToSecurityGroup(sgParam stacks.SecurityGroupParameter, rule *abstract.SecurityGroupRule) (*abstract.SecurityGroup, fail.Error)
	// DeleteRuleFromSecurityGroup deletes a rule identified by ID from a security group
	DeleteRuleFromSecurityGroup(sgParam stacks.SecurityGroupParameter, rule *abstract.SecurityGroupRule) (*abstract.SecurityGroup, fail.Error)
	// GetDefaultSecurityGroupName returns the name of the default security group automatically bound to new host
	GetDefaultSecurityGroupName() (string, fail.Error)
	// EnableSecurityGroup enables a Security Group
	EnableSecurityGroup(*abstract.SecurityGroup) fail.Error
	// DisableSecurityGroup disables a Security Group
	DisableSecurityGroup(*abstract.SecurityGroup) fail.Error

	// CreateNetwork creates a network named name
	CreateNetwork(req abstract.NetworkRequest) (*abstract.Network, fail.Error)
	// InspectNetwork returns the network identified by id
	InspectNetwork(id string) (*abstract.Network, fail.Error)
	// InspectNetworkByName returns the network identified by name
	InspectNetworkByName(name string) (*abstract.Network, fail.Error)
	// ListNetworks lists all networks
	ListNetworks() ([]*abstract.Network, fail.Error)
	// DeleteNetwork deletes the network identified by id
	DeleteNetwork(id string) fail.Error
	// HasDefaultNetwork tells if the stack has a default network (defined in tenant settings)
	HasDefaultNetwork() (bool, fail.Error)
	// GetDefaultNetwork returns the abstract.Network used as default Network
	GetDefaultNetwork() (*abstract.Network, fail.Error)

	// CreateSubnet creates a subnet in an existing network
	CreateSubnet(req abstract.SubnetRequest) (*abstract.Subnet, fail.Error)
	// InspectSubnet returns the network identified by id
	InspectSubnet(id string) (*abstract.Subnet, fail.Error)
	// InspectSubnetByName returns the network identified by 'name'
	InspectSubnetByName(networkID, name string) (*abstract.Subnet, fail.Error)
	// ListSubnets lists all subnets of a network (or all subnets if no networkRef is provided)
	ListSubnets(networkID string) ([]*abstract.Subnet, fail.Error)
	// DeleteSubnet deletes the subnet identified by id
	DeleteSubnet(id string) fail.Error
	// BindSecurityGroupToSubnet attaches a security group to a network
	BindSecurityGroupToSubnet(sgParam stacks.SecurityGroupParameter, subnetID string) fail.Error
	// UnbindSecurityGroupFromSubnet detaches a security group from a network
	UnbindSecurityGroupFromSubnet(sgParam stacks.SecurityGroupParameter, subnetID string) fail.Error

	// CreateVIP ...
	CreateVIP(networkID, subnetID, name string, securityGroups []string) (*abstract.VirtualIP, fail.Error)
	// AddPublicIPToVIP adds a public IP to VIP
	AddPublicIPToVIP(*abstract.VirtualIP) fail.Error
	// BindHostToVIP makes the host passed as parameter an allowed "target" of the VIP
	BindHostToVIP(*abstract.VirtualIP, string) fail.Error
	// UnbindHostFromVIP removes the bind between the VIP and a host
	UnbindHostFromVIP(*abstract.VirtualIP, string) fail.Error
	// DeleteVIP deletes the port corresponding to the VIP
	DeleteVIP(*abstract.VirtualIP) fail.Error

	// CreateHost creates a host that fulfills the request
	CreateHost(request abstract.HostRequest) (*abstract.HostFull, *userdata.Content, fail.Error)
	// ClearHostStartupScript clears the Startup Script of the Host (if the stack can do it)
	ClearHostStartupScript(stacks.HostParameter) fail.Error
	// InspectHost returns the information of the Host identified by id
	InspectHost(stacks.HostParameter) (*abstract.HostFull, fail.Error)
	// GetHostState returns the current state of the host identified by id
	GetHostState(stacks.HostParameter) (hoststate.Enum, fail.Error)
	// ListHosts lists all hosts
	ListHosts(bool) (abstract.HostList, fail.Error)
	// DeleteHost deletes the host identified by id
	DeleteHost(stacks.HostParameter) fail.Error
	// StopHost stops the host identified by id
	StopHost(host stacks.HostParameter, gracefully bool) fail.Error
	// StartHost starts the host identified by id
	StartHost(stacks.HostParameter) fail.Error
	// RebootHost reboots a host
	RebootHost(stacks.HostParameter) fail.Error
	// ResizeHost resizes a host
	ResizeHost(stacks.HostParameter, abstract.HostSizingRequirements) (*abstract.HostFull, fail.Error)
	// WaitHostReady waits until host defined in hostParam is reachable by SSH
	WaitHostReady(hostParam stacks.HostParameter, timeout time.Duration) (*abstract.HostCore, fail.Error)
	// BindSecurityGroupToHost attaches a security group to a host
	BindSecurityGroupToHost(sgParam stacks.SecurityGroupParameter, hostParam stacks.HostParameter) fail.Error
	// UnbindSecurityGroupFromHost detaches a security group from a host
	UnbindSecurityGroupFromHost(sgParam stacks.SecurityGroupParameter, hostParam stacks.HostParameter) fail.Error

	// CreateVolume creates a block volume
	CreateVolume(request abstract.VolumeRequest) (*abstract.Volume, fail.Error)
	// InspectVolume returns the volume identified by id
	InspectVolume(id string) (*abstract.Volume, fail.Error)
	// ListVolumes list available volumes
	ListVolumes() ([]*abstract.Volume, fail.Error)
	// DeleteVolume deletes the volume identified by id
	DeleteVolume(id string) fail.Error

	// CreateVolumeAttachment attaches a volume to a host
	CreateVolumeAttachment(request abstract.VolumeAttachmentRequest) (string, fail.Error)
	// InspectVolumeAttachment returns the volume attachment identified by id
	InspectVolumeAttachment(serverID, id string) (*abstract.VolumeAttachment, fail.Error)
	// ListVolumeAttachments lists available volume attachment
	ListVolumeAttachments(serverID string) ([]*abstract.VolumeAttachment, fail.Error)
	// DeleteVolumeAttachment deletes the volume attachment identified by id
	DeleteVolumeAttachment(serverID, id string) fail.Error

	// Migrate runs custom code without breaking Interfaces
	Migrate(operation string, params map[string]interface{}) fail.Error

	// Timings ...
	Timings() (temporal.Timings, fail.Error)
}

Stack is the interface to cloud stack

type StackProxy

type StackProxy struct {
	FullStack
	Name string
}

StackProxy ...

func (StackProxy) AddPublicIPToVIP

func (s StackProxy) AddPublicIPToVIP(ip *abstract.VirtualIP) (ferr fail.Error)

func (StackProxy) AddRuleToSecurityGroup

func (s StackProxy) AddRuleToSecurityGroup(sgParam stacks.SecurityGroupParameter, rule *abstract.SecurityGroupRule) (_ *abstract.SecurityGroup, ferr fail.Error)

func (StackProxy) BindHostToVIP

func (s StackProxy) BindHostToVIP(ip *abstract.VirtualIP, s2 string) (ferr fail.Error)

func (StackProxy) BindSecurityGroupToHost

func (s StackProxy) BindSecurityGroupToHost(sgParam stacks.SecurityGroupParameter, hostParam stacks.HostParameter) (ferr fail.Error)

func (StackProxy) BindSecurityGroupToSubnet

func (s StackProxy) BindSecurityGroupToSubnet(sgParam stacks.SecurityGroupParameter, subnetID string) (ferr fail.Error)

func (StackProxy) ClearHostStartupScript

func (s StackProxy) ClearHostStartupScript(parameter stacks.HostParameter) (ferr fail.Error)

func (StackProxy) ClearSecurityGroup

func (s StackProxy) ClearSecurityGroup(sgParam stacks.SecurityGroupParameter) (_ *abstract.SecurityGroup, ferr fail.Error)

func (StackProxy) CreateHost

func (s StackProxy) CreateHost(request abstract.HostRequest) (_ *abstract.HostFull, _ *userdata.Content, ferr fail.Error)

func (StackProxy) CreateKeyPair

func (s StackProxy) CreateKeyPair(name string) (_ *abstract.KeyPair, ferr fail.Error)

func (StackProxy) CreateNetwork

func (s StackProxy) CreateNetwork(req abstract.NetworkRequest) (_ *abstract.Network, ferr fail.Error)

func (StackProxy) CreateSecurityGroup

func (s StackProxy) CreateSecurityGroup(networkRef, name, description string, rules abstract.SecurityGroupRules) (_ *abstract.SecurityGroup, ferr fail.Error)

func (StackProxy) CreateSubnet

func (s StackProxy) CreateSubnet(req abstract.SubnetRequest) (_ *abstract.Subnet, ferr fail.Error)

func (StackProxy) CreateVIP

func (s StackProxy) CreateVIP(networkID, subnetID, name string, securityGroups []string) (_ *abstract.VirtualIP, ferr fail.Error)

func (StackProxy) CreateVolume

func (s StackProxy) CreateVolume(request abstract.VolumeRequest) (_ *abstract.Volume, ferr fail.Error)

func (StackProxy) CreateVolumeAttachment

func (s StackProxy) CreateVolumeAttachment(request abstract.VolumeAttachmentRequest) (_ string, ferr fail.Error)

func (StackProxy) DeleteHost

func (s StackProxy) DeleteHost(parameter stacks.HostParameter) (ferr fail.Error)

func (StackProxy) DeleteKeyPair

func (s StackProxy) DeleteKeyPair(id string) (ferr fail.Error)

func (StackProxy) DeleteNetwork

func (s StackProxy) DeleteNetwork(id string) (ferr fail.Error)

func (StackProxy) DeleteRuleFromSecurityGroup

func (s StackProxy) DeleteRuleFromSecurityGroup(sgParam stacks.SecurityGroupParameter, rule *abstract.SecurityGroupRule) (_ *abstract.SecurityGroup, ferr fail.Error)

func (StackProxy) DeleteSecurityGroup

func (s StackProxy) DeleteSecurityGroup(group *abstract.SecurityGroup) (ferr fail.Error)

func (StackProxy) DeleteSubnet

func (s StackProxy) DeleteSubnet(id string) (ferr fail.Error)

func (StackProxy) DeleteVIP

func (s StackProxy) DeleteVIP(ip *abstract.VirtualIP) (ferr fail.Error)

func (StackProxy) DeleteVolume

func (s StackProxy) DeleteVolume(id string) (ferr fail.Error)

func (StackProxy) DeleteVolumeAttachment

func (s StackProxy) DeleteVolumeAttachment(serverID, id string) (ferr fail.Error)

func (StackProxy) DisableSecurityGroup

func (s StackProxy) DisableSecurityGroup(group *abstract.SecurityGroup) (ferr fail.Error)

func (StackProxy) EnableSecurityGroup

func (s StackProxy) EnableSecurityGroup(group *abstract.SecurityGroup) (ferr fail.Error)

func (StackProxy) GetDefaultNetwork

func (s StackProxy) GetDefaultNetwork() (_ *abstract.Network, ferr fail.Error)

func (StackProxy) GetDefaultSecurityGroupName

func (s StackProxy) GetDefaultSecurityGroupName() (_ string, ferr fail.Error)

func (StackProxy) GetHostState

func (s StackProxy) GetHostState(parameter stacks.HostParameter) (_ hoststate.Enum, ferr fail.Error)

func (StackProxy) GetRawAuthenticationOptions

func (s StackProxy) GetRawAuthenticationOptions() (_ stacks.AuthenticationOptions, ferr fail.Error)

func (StackProxy) GetRawConfigurationOptions

func (s StackProxy) GetRawConfigurationOptions() (_ stacks.ConfigurationOptions, ferr fail.Error)

func (StackProxy) GetStackName

func (s StackProxy) GetStackName() (_ string, ferr fail.Error)

func (StackProxy) HasDefaultNetwork

func (s StackProxy) HasDefaultNetwork() (_ bool, ferr fail.Error)

func (StackProxy) InspectHost

func (s StackProxy) InspectHost(parameter stacks.HostParameter) (_ *abstract.HostFull, ferr fail.Error)

func (StackProxy) InspectImage

func (s StackProxy) InspectImage(id string) (_ *abstract.Image, ferr fail.Error)

func (StackProxy) InspectKeyPair

func (s StackProxy) InspectKeyPair(id string) (_ *abstract.KeyPair, ferr fail.Error)

func (StackProxy) InspectNetwork

func (s StackProxy) InspectNetwork(id string) (_ *abstract.Network, ferr fail.Error)

func (StackProxy) InspectNetworkByName

func (s StackProxy) InspectNetworkByName(name string) (_ *abstract.Network, ferr fail.Error)

func (StackProxy) InspectSecurityGroup

func (s StackProxy) InspectSecurityGroup(sgParam stacks.SecurityGroupParameter) (_ *abstract.SecurityGroup, ferr fail.Error)

func (StackProxy) InspectSubnet

func (s StackProxy) InspectSubnet(id string) (_ *abstract.Subnet, ferr fail.Error)

func (StackProxy) InspectSubnetByName

func (s StackProxy) InspectSubnetByName(networkID, name string) (_ *abstract.Subnet, ferr fail.Error)

func (StackProxy) InspectTemplate

func (s StackProxy) InspectTemplate(id string) (_ *abstract.HostTemplate, ferr fail.Error)

func (StackProxy) InspectVolume

func (s StackProxy) InspectVolume(id string) (_ *abstract.Volume, ferr fail.Error)

func (StackProxy) InspectVolumeAttachment

func (s StackProxy) InspectVolumeAttachment(serverID, id string) (_ *abstract.VolumeAttachment, ferr fail.Error)

func (StackProxy) ListAvailabilityZones

func (s StackProxy) ListAvailabilityZones() (_ map[string]bool, ferr fail.Error)

func (StackProxy) ListHosts

func (s StackProxy) ListHosts(b bool) (_ abstract.HostList, ferr fail.Error)

func (StackProxy) ListImages

func (s StackProxy) ListImages(all bool) (_ []*abstract.Image, ferr fail.Error)

func (StackProxy) ListKeyPairs

func (s StackProxy) ListKeyPairs() (_ []*abstract.KeyPair, ferr fail.Error)

func (StackProxy) ListNetworks

func (s StackProxy) ListNetworks() (_ []*abstract.Network, ferr fail.Error)

func (StackProxy) ListRegions

func (s StackProxy) ListRegions() (_ []string, ferr fail.Error)

func (StackProxy) ListSecurityGroups

func (s StackProxy) ListSecurityGroups(networkRef string) (_ []*abstract.SecurityGroup, ferr fail.Error)

func (StackProxy) ListSubnets

func (s StackProxy) ListSubnets(networkID string) (_ []*abstract.Subnet, ferr fail.Error)

func (StackProxy) ListTemplates

func (s StackProxy) ListTemplates(all bool) (_ []*abstract.HostTemplate, ferr fail.Error)

func (StackProxy) ListVolumeAttachments

func (s StackProxy) ListVolumeAttachments(serverID string) (_ []*abstract.VolumeAttachment, ferr fail.Error)

func (StackProxy) ListVolumes

func (s StackProxy) ListVolumes() (_ []*abstract.Volume, ferr fail.Error)

func (StackProxy) Migrate

func (s StackProxy) Migrate(operation string, params map[string]interface{}) (ferr fail.Error)

func (StackProxy) RebootHost

func (s StackProxy) RebootHost(parameter stacks.HostParameter) (ferr fail.Error)

func (StackProxy) ResizeHost

func (s StackProxy) ResizeHost(parameter stacks.HostParameter, requirements abstract.HostSizingRequirements) (_ *abstract.HostFull, ferr fail.Error)

func (StackProxy) StartHost

func (s StackProxy) StartHost(parameter stacks.HostParameter) (ferr fail.Error)

func (StackProxy) StopHost

func (s StackProxy) StopHost(host stacks.HostParameter, gracefully bool) (ferr fail.Error)

func (StackProxy) UnbindHostFromVIP

func (s StackProxy) UnbindHostFromVIP(ip *abstract.VirtualIP, s2 string) (ferr fail.Error)

func (StackProxy) UnbindSecurityGroupFromHost

func (s StackProxy) UnbindSecurityGroupFromHost(sgParam stacks.SecurityGroupParameter, hostParam stacks.HostParameter) (ferr fail.Error)

func (StackProxy) UnbindSecurityGroupFromSubnet

func (s StackProxy) UnbindSecurityGroupFromSubnet(sgParam stacks.SecurityGroupParameter, subnetID string) (ferr fail.Error)

func (StackProxy) WaitHostReady

func (s StackProxy) WaitHostReady(hostParam stacks.HostParameter, timeout time.Duration) (_ *abstract.HostCore, ferr fail.Error)

Jump to

Keyboard shortcuts

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