View Source
const (
	// ProviderName is the name of this provider.
	ProviderName = "aws"


View Source
var (
	// ErrNotImplemented defines an error for not implemented features.
	ErrNotImplemented = errors.New("not implemented")


This section is empty.


type Cloud

type Cloud struct {
	Logger cloudprovider.Logger
	// contains filtered or unexported fields

    Cloud is an implementation of cloudprovider.Interface.

    func (*Cloud) Clusters

    func (c *Cloud) Clusters() (cloudprovider.Clusters, bool)

      Clusters returns an implementation of Clusters interface for AWS Cloud.

      func (*Cloud) CreateClusterInfra

      func (c *Cloud) CreateClusterInfra(cluster model.Cluster) error

        CreateClusterInfra creates a new cluster, by creating ENIs, volumes and other cluster infra related resources.

        func (*Cloud) CreateComputePool

        func (c *Cloud) CreateComputePool(p model.ComputePool) error

          CreateComputePool creates a compute node pool. Creating compute pools in different VPCs from where masterpool sits is not supported. Mainly due to complexities imposed by AWS.

          func (*Cloud) CreateMasterPool

          func (c *Cloud) CreateMasterPool(p model.MasterPool) error

            CreateMasterPool creates a master node pool.

            func (*Cloud) DeleteCluster

            func (c *Cloud) DeleteCluster(name string) error

              DeleteCluster deletes a cluster.

              func (*Cloud) DeleteComputePool

              func (c *Cloud) DeleteComputePool(clusterName, name string) error

                DeleteComputePool deletes a node pool.

                func (*Cloud) DeleteMasterPool

                func (c *Cloud) DeleteMasterPool(clusterName string) error

                  DeleteMasterPool deletes a master node pool.

                  func (*Cloud) DescribeCluster

                  func (c *Cloud) DescribeCluster(name string) error

                    DescribeCluster describes a given cluster.

                    func (*Cloud) DescribeNodePool

                    func (c *Cloud) DescribeNodePool() error

                      DescribeNodePool lists nodes pools.

                      func (*Cloud) GetAssets

                      func (c *Cloud) GetAssets() (model.Assets, error)

                        GetAssets gets assets from a cloud.

                        func (*Cloud) GetClusters

                        func (c *Cloud) GetClusters(name string) ([]*model.Cluster, error)

                          GetClusters returns a cluster by name or all clusters in the region.

                          func (*Cloud) GetComputePools

                          func (c *Cloud) GetComputePools(clusterName, name string) ([]*model.ComputePool, error)

                            GetComputePools returns a list of compute pools. Pools can be filtered by their name / cluster. TODO(vaijab): refactor below into a shared function to get nodepools?

                            func (Cloud) GetMasterPersistentIPs

                            func (c Cloud) GetMasterPersistentIPs(clusterName string) (map[string]string, error)

                              GetMasterPersistentIPs returns a map of master persistent NodeID values and private IPs for a given clusterName.

                              func (*Cloud) GetMasterPools

                              func (c *Cloud) GetMasterPools(clusterName, name string) ([]*model.MasterPool, error)

                                GetMasterPools returns a list of master pools. Pools can be filtered by their name / cluster. TODO(vaijab): refactor below into a shared function to get nodepools?

                                func (Cloud) GetNodeData

                                func (c Cloud) GetNodeData() (model.NodeData, error)

                                  GetNodeData returns model.NodeData which contains information like node labels, kube version, etc.

                                  func (*Cloud) Node

                                  func (c *Cloud) Node() (cloudprovider.Node, bool)

                                    Node returns an implementation of Node interface for AWS Cloud.

                                    func (*Cloud) NodePooler

                                    func (c *Cloud) NodePooler() (cloudprovider.NodePooler, bool)

                                      NodePooler returns an implementation of NodePooler interface for AWS Cloud.

                                      func (*Cloud) ProviderName

                                      func (c *Cloud) ProviderName() string

                                        ProviderName returns the cloud provider ID.

                                        func (*Cloud) PushAssets

                                        func (c *Cloud) PushAssets(clusterName string, a model.Assets) error

                                          PushAssets pushes assets to an S3 bucket.

                                          func (*Cloud) UpgradeNodePool

                                          func (c *Cloud) UpgradeNodePool() error

                                            UpgradeNodePool upgrades a node pool.