Documentation
¶
Index ¶
Constants ¶
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.