Documentation
¶
Index ¶
- Constants
- func Filter[T any, R Result[T]](in <-chan R, filters ...func(T) bool) <-chan R
- func JustOne[T any, R Result[*T]](in <-chan R, duplicateError error) (*T, error)
- func NewResultErr[T any](err error) result[T]
- func NewResultOk[T any](ok T) result[T]
- type ComputeClient
- type ImageClient
- type LbClient
- type NetworkClient
- type Result
- type VolumeClient
Constants ¶
const NovaMinimumMicroversion = "2.60"
NovaMinimumMicroversion is the minimum Nova microversion supported by CAPO 2.60 corresponds to OpenStack Queens
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 added in microversion 2.52. CAPO supports multiattach volume types, which were added in microversion 2.60.
Variables ¶
This section is empty.
Functions ¶
func NewResultErr ¶
func NewResultOk ¶
func NewResultOk[T any](ok T) result[T]
Types ¶
type ComputeClient ¶
type ComputeClient interface {
ListAvailabilityZones() ([]availabilityzones.AvailabilityZone, error)
CreateFlavor(ctx context.Context, opts flavors.CreateOptsBuilder) (*flavors.Flavor, error)
GetFlavor(ctx context.Context, id string) (*flavors.Flavor, error)
DeleteFlavor(ctx context.Context, id string) error
ListFlavors(ctx context.Context, listOpts flavors.ListOptsBuilder) <-chan (Result[*flavors.Flavor])
CreateServer(ctx context.Context, createOpts servers.CreateOptsBuilder, schedulerHints servers.SchedulerHintOptsBuilder) (*servers.Server, error)
DeleteServer(ctx context.Context, serverID string) error
GetServer(ctx context.Context, serverID string) (*servers.Server, error)
ListServers(ctx context.Context, listOpts servers.ListOptsBuilder) <-chan (Result[*servers.Server])
ListAttachedInterfaces(serverID string) ([]attachinterfaces.Interface, error)
DeleteAttachedInterface(serverID, portID string) error
ListServerGroups() ([]servergroups.ServerGroup, 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(ctx context.Context, opts ports.ListOptsBuilder) ([]ports.Port, error)
CreatePort(ctx context.Context, opts ports.CreateOptsBuilder) (*ports.Port, error)
DeletePort(ctx context.Context, id string) error
GetPort(ctx context.Context, 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(ctx context.Context, opts routers.ListOpts) ([]routers.Router, error)
CreateRouter(ctx context.Context, opts routers.CreateOptsBuilder) (*routers.Router, error)
DeleteRouter(ctx context.Context, id string) error
GetRouter(ctx context.Context, id string) (*routers.Router, error)
UpdateRouter(ctx context.Context, id string, opts routers.UpdateOptsBuilder) (*routers.Router, error)
AddRouterInterface(ctx context.Context, id string, opts routers.AddInterfaceOptsBuilder) (*routers.InterfaceInfo, error)
RemoveRouterInterface(ctx context.Context, id string, opts routers.RemoveInterfaceOptsBuilder) (*routers.InterfaceInfo, error)
ListSecGroup(ctx context.Context, opts groups.ListOpts) ([]groups.SecGroup, error)
CreateSecGroup(ctx context.Context, opts groups.CreateOptsBuilder) (*groups.SecGroup, error)
DeleteSecGroup(ctx context.Context, id string) error
GetSecGroup(ctx context.Context, id string) (*groups.SecGroup, error)
UpdateSecGroup(ctx context.Context, id string, opts groups.UpdateOptsBuilder) (*groups.SecGroup, error)
ListSecGroupRule(ctx context.Context, opts rules.ListOpts) ([]rules.SecGroupRule, error)
CreateSecGroupRules(ctx context.Context, opts []rules.CreateOpts) ([]rules.SecGroupRule, error)
DeleteSecGroupRule(ctx context.Context, id string) error
GetSecGroupRule(ctx context.Context, id string) (*rules.SecGroupRule, error)
ListNetwork(opts networks.ListOptsBuilder) pagination.Pager
CreateNetwork(ctx context.Context, opts networks.CreateOptsBuilder) networks.CreateResult
DeleteNetwork(ctx context.Context, id string) networks.DeleteResult
GetNetwork(ctx context.Context, id string) networks.GetResult
UpdateNetwork(ctx context.Context, id string, opts networks.UpdateOptsBuilder) networks.UpdateResult
ListSubnet(ctx context.Context, opts subnets.ListOptsBuilder) ([]subnets.Subnet, error)
CreateSubnet(ctx context.Context, opts subnets.CreateOptsBuilder) (*subnets.Subnet, error)
DeleteSubnet(ctx context.Context, id string) error
GetSubnet(ctx context.Context, id string) (*subnets.Subnet, error)
UpdateSubnet(ctx context.Context, id string, opts subnets.UpdateOptsBuilder) (*subnets.Subnet, error)
ListExtensions() ([]extensions.Extension, error)
ReplaceAllAttributesTags(ctx context.Context, 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.