clients

package
v0.12.1 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2025 License: Apache-2.0 Imports: 35 Imported by: 5

Documentation

Index

Constants

View Source
const (
	MinimumNovaMicroversion = "2.38"
	NovaTagging             = "2.53"
	NovaMultiAttachVolume   = "2.60"
)

Constants for specific microversion requirements. 2.60 corresponds to OpenStack Queens and 2.53 to OpenStack Pike, 2.38 is the maximum in OpenStack Newton.

For the canonical description of Nova microversions, see https://docs.openstack.org/nova/latest/reference/api-microversion-history.html

CAPO uses server tags, which were first added in microversion 2.26 and then refined in 2.52 so it is possible to apply them when creating a server (which is what CAPO does). We round up to 2.53 here since that takes us to the maximum in Pike.

CAPO supports multiattach volume types, which were added in microversion 2.60.

2.38 was chosen as a base level since it is reasonably old, but not too old.

Variables

This section is empty.

Functions

This section is empty.

Types

type ComputeClient

type ComputeClient interface {
	ListAvailabilityZones() ([]availabilityzones.AvailabilityZone, error)

	ListFlavors() ([]flavors.Flavor, error)
	CreateServer(createOpts servers.CreateOptsBuilder, schedulerHints servers.SchedulerHintOptsBuilder) (*servers.Server, error)
	DeleteServer(serverID string) error
	GetServer(serverID string) (*servers.Server, error)
	ListServers(listOpts servers.ListOptsBuilder) ([]servers.Server, error)

	ListAttachedInterfaces(serverID string) ([]attachinterfaces.Interface, error)
	DeleteAttachedInterface(serverID, portID string) error

	ListServerGroups() ([]servergroups.ServerGroup, error)
	GetConsoleOutput(serverID string) (string, error)
	WithMicroversion(required string) (ComputeClient, error)
}

func NewComputeClient

func NewComputeClient(providerClient *gophercloud.ProviderClient, providerClientOpts *clientconfig.ClientOpts) (ComputeClient, error)

NewComputeClient returns a new compute client.

func NewComputeErrorClient

func NewComputeErrorClient(e error) ComputeClient

NewComputeErrorClient returns a ComputeClient in which every method returns the given error.

type ImageClient

type ImageClient interface {
	ListImages(listOpts images.ListOptsBuilder) ([]images.Image, error)
	GetImage(id string) (*images.Image, error)
	CreateImage(ctx context.Context, createOpts images.CreateOptsBuilder) (*images.Image, error)
	DeleteImage(ctx context.Context, id string) error
	UploadData(ctx context.Context, id string, data io.Reader) error
	GetImportInfo(ctx context.Context) (*imageimport.ImportInfo, error)
	CreateImport(ctx context.Context, id string, createOpts imageimport.CreateOptsBuilder) error
}

func NewImageClient

func NewImageClient(providerClient *gophercloud.ProviderClient, providerClientOpts *clientconfig.ClientOpts) (ImageClient, error)

NewImageClient returns a new glance client.

func NewImageErrorClient

func NewImageErrorClient(e error) ImageClient

NewImageErrorClient returns an ImageClient in which every method returns the given error.

type LbClient

type LbClient interface {
	CreateLoadBalancer(opts loadbalancers.CreateOptsBuilder) (*loadbalancers.LoadBalancer, error)
	ListLoadBalancers(opts loadbalancers.ListOptsBuilder) ([]loadbalancers.LoadBalancer, error)
	GetLoadBalancer(id string) (*loadbalancers.LoadBalancer, error)
	DeleteLoadBalancer(id string, opts loadbalancers.DeleteOptsBuilder) error
	CreateListener(opts listeners.CreateOptsBuilder) (*listeners.Listener, error)
	ListListeners(opts listeners.ListOptsBuilder) ([]listeners.Listener, error)
	UpdateListener(id string, opts listeners.UpdateOpts) (*listeners.Listener, error)
	GetListener(id string) (*listeners.Listener, error)
	DeleteListener(id string) error
	CreatePool(opts pools.CreateOptsBuilder) (*pools.Pool, error)
	ListPools(opts pools.ListOptsBuilder) ([]pools.Pool, error)
	GetPool(id string) (*pools.Pool, error)
	DeletePool(id string) error
	CreatePoolMember(poolID string, opts pools.CreateMemberOptsBuilder) (*pools.Member, error)
	ListPoolMember(poolID string, opts pools.ListMembersOptsBuilder) ([]pools.Member, error)
	DeletePoolMember(poolID string, lbMemberID string) error
	CreateMonitor(opts monitors.CreateOptsBuilder) (*monitors.Monitor, error)
	ListMonitors(opts monitors.ListOptsBuilder) ([]monitors.Monitor, error)
	DeleteMonitor(id string) error
	ListLoadBalancerProviders() ([]providers.Provider, error)
	ListOctaviaVersions() ([]apiversions.APIVersion, error)
	ListLoadBalancerFlavors() ([]flavors.Flavor, error)
}

func NewLbClient

func NewLbClient(providerClient *gophercloud.ProviderClient, providerClientOpts *clientconfig.ClientOpts) (LbClient, error)

NewLbClient returns a new loadbalancer client.

type NetworkClient

type NetworkClient interface {
	ListFloatingIP(opts floatingips.ListOptsBuilder) ([]floatingips.FloatingIP, error)
	CreateFloatingIP(opts floatingips.CreateOptsBuilder) (*floatingips.FloatingIP, error)
	DeleteFloatingIP(id string) error
	GetFloatingIP(id string) (*floatingips.FloatingIP, error)
	UpdateFloatingIP(id string, opts floatingips.UpdateOptsBuilder) (*floatingips.FloatingIP, error)

	ListPort(opts ports.ListOptsBuilder) ([]ports.Port, error)
	CreatePort(opts ports.CreateOptsBuilder) (*ports.Port, error)
	DeletePort(id string) error
	GetPort(id string) (*ports.Port, error)
	UpdatePort(id string, opts ports.UpdateOptsBuilder) (*ports.Port, error)

	ListTrunk(opts trunks.ListOptsBuilder) ([]trunks.Trunk, error)
	CreateTrunk(opts trunks.CreateOptsBuilder) (*trunks.Trunk, error)
	DeleteTrunk(id string) error

	ListTrunkSubports(trunkID string) ([]trunks.Subport, error)
	RemoveSubports(id string, opts trunks.RemoveSubportsOpts) error

	ListRouter(opts routers.ListOpts) ([]routers.Router, error)
	CreateRouter(opts routers.CreateOptsBuilder) (*routers.Router, error)
	DeleteRouter(id string) error
	GetRouter(id string) (*routers.Router, error)
	UpdateRouter(id string, opts routers.UpdateOptsBuilder) (*routers.Router, error)
	AddRouterInterface(id string, opts routers.AddInterfaceOptsBuilder) (*routers.InterfaceInfo, error)
	RemoveRouterInterface(id string, opts routers.RemoveInterfaceOptsBuilder) (*routers.InterfaceInfo, error)

	ListSecGroup(opts groups.ListOpts) ([]groups.SecGroup, error)
	CreateSecGroup(opts groups.CreateOptsBuilder) (*groups.SecGroup, error)
	DeleteSecGroup(id string) error
	GetSecGroup(id string) (*groups.SecGroup, error)
	UpdateSecGroup(id string, opts groups.UpdateOptsBuilder) (*groups.SecGroup, error)

	ListSecGroupRule(opts rules.ListOpts) ([]rules.SecGroupRule, error)
	CreateSecGroupRule(opts rules.CreateOptsBuilder) (*rules.SecGroupRule, error)
	DeleteSecGroupRule(id string) error
	GetSecGroupRule(id string) (*rules.SecGroupRule, error)

	ListNetwork(opts networks.ListOptsBuilder) ([]networks.Network, error)
	CreateNetwork(opts networks.CreateOptsBuilder) (*networks.Network, error)
	DeleteNetwork(id string) error
	GetNetwork(id string) (*networks.Network, error)
	UpdateNetwork(id string, opts networks.UpdateOptsBuilder) (*networks.Network, error)

	ListSubnet(opts subnets.ListOptsBuilder) ([]subnets.Subnet, error)
	CreateSubnet(opts subnets.CreateOptsBuilder) (*subnets.Subnet, error)
	DeleteSubnet(id string) error
	GetSubnet(id string) (*subnets.Subnet, error)
	UpdateSubnet(id string, opts subnets.UpdateOptsBuilder) (*subnets.Subnet, error)

	ListExtensions() ([]extensions.Extension, error)

	ReplaceAllAttributesTags(resourceType string, resourceID string, opts attributestags.ReplaceAllOptsBuilder) ([]string, error)
}

func NewNetworkClient

func NewNetworkClient(providerClient *gophercloud.ProviderClient, providerClientOpts *clientconfig.ClientOpts) (NetworkClient, error)

NewNetworkClient returns an instance of the networking service.

type VolumeClient

type VolumeClient interface {
	ListVolumes(opts volumes.ListOptsBuilder) ([]volumes.Volume, error)
	CreateVolume(opts volumes.CreateOptsBuilder) (*volumes.Volume, error)
	DeleteVolume(volumeID string, opts volumes.DeleteOptsBuilder) error
	GetVolume(volumeID string) (*volumes.Volume, error)
}

func NewVolumeClient

func NewVolumeClient(providerClient *gophercloud.ProviderClient, providerClientOpts *clientconfig.ClientOpts) (VolumeClient, error)

NewVolumeClient returns a new cinder client.

func NewVolumeErrorClient

func NewVolumeErrorClient(e error) VolumeClient

NewVolumeErrorClient returns a VolumeClient in which every method returns the given error.

Directories

Path Synopsis
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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