Documentation ¶
Index ¶
- Constants
- type CSCloud
- func (cs *CSCloud) AddSSHKeyToAllInstances(user string, keyData []byte) error
- func (cs *CSCloud) Clusters() (cloudprovider.Clusters, bool)
- func (cs *CSCloud) CurrentNodeName(hostname string) (types.NodeName, error)
- func (cs *CSCloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) (status *v1.LoadBalancerStatus, err error)
- func (cs *CSCloud) EnsureLoadBalancerDeleted(clusterName string, service *v1.Service) error
- func (cs *CSCloud) ExternalID(name types.NodeName) (string, error)
- func (cs *CSCloud) GetLoadBalancer(clusterName string, service *v1.Service) (*v1.LoadBalancerStatus, bool, error)
- func (cs *CSCloud) GetZone() (cloudprovider.Zone, error)
- func (cs *CSCloud) GetZoneByNodeName(nodeName types.NodeName) (cloudprovider.Zone, error)
- func (cs *CSCloud) GetZoneByProviderID(providerID string) (cloudprovider.Zone, error)
- func (cs *CSCloud) HasClusterID() bool
- func (cs *CSCloud) Initialize(clientBuilder controller.ControllerClientBuilder)
- func (cs *CSCloud) InstanceExistsByProviderID(providerID string) (bool, error)
- func (cs *CSCloud) InstanceID(name types.NodeName) (string, error)
- func (cs *CSCloud) InstanceType(name types.NodeName) (string, error)
- func (cs *CSCloud) InstanceTypeByProviderID(providerID string) (string, error)
- func (cs *CSCloud) Instances() (cloudprovider.Instances, bool)
- func (cs *CSCloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)
- func (cs *CSCloud) NodeAddresses(name types.NodeName) ([]v1.NodeAddress, error)
- func (cs *CSCloud) NodeAddressesByProviderID(providerID string) ([]v1.NodeAddress, error)
- func (cs *CSCloud) ProviderName() string
- func (cs *CSCloud) Routes() (cloudprovider.Routes, bool)
- func (cs *CSCloud) UpdateLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) error
- func (cs *CSCloud) Zones() (cloudprovider.Zones, bool)
- type CSConfig
Constants ¶
const ProviderName = "cloudstack"
ProviderName is the name of this cloud provider.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CSCloud ¶
type CSCloud struct {
// contains filtered or unexported fields
}
CSCloud is an implementation of Interface for CloudStack.
func (*CSCloud) AddSSHKeyToAllInstances ¶ added in v1.8.0
AddSSHKeyToAllInstances is currently not implemented.
func (*CSCloud) Clusters ¶
func (cs *CSCloud) Clusters() (cloudprovider.Clusters, bool)
Clusters returns an implementation of Clusters for CloudStack.
func (*CSCloud) CurrentNodeName ¶ added in v1.8.0
CurrentNodeName returns the name of the node we are currently running on.
func (*CSCloud) EnsureLoadBalancer ¶
func (cs *CSCloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) (status *v1.LoadBalancerStatus, err error)
EnsureLoadBalancer creates a new load balancer, or updates the existing one. Returns the status of the balancer.
func (*CSCloud) EnsureLoadBalancerDeleted ¶
EnsureLoadBalancerDeleted deletes the specified load balancer if it exists, returning nil if the load balancer specified either didn't exist or was successfully deleted.
func (*CSCloud) ExternalID ¶ added in v1.8.0
ExternalID returns the cloud provider ID of the specified instance (deprecated).
func (*CSCloud) GetLoadBalancer ¶
func (cs *CSCloud) GetLoadBalancer(clusterName string, service *v1.Service) (*v1.LoadBalancerStatus, bool, error)
GetLoadBalancer returns whether the specified load balancer exists, and if so, what its status is.
func (*CSCloud) GetZone ¶
func (cs *CSCloud) GetZone() (cloudprovider.Zone, error)
GetZone returns the Zone containing the region that the program is running in.
func (*CSCloud) GetZoneByNodeName ¶ added in v1.8.0
GetZoneByNodeName returns the Zone, found by using the node name.
func (*CSCloud) GetZoneByProviderID ¶ added in v1.8.0
func (cs *CSCloud) GetZoneByProviderID(providerID string) (cloudprovider.Zone, error)
GetZoneByProviderID returns the Zone, found by using the provider ID.
func (*CSCloud) HasClusterID ¶ added in v1.8.0
HasClusterID returns true if the cluster has a clusterID
func (*CSCloud) Initialize ¶ added in v1.7.0
func (cs *CSCloud) Initialize(clientBuilder controller.ControllerClientBuilder)
Initialize passes a Kubernetes clientBuilder interface to the cloud provider
func (*CSCloud) InstanceExistsByProviderID ¶ added in v1.8.0
InstanceExistsByProviderID returns if the instance still exists.
func (*CSCloud) InstanceID ¶ added in v1.8.0
InstanceID returns the cloud provider ID of the specified instance.
func (*CSCloud) InstanceType ¶ added in v1.8.0
InstanceType returns the type of the specified instance.
func (*CSCloud) InstanceTypeByProviderID ¶ added in v1.8.0
InstanceTypeByProviderID returns the type of the specified instance.
func (*CSCloud) Instances ¶
func (cs *CSCloud) Instances() (cloudprovider.Instances, bool)
Instances returns an implementation of Instances for CloudStack.
func (*CSCloud) LoadBalancer ¶
func (cs *CSCloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)
LoadBalancer returns an implementation of LoadBalancer for CloudStack.
func (*CSCloud) NodeAddresses ¶ added in v1.8.0
NodeAddresses returns the addresses of the specified instance.
func (*CSCloud) NodeAddressesByProviderID ¶ added in v1.8.0
func (cs *CSCloud) NodeAddressesByProviderID(providerID string) ([]v1.NodeAddress, error)
NodeAddressesByProviderID returns the addresses of the specified instance.
func (*CSCloud) ProviderName ¶
ProviderName returns the cloud provider ID.
func (*CSCloud) Routes ¶
func (cs *CSCloud) Routes() (cloudprovider.Routes, bool)
Routes returns an implementation of Routes for CloudStack.
type CSConfig ¶
type CSConfig struct { Global struct { APIURL string `gcfg:"api-url"` APIKey string `gcfg:"api-key"` SecretKey string `gcfg:"secret-key"` SSLNoVerify bool `gcfg:"ssl-no-verify"` ProjectID string `gcfg:"project-id"` Zone string `gcfg:"zone"` } }
CSConfig wraps the config for the CloudStack cloud provider.