Documentation ¶
Index ¶
- Constants
- type CSCloud
- func (cs *CSCloud) Clusters() (cloudprovider.Clusters, bool)
- 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) GetLoadBalancer(clusterName string, service *v1.Service) (*v1.LoadBalancerStatus, bool, error)
- func (cs *CSCloud) GetZone() (cloudprovider.Zone, error)
- func (cs *CSCloud) HasClusterID() bool
- func (cs *CSCloud) Initialize(clientBuilder controller.ControllerClientBuilder)
- func (cs *CSCloud) Instances() (cloudprovider.Instances, bool)
- func (cs *CSCloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)
- func (cs *CSCloud) ProviderName() string
- func (cs *CSCloud) Routes() (cloudprovider.Routes, bool)
- func (cs *CSCloud) ScrubDNS(nameservers, searches []string) (nsOut, srchOut []string)
- 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) Clusters ¶
func (cs *CSCloud) Clusters() (cloudprovider.Clusters, bool)
Clusters returns an implementation of Clusters for CloudStack.
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) 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) HasClusterID ¶
HasClusterID returns true if the cluster has a clusterID
func (*CSCloud) Initialize ¶
func (cs *CSCloud) Initialize(clientBuilder controller.ControllerClientBuilder)
Initialize passes a Kubernetes clientBuilder interface to the cloud provider
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) 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.