Versions in this module Expand all Collapse all v0 v0.0.1 Jun 21, 2023 Changes in this version type AuthOpts + ApiKey string v0.0.0 Jun 2, 2021 Changes in this version + const LabelZoneFailureDomain + const LabelZoneRegion + const ProviderName + const ServiceAnnotationLoadBalancerConnLimit + const ServiceAnnotationLoadBalancerEnableHealthMonitor + const ServiceAnnotationLoadBalancerInternal + const ServiceAnnotationLoadBalancerProxyEnabled + const ServiceAnnotationLoadBalancerTimeoutClientData + const ServiceAnnotationLoadBalancerTimeoutMemberConnect + const ServiceAnnotationLoadBalancerTimeoutMemberData + const ServiceAnnotationLoadBalancerTimeoutTCPInspect + const ServiceAnnotationLoadBalancerXForwardedFor + const TypeHostName + var ErrIPv6SupportDisabled = errors.New("IPv6 support is disabled") + var ErrMultipleResults = errors.New("multiple results where only one expected") + var ErrNoAddressFound = errors.New("no address found for host") + var ErrNotFound = errors.New("failed to find object") + func AddExtraFlags(fs *pflag.FlagSet) + func LogCfg(cfg Config) + func NewOpenStackClient(cfg *AuthOpts, userAgent string, extraUserAgent ...string) (*gophercloud.ProviderClient, error) + func NewRoutes(compute *gophercloud.ServiceClient, network *gophercloud.ServiceClient, ...) (cloudprovider.Routes, error) + func ReadClouds(cfg *Config) error + func RegisterMetrics() + type AuthOpts struct + ApplicationCredentialID string + ApplicationCredentialName string + ApplicationCredentialSecret string + AuthURL string + CAFile string + CAFileContents string + Cloud string + CloudsFile string + DomainID string + DomainName string + Password string + Region string + TLSInsecure string + TenantDomainID string + TenantDomainName string + TenantID string + TenantName string + TrustID string + TrusteeID string + TrusteePassword string + UseClouds bool + UserDomainID string + UserDomainName string + UserID string + Username string + func (cfg AuthOpts) ToAuthOptions() gophercloud.AuthOptions + type BlockStorageOpts struct + BSVersion string + IgnoreVolumeAZ bool + TrustDevicePath bool + type CloudLb struct + func (lbaas *CloudLb) EnsureLoadBalancer(ctx context.Context, clusterName string, apiService *corev1.Service, ...) (*corev1.LoadBalancerStatus, error) + func (lbaas *CloudLb) EnsureLoadBalancerDeleted(ctx context.Context, clusterName string, service *corev1.Service) error + func (lbaas *CloudLb) GetLoadBalancer(ctx context.Context, clusterName string, service *corev1.Service) (*corev1.LoadBalancerStatus, bool, error) + func (lbaas *CloudLb) GetLoadBalancerName(ctx context.Context, clusterName string, service *corev1.Service) string + func (lbaas *CloudLb) UpdateLoadBalancer(ctx context.Context, clusterName string, service *corev1.Service, ...) error + type Config struct + BlockStorage BlockStorageOpts + Global AuthOpts + LoadBalancer LoadBalancerOpts + Metadata MetadataOpts + Networking NetworkingOpts + Route RouterOpts + func ReadConfig(config io.Reader) (Config, error) + type Instances struct + func (i *Instances) AddSSHKeyToAllInstances(ctx context.Context, user string, keyData []byte) error + func (i *Instances) CurrentNodeName(ctx context.Context, hostname string) (types.NodeName, error) + func (i *Instances) InstanceExistsByProviderID(ctx context.Context, providerID string) (bool, error) + func (i *Instances) InstanceID(ctx context.Context, name types.NodeName) (string, error) + func (i *Instances) InstanceShutdownByProviderID(ctx context.Context, providerID string) (bool, error) + func (i *Instances) InstanceType(ctx context.Context, name types.NodeName) (string, error) + func (i *Instances) InstanceTypeByProviderID(ctx context.Context, providerID string) (string, error) + func (i *Instances) NodeAddresses(ctx context.Context, name types.NodeName) ([]v1.NodeAddress, error) + func (i *Instances) NodeAddressesByProviderID(ctx context.Context, providerID string) ([]v1.NodeAddress, error) + type LoadBalancer struct + type LoadBalancerOpts struct + CreateMonitor bool + InternalLB bool + LBMethod string + MonitorDelay MyDuration + MonitorMaxRetries uint + MonitorTimeout MyDuration + type Logger struct + func (l Logger) Printf(format string, args ...interface{}) + type MetadataOpts struct + RequestTimeout MyDuration + SearchOrder string + type MyDuration struct + func (d *MyDuration) UnmarshalText(text []byte) error + type NetworkingOpts struct + IPv6SupportDisabled bool + InternalNetworkName string + PublicNetworkName string + type OpenStack struct + func NewOpenStack(cfg Config) (*OpenStack, error) + func (os *OpenStack) AttachDisk(instanceID, volumeID string) (string, error) + func (os *OpenStack) Clusters() (cloudprovider.Clusters, bool) + func (os *OpenStack) CreateVolume(name string, size int, vtype, availability string, tags *map[string]string) (string, string, string, bool, error) + func (os *OpenStack) DeleteVolume(volumeID string) error + func (os *OpenStack) DetachDisk(instanceID, volumeID string) error + func (os *OpenStack) DiskIsAttached(instanceID, volumeID string) (bool, error) + func (os *OpenStack) DiskIsAttachedByName(nodeName types.NodeName, volumeID string) (bool, string, error) + func (os *OpenStack) DisksAreAttached(instanceID string, volumeIDs []string) (map[string]bool, error) + func (os *OpenStack) DisksAreAttachedByName(nodeName types.NodeName, volumeIDs []string) (map[string]bool, error) + func (os *OpenStack) ExpandVolume(volumeID string, oldSize resource.Quantity, newSize resource.Quantity) (resource.Quantity, error) + func (os *OpenStack) GetAttachmentDiskPath(instanceID, volumeID string) (string, error) + func (os *OpenStack) GetDevicePath(volumeID string) (string, error) + func (os *OpenStack) GetDevicePathBySerialID(volumeID string) string + func (os *OpenStack) GetLabelsForVolume(ctx context.Context, pv *v1.PersistentVolume) (map[string]string, error) + func (os *OpenStack) GetNodeNameByID(instanceID string) (types.NodeName, error) + func (os *OpenStack) GetZone(ctx context.Context) (cloudprovider.Zone, error) + func (os *OpenStack) GetZoneByNodeName(ctx context.Context, nodeName types.NodeName) (cloudprovider.Zone, error) + func (os *OpenStack) GetZoneByProviderID(ctx context.Context, providerID string) (cloudprovider.Zone, error) + func (os *OpenStack) HasClusterID() bool + func (os *OpenStack) Initialize(clientBuilder cloudprovider.ControllerClientBuilder, stop <-chan struct{}) + func (os *OpenStack) InstanceID() (string, error) + func (os *OpenStack) Instances() (cloudprovider.Instances, bool) + func (os *OpenStack) LoadBalancer() (cloudprovider.LoadBalancer, bool) + func (os *OpenStack) NewBlockStorageV1() (*gophercloud.ServiceClient, error) + func (os *OpenStack) NewBlockStorageV2() (*gophercloud.ServiceClient, error) + func (os *OpenStack) NewBlockStorageV3() (*gophercloud.ServiceClient, error) + func (os *OpenStack) NewCloudLoadBalancer() (*gophercloud.ServiceClient, error) + func (os *OpenStack) NewComputeV2() (*gophercloud.ServiceClient, error) + func (os *OpenStack) NewNetworkV2() (*gophercloud.ServiceClient, error) + func (os *OpenStack) OperationPending(diskName string) (bool, string, error) + func (os *OpenStack) ProviderName() string + func (os *OpenStack) Routes() (cloudprovider.Routes, bool) + func (os *OpenStack) ScrubDNS(nameServers, searches []string) ([]string, []string) + func (os *OpenStack) ShouldTrustDevicePath() bool + func (os *OpenStack) Zones() (cloudprovider.Zones, bool) + type RouterOpts struct + RouterID string + type Routes struct + func (r *Routes) CreateRoute(ctx context.Context, clusterName string, nameHint string, ...) error + func (r *Routes) DeleteRoute(ctx context.Context, clusterName string, route *cloudprovider.Route) error + func (r *Routes) ListRoutes(ctx context.Context, clusterName string) ([]*cloudprovider.Route, error) + type ServerAttributesExt struct + type Volume struct + AttachedDevice string + AttachedServerID string + AvailabilityZone string + ID string + Name string + Size int + Status string + type VolumesV2 struct + type VolumesV3 struct