Documentation ¶
Index ¶
- func CheckInstanceAvailability(ctx context.Context, spec *api.ClusterConfig, ec2API awsapi.EC2) error
- func DoAllNodegroupStackTasks(taskTree *tasks.TaskTree, region, name string) error
- func DoCreateFargateProfiles(ctx context.Context, config *api.ClusterConfig, fargateClient FargateClient) error
- func DoesAWSNodeUseIRSA(ctx context.Context, provider api.ClusterProvider, ...) (bool, error)
- func GetUsername(roleArn string) string
- func LoadConfigFromFile(configFile string) (*api.ClusterConfig, error)
- func LogEnabledFeatures(clusterConfig *api.ClusterConfig)
- func LogWindowsCompatibility(nodeGroups []KubeNodeGroup, clusterMeta *api.ClusterMeta)
- func ParseConfig(data []byte) (*api.ClusterConfig, error)
- func PlatformVersion(platformVersion string) (int, error)
- func ResolveAMI(ctx context.Context, provider api.ClusterProvider, version string, ...) error
- func ScheduleCoreDNSOnFargateIfRelevant(config *api.ClusterConfig, ctl *ClusterProvider, ...) error
- func SetAvailabilityZones(ctx context.Context, spec *api.ClusterConfig, given []string, ...) (bool, error)
- func SupportsWindowsWorkloads(nodeGroups []KubeNodeGroup) bool
- func UpdateAuthConfigMap(ctx context.Context, nodeGroups []*api.NodeGroup, ...) error
- func ValidateExistingNodeGroupsForCompatibility(ctx context.Context, cfg *api.ClusterConfig, stackManager manager.StackManager) error
- func ValidateLocalZones(ctx context.Context, ec2API awsapi.EC2, localZones []string, region string) error
- func WaitForNodes(ctx context.Context, clientSet kubernetes.Interface, ng KubeNodeGroup) error
- type Client
- type ClusterInfo
- type ClusterProvider
- func (c *ClusterProvider) CanOperate(spec *api.ClusterConfig) (bool, error)
- func (c *ClusterProvider) CanOperateWithRefresh(ctx context.Context, spec *api.ClusterConfig) (bool, error)
- func (c *ClusterProvider) CanUpdate(spec *api.ClusterConfig) (bool, error)
- func (c *ClusterProvider) ClusterTasksForNodeGroups(cfg *api.ClusterConfig, ...) *tasks.TaskTree
- func (c *ClusterProvider) ControlPlaneVPCInfo() ekstypes.VpcConfigResponse
- func (c *ClusterProvider) ControlPlaneVersion() string
- func (c *ClusterProvider) CreateExtraClusterConfigTasks(ctx context.Context, cfg *api.ClusterConfig) *tasks.TaskTree
- func (c *ClusterProvider) DescribeControlPlane(ctx context.Context, meta *api.ClusterMeta) (*ekstypes.Cluster, error)
- func (c *ClusterProvider) EnableKMSEncryption(ctx context.Context, clusterConfig *api.ClusterConfig) error
- func (c *ClusterProvider) GetCluster(ctx context.Context, clusterName string) (*ekstypes.Cluster, error)
- func (c *ClusterProvider) GetCredentialsEnv() ([]string, error)
- func (c *ClusterProvider) GetCurrentClusterConfigForLogging(ctx context.Context, spec *api.ClusterConfig) (sets.String, sets.String, error)
- func (c *ClusterProvider) GetCurrentClusterVPCConfig(ctx context.Context, spec *api.ClusterConfig) (*ClusterVPCConfig, error)
- func (c *ClusterProvider) GetNodeGroupIAM(ctx context.Context, stackManager manager.StackManager, ng *api.NodeGroup) error
- func (c *ClusterProvider) IsSupportedRegion() bool
- func (c *ClusterProvider) LoadClusterIntoSpecFromStack(ctx context.Context, spec *api.ClusterConfig, stack *manager.Stack) error
- func (c *ClusterProvider) LoadClusterVPC(ctx context.Context, spec *api.ClusterConfig, stack *manager.Stack) error
- func (c *ClusterProvider) NewOpenIDConnectManager(ctx context.Context, spec *api.ClusterConfig) (*iamoidc.OpenIDConnectManager, error)
- func (c *ClusterProvider) NewStackManager(spec *api.ClusterConfig) manager.StackManager
- func (c *ClusterProvider) RefreshClusterStatus(ctx context.Context, spec *api.ClusterConfig) error
- func (c *ClusterProvider) RefreshClusterStatusIfStale(ctx context.Context, spec *api.ClusterConfig) error
- func (c *ClusterProvider) UpdateClusterConfigForEndpoints(ctx context.Context, cfg *api.ClusterConfig) error
- func (c *ClusterProvider) UpdateClusterConfigForLogging(ctx context.Context, cfg *api.ClusterConfig) error
- func (c *ClusterProvider) UpdateClusterVersion(ctx context.Context, cfg *api.ClusterConfig) (*ekstypes.Update, error)
- func (c *ClusterProvider) UpdateClusterVersionBlocking(ctx context.Context, cfg *api.ClusterConfig) error
- func (c *ClusterProvider) UpdatePublicAccessCIDRs(ctx context.Context, clusterConfig *api.ClusterConfig) error
- func (c *ClusterProvider) ValidateClusterForCompatibility(ctx context.Context, cfg *api.ClusterConfig, stackManager manager.StackManager) error
- type ClusterVPCConfig
- type FargateClient
- type InstanceSelector
- type KubeNodeGroup
- type KubeProvider
- type KubernetesProvider
- func (c *KubernetesProvider) NewClient(clusterInfo kubeconfig.ClusterInfo) (*Client, error)
- func (c *KubernetesProvider) NewRawClient(clusterInfo kubeconfig.ClusterInfo) (*kubewrapper.RawClient, error)
- func (c *KubernetesProvider) NewStdClientSet(clusterInfo kubeconfig.ClusterInfo) (kubernetes.Interface, error)
- func (c *KubernetesProvider) ServerVersion(rawClient *kubewrapper.RawClient) (string, error)
- func (c *KubernetesProvider) WaitForControlPlane(meta *api.ClusterMeta, clientSet *kubewrapper.RawClient, ...) error
- type LoggingRetryer
- type NodeGroupService
- type ProviderServices
- func (p ProviderServices) ASG() awsapi.ASG
- func (p ProviderServices) CloudFormationDisableRollback() bool
- func (p ProviderServices) CloudFormationRoleARN() string
- func (p ProviderServices) CloudTrail() awsapi.CloudTrail
- func (p ProviderServices) CloudWatchLogs() awsapi.CloudWatchLogs
- func (p ProviderServices) ConfigProvider() client.ConfigProvider
- func (p ProviderServices) Profile() api.Profile
- func (p ProviderServices) Region() string
- func (p ProviderServices) Session() *session.Session
- func (p ProviderServices) WaitTimeout() time.Duration
- type ProviderStatus
- type RetryerV2
- type ServicesV2
- func (s *ServicesV2) CloudFormation() awsapi.CloudFormation
- func (s *ServicesV2) EC2() awsapi.EC2
- func (s *ServicesV2) EKS() awsapi.EKS
- func (s *ServicesV2) ELB() awsapi.ELB
- func (s *ServicesV2) ELBV2() awsapi.ELBV2
- func (s *ServicesV2) IAM() awsapi.IAM
- func (s *ServicesV2) Outposts() awsapi.Outposts
- func (s *ServicesV2) SSM() awsapi.SSM
- func (s *ServicesV2) STS() awsapi.STS
- func (s *ServicesV2) STSPresigner() api.STSPresigner
- type SessionProvider
- type VPCControllerTask
- type WindowsIPAMTask
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckInstanceAvailability ¶
func CheckInstanceAvailability(ctx context.Context, spec *api.ClusterConfig, ec2API awsapi.EC2) error
CheckInstanceAvailability verifies that if any instances are provided in any node groups that those instances are available in the selected AZs.
func DoAllNodegroupStackTasks ¶
DoAllNodegroupStackTasks iterates over nodegroup tasks and returns any errors.
func DoCreateFargateProfiles ¶
func DoCreateFargateProfiles(ctx context.Context, config *api.ClusterConfig, fargateClient FargateClient) error
DoCreateFargateProfiles creates fargate profiles as specified in the config
func DoesAWSNodeUseIRSA ¶
func DoesAWSNodeUseIRSA(ctx context.Context, provider api.ClusterProvider, clientSet kubernetes.Interface) (bool, error)
DoesAWSNodeUseIRSA evaluates whether an aws-node uses IRSA
func GetUsername ¶
GetUsername extracts the username part from the IAM role ARN
func LoadConfigFromFile ¶
func LoadConfigFromFile(configFile string) (*api.ClusterConfig, error)
LoadConfigFromFile loads ClusterConfig from configFile
func LogEnabledFeatures ¶
func LogEnabledFeatures(clusterConfig *api.ClusterConfig)
LogEnabledFeatures logs enabled features
func LogWindowsCompatibility ¶
func LogWindowsCompatibility(nodeGroups []KubeNodeGroup, clusterMeta *api.ClusterMeta)
LogWindowsCompatibility logs Windows compatibility messages
func ParseConfig ¶
func ParseConfig(data []byte) (*api.ClusterConfig, error)
ParseConfig parses data into a ClusterConfig
func PlatformVersion ¶
PlatformVersion extracts the digit X in the provided platform version eks.X
func ResolveAMI ¶
func ResolveAMI(ctx context.Context, provider api.ClusterProvider, version string, np api.NodePool) error
ResolveAMI ensures that the node AMI is set and is available
func ScheduleCoreDNSOnFargateIfRelevant ¶
func ScheduleCoreDNSOnFargateIfRelevant(config *api.ClusterConfig, ctl *ClusterProvider, clientSet kubernetes.Interface) error
func SetAvailabilityZones ¶
func SetAvailabilityZones(ctx context.Context, spec *api.ClusterConfig, given []string, ec2API awsapi.EC2, region string) (bool, error)
SetAvailabilityZones sets the given (or chooses) the availability zones Returns whether azs were set randomly or provided by a user. CheckInstanceAvailability is only run if azs were provided by the user. Random selection already performs this check and makes sure AZs support all given instances.
func SupportsWindowsWorkloads ¶
func SupportsWindowsWorkloads(nodeGroups []KubeNodeGroup) bool
SupportsWindowsWorkloads reports whether nodeGroups can support running Windows workloads
func UpdateAuthConfigMap ¶
func UpdateAuthConfigMap(ctx context.Context, nodeGroups []*api.NodeGroup, clientSet kubernetes.Interface) error
UpdateAuthConfigMap creates or adds a nodegroup IAM role in the auth ConfigMap for the given nodegroup.
func ValidateExistingNodeGroupsForCompatibility ¶
func ValidateExistingNodeGroupsForCompatibility(ctx context.Context, cfg *api.ClusterConfig, stackManager manager.StackManager) error
ValidateExistingNodeGroupsForCompatibility looks at each of the existing nodegroups and validates configuration, if it find issues it logs messages.
func ValidateLocalZones ¶
func ValidateLocalZones(ctx context.Context, ec2API awsapi.EC2, localZones []string, region string) error
ValidateLocalZones validates that the specified local zones exist.
func WaitForNodes ¶
func WaitForNodes(ctx context.Context, clientSet kubernetes.Interface, ng KubeNodeGroup) error
WaitForNodes waits till the nodes are ready
Types ¶
type Client ¶
type Client struct { Config *clientcmdapi.Config // contains filtered or unexported fields }
Client stores information about the client config
func (*Client) NewClientSet ¶
func (c *Client) NewClientSet() (*kubernetes.Clientset, error)
NewClientSet creates a new API client
type ClusterInfo ¶
ClusterInfo provides information about the cluster.
type ClusterProvider ¶
type ClusterProvider struct { // KubeProvider offers helper methods to handle Kubernetes operations KubeProvider // core fields used for config and AWS APIs AWSProvider api.ClusterProvider // informative fields, i.e. used as outputs Status *ProviderStatus }
ClusterProvider stores information about the cluster
func New ¶
func New(ctx context.Context, spec *api.ProviderConfig, clusterSpec *api.ClusterConfig) (*ClusterProvider, error)
New creates a new setup of the used AWS APIs
func (*ClusterProvider) CanOperate ¶
func (c *ClusterProvider) CanOperate(spec *api.ClusterConfig) (bool, error)
CanOperate returns true when a cluster can be operated, otherwise it returns false along with an error explaining the reason
func (*ClusterProvider) CanOperateWithRefresh ¶
func (c *ClusterProvider) CanOperateWithRefresh(ctx context.Context, spec *api.ClusterConfig) (bool, error)
CanOperateWithRefresh returns true when a cluster can be operated, otherwise it returns false along with an error explaining the reason
func (*ClusterProvider) CanUpdate ¶
func (c *ClusterProvider) CanUpdate(spec *api.ClusterConfig) (bool, error)
CanUpdate return true when a cluster or add-ons can be updated, otherwise it returns false along with an error explaining the reason
func (*ClusterProvider) ClusterTasksForNodeGroups ¶
func (c *ClusterProvider) ClusterTasksForNodeGroups(cfg *api.ClusterConfig, installNeuronDevicePluginParam, installNvidiaDevicePluginParam bool) *tasks.TaskTree
ClusterTasksForNodeGroups returns all tasks dependent on node groups
func (*ClusterProvider) ControlPlaneVPCInfo ¶
func (c *ClusterProvider) ControlPlaneVPCInfo() ekstypes.VpcConfigResponse
ControlPlaneVPCInfo returns cached version (EKS API)
func (*ClusterProvider) ControlPlaneVersion ¶
func (c *ClusterProvider) ControlPlaneVersion() string
ControlPlaneVersion returns cached version (EKS API)
func (*ClusterProvider) CreateExtraClusterConfigTasks ¶
func (c *ClusterProvider) CreateExtraClusterConfigTasks(ctx context.Context, cfg *api.ClusterConfig) *tasks.TaskTree
CreateExtraClusterConfigTasks returns all tasks for updating cluster configuration
func (*ClusterProvider) DescribeControlPlane ¶
func (c *ClusterProvider) DescribeControlPlane(ctx context.Context, meta *api.ClusterMeta) (*ekstypes.Cluster, error)
DescribeControlPlane describes the cluster control plane
func (*ClusterProvider) EnableKMSEncryption ¶
func (c *ClusterProvider) EnableKMSEncryption(ctx context.Context, clusterConfig *api.ClusterConfig) error
EnableKMSEncryption enables KMS encryption for the specified cluster
func (*ClusterProvider) GetCluster ¶
func (c *ClusterProvider) GetCluster(ctx context.Context, clusterName string) (*ekstypes.Cluster, error)
GetCluster display details of an EKS cluster in your account
func (*ClusterProvider) GetCredentialsEnv ¶
func (c *ClusterProvider) GetCredentialsEnv() ([]string, error)
GetCredentialsEnv returns the AWS credentials for env usage
func (*ClusterProvider) GetCurrentClusterConfigForLogging ¶
func (c *ClusterProvider) GetCurrentClusterConfigForLogging(ctx context.Context, spec *api.ClusterConfig) (sets.String, sets.String, error)
GetCurrentClusterConfigForLogging fetches current cluster logging configuration as two sets - enabled and disabled types
func (*ClusterProvider) GetCurrentClusterVPCConfig ¶
func (c *ClusterProvider) GetCurrentClusterVPCConfig(ctx context.Context, spec *api.ClusterConfig) (*ClusterVPCConfig, error)
GetCurrentClusterVPCConfig fetches current cluster endpoint configuration for public and private access types
func (*ClusterProvider) GetNodeGroupIAM ¶
func (c *ClusterProvider) GetNodeGroupIAM(ctx context.Context, stackManager manager.StackManager, ng *api.NodeGroup) error
GetNodeGroupIAM retrieves the IAM configuration of the given nodegroup
func (*ClusterProvider) IsSupportedRegion ¶
func (c *ClusterProvider) IsSupportedRegion() bool
IsSupportedRegion check if given region is supported
func (*ClusterProvider) LoadClusterIntoSpecFromStack ¶
func (c *ClusterProvider) LoadClusterIntoSpecFromStack(ctx context.Context, spec *api.ClusterConfig, stack *manager.Stack) error
LoadClusterIntoSpecFromStack uses stack information to load the cluster configuration into the spec At the moment VPC and KubernetesNetworkConfig are respected
func (*ClusterProvider) LoadClusterVPC ¶
func (c *ClusterProvider) LoadClusterVPC(ctx context.Context, spec *api.ClusterConfig, stack *manager.Stack) error
LoadClusterVPC loads the VPC configuration.
func (*ClusterProvider) NewOpenIDConnectManager ¶
func (c *ClusterProvider) NewOpenIDConnectManager(ctx context.Context, spec *api.ClusterConfig) (*iamoidc.OpenIDConnectManager, error)
NewOpenIDConnectManager returns OpenIDConnectManager
func (*ClusterProvider) NewStackManager ¶
func (c *ClusterProvider) NewStackManager(spec *api.ClusterConfig) manager.StackManager
NewStackManager returns a new stack manager
func (*ClusterProvider) RefreshClusterStatus ¶
func (c *ClusterProvider) RefreshClusterStatus(ctx context.Context, spec *api.ClusterConfig) error
RefreshClusterStatus calls c.DescribeControlPlane and caches the results; it parses the credentials (endpoint, CA certificate) and stores them in ClusterConfig.Status, so that a Kubernetes client can be constructed; additionally it caches Kubernetes version (use ctl.ControlPlaneVersion to retrieve it) and other properties in c.Status.cachedClusterInfo. It also updates ClusterConfig to reflect the current cluster state.
func (*ClusterProvider) RefreshClusterStatusIfStale ¶
func (c *ClusterProvider) RefreshClusterStatusIfStale(ctx context.Context, spec *api.ClusterConfig) error
RefreshClusterStatusIfStale refreshes the cluster status if enough time has passed since the last refresh
func (*ClusterProvider) UpdateClusterConfigForEndpoints ¶
func (c *ClusterProvider) UpdateClusterConfigForEndpoints(ctx context.Context, cfg *api.ClusterConfig) error
UpdateClusterConfigForEndpoints calls eks.UpdateClusterConfig and updates access to API endpoints
func (*ClusterProvider) UpdateClusterConfigForLogging ¶
func (c *ClusterProvider) UpdateClusterConfigForLogging(ctx context.Context, cfg *api.ClusterConfig) error
UpdateClusterConfigForLogging calls UpdateClusterConfig to enable logging
func (*ClusterProvider) UpdateClusterVersion ¶
func (c *ClusterProvider) UpdateClusterVersion(ctx context.Context, cfg *api.ClusterConfig) (*ekstypes.Update, error)
UpdateClusterVersion calls eks.UpdateClusterVersion and updates to cfg.Metadata.Version, it will return update ID along with an error (if it occurs)
func (*ClusterProvider) UpdateClusterVersionBlocking ¶
func (c *ClusterProvider) UpdateClusterVersionBlocking(ctx context.Context, cfg *api.ClusterConfig) error
UpdateClusterVersionBlocking calls UpdateClusterVersion and blocks until update operation is successful
func (*ClusterProvider) UpdatePublicAccessCIDRs ¶
func (c *ClusterProvider) UpdatePublicAccessCIDRs(ctx context.Context, clusterConfig *api.ClusterConfig) error
UpdatePublicAccessCIDRs calls eks.UpdateClusterConfig and updates the CIDRs for public access
func (*ClusterProvider) ValidateClusterForCompatibility ¶
func (c *ClusterProvider) ValidateClusterForCompatibility(ctx context.Context, cfg *api.ClusterConfig, stackManager manager.StackManager) error
ValidateClusterForCompatibility looks at the cluster stack and check if it's compatible with current nodegroup configuration, if it find issues it returns an error
type ClusterVPCConfig ¶
type ClusterVPCConfig struct { ClusterEndpoints *api.ClusterEndpoints PublicAccessCIDRs []string }
ClusterVPCConfig represents a cluster's VPC configuration
type FargateClient ¶
type InstanceSelector ¶
type InstanceSelector interface { // Filter returns a set of instance types matching the specified instance selector filters. Filter(selector.Filters) ([]string, error) }
InstanceSelector selects a set of instance types matching the specified instance selector criteria.
type KubeNodeGroup ¶
type KubeNodeGroup interface { // NameString returns the name NameString() string // Size returns the number of the nodes (desired capacity) Size() int // ListOptions returns the selector for listing nodes in this nodegroup ListOptions() metav1.ListOptions // GetAMIFamily returns the AMI family GetAMIFamily() string }
KubeNodeGroup defines a set of Kubernetes Nodes
type KubeProvider ¶
type KubeProvider interface { NewRawClient(clusterInfo kubeconfig.ClusterInfo) (*kubernetes.RawClient, error) NewStdClientSet(clusterInfo kubeconfig.ClusterInfo) (k8sclient.Interface, error) ServerVersion(rawClient *kubernetes.RawClient) (string, error) WaitForControlPlane(meta *api.ClusterMeta, clientSet *kubernetes.RawClient, waitTimeout time.Duration) error }
KubeProvider is an interface with helper funcs for k8s and EKS that are part of ClusterProvider
type KubernetesProvider ¶
type KubernetesProvider struct { WaitTimeout time.Duration RoleARN string Signer api.STSPresigner }
KubernetesProvider provides helper methods to handle Kubernetes operations.
func (*KubernetesProvider) NewClient ¶
func (c *KubernetesProvider) NewClient(clusterInfo kubeconfig.ClusterInfo) (*Client, error)
NewClient creates a new client config.
func (*KubernetesProvider) NewRawClient ¶
func (c *KubernetesProvider) NewRawClient(clusterInfo kubeconfig.ClusterInfo) (*kubewrapper.RawClient, error)
NewRawClient creates a new raw REST client.
func (*KubernetesProvider) NewStdClientSet ¶
func (c *KubernetesProvider) NewStdClientSet(clusterInfo kubeconfig.ClusterInfo) (kubernetes.Interface, error)
NewStdClientSet creates a new API client.
func (*KubernetesProvider) ServerVersion ¶
func (c *KubernetesProvider) ServerVersion(rawClient *kubewrapper.RawClient) (string, error)
ServerVersion will use discovery API to fetch version of Kubernetes control plane
func (*KubernetesProvider) WaitForControlPlane ¶
func (c *KubernetesProvider) WaitForControlPlane(meta *api.ClusterMeta, clientSet *kubewrapper.RawClient, waitTimeout time.Duration) error
WaitForControlPlane waits till the control plane is ready
type LoggingRetryer ¶
type LoggingRetryer struct { client.DefaultRetryer // contains filtered or unexported fields }
LoggingRetryer adds some logging when we are retrying, so we have some idea what is happening Right now it is very basic - e.g. it only logs when we retry (so doesn't log when we fail due to too many retries) It was copied from k8s.io/kops/upup/pkg/fi/cloudup/awsup/logging_retryer.go; the original version used glog, and didn't export the constructor
func (LoggingRetryer) RetryRules ¶
func (l LoggingRetryer) RetryRules(r *request.Request) time.Duration
RetryRules extends on DefaultRetryer.RetryRules
func (LoggingRetryer) ShouldRetry ¶
func (l LoggingRetryer) ShouldRetry(r *request.Request) bool
ShouldRetry uses DefaultRetryer.ShouldRetry but also checks for non-retryable EC2MetadataError (see #2564)
type NodeGroupService ¶
type NodeGroupService struct {
// contains filtered or unexported fields
}
A NodeGroupService provides helpers for nodegroup creation.
func NewNodeGroupService ¶
func NewNodeGroupService(provider api.ClusterProvider, instanceSelector InstanceSelector, outpostsService *outposts.Service) *NodeGroupService
NewNodeGroupService creates a new NodeGroupService.
func (*NodeGroupService) ExpandInstanceSelectorOptions ¶
func (n *NodeGroupService) ExpandInstanceSelectorOptions(nodePools []api.NodePool, clusterAZs []string) error
ExpandInstanceSelectorOptions sets instance types to instances matched by the instance selector criteria.
func (*NodeGroupService) Normalize ¶
func (n *NodeGroupService) Normalize(ctx context.Context, nodePools []api.NodePool, clusterConfig *api.ClusterConfig) error
Normalize normalizes nodegroups.
type ProviderServices ¶
type ProviderServices struct { *ServicesV2 // contains filtered or unexported fields }
ProviderServices stores the used APIs
func (ProviderServices) ASG ¶
func (p ProviderServices) ASG() awsapi.ASG
ASG returns a representation of the AutoScaling API
func (ProviderServices) CloudFormationDisableRollback ¶
func (p ProviderServices) CloudFormationDisableRollback() bool
CloudFormationDisableRollback returns whether stacks should not rollback on failure
func (ProviderServices) CloudFormationRoleARN ¶
func (p ProviderServices) CloudFormationRoleARN() string
CloudFormationRoleARN returns, if any, a service role used by CloudFormation to call AWS API on your behalf
func (ProviderServices) CloudTrail ¶
func (p ProviderServices) CloudTrail() awsapi.CloudTrail
CloudTrail returns a representation of the CloudTrail API
func (ProviderServices) CloudWatchLogs ¶
func (p ProviderServices) CloudWatchLogs() awsapi.CloudWatchLogs
CloudWatchLogs returns a representation of the CloudWatchLogs API.
func (ProviderServices) ConfigProvider ¶
func (p ProviderServices) ConfigProvider() client.ConfigProvider
func (ProviderServices) Profile ¶
func (p ProviderServices) Profile() api.Profile
Profile returns the provider-level AWS profile.
func (ProviderServices) Region ¶
func (p ProviderServices) Region() string
Region returns provider-level region setting
func (ProviderServices) Session ¶
func (p ProviderServices) Session() *session.Session
func (ProviderServices) WaitTimeout ¶
func (p ProviderServices) WaitTimeout() time.Duration
WaitTimeout returns provider-level duration after which any wait operation has to timeout
type ProviderStatus ¶
type ProviderStatus struct { IAMRoleARN string ClusterInfo *ClusterInfo SessionCreds SessionProvider }
ProviderStatus stores information about the used IAM role and the resulting session
type RetryerV2 ¶
RetryerV2 implements aws.Retryer
func (*RetryerV2) IsErrorRetryable ¶
IsErrorRetryable implements aws.Retryer
type ServicesV2 ¶
type ServicesV2 struct {
// contains filtered or unexported fields
}
ServicesV2 implements api.ServicesV2. The SDK clients are initialized lazily and guarded by a mutex.
func (*ServicesV2) CloudFormation ¶
func (s *ServicesV2) CloudFormation() awsapi.CloudFormation
CloudFormation implements the AWS CloudFormation service.
func (*ServicesV2) ELBV2 ¶
func (s *ServicesV2) ELBV2() awsapi.ELBV2
ELBV2 implements the ELBV2 service.
func (*ServicesV2) Outposts ¶
func (s *ServicesV2) Outposts() awsapi.Outposts
Outposts returns the AWS Outposts service.
func (*ServicesV2) STSPresigner ¶
func (s *ServicesV2) STSPresigner() api.STSPresigner
STSPresigner provides a signed STS client for calls to Kubernetes.
type SessionProvider ¶
type SessionProvider interface {
Get() (credentials.Value, error)
}
SessionProvider abstracts an aws credentials.Value provider.
type VPCControllerTask ¶
type VPCControllerTask struct { Context context.Context Info string ClusterProvider *ClusterProvider ClusterConfig *api.ClusterConfig PlanMode bool }
VPCControllerTask represents a task to install the VPC controller
func (*VPCControllerTask) Describe ¶
func (v *VPCControllerTask) Describe() string
Describe implements Task
func (*VPCControllerTask) Do ¶
func (v *VPCControllerTask) Do(errCh chan error) error
Do implements Task
type WindowsIPAMTask ¶
type WindowsIPAMTask struct { Info string ClientsetFunc func() (kubernetes.Interface, error) }
WindowsIPAMTask is a task for enabling Windows IPAM.
func (*WindowsIPAMTask) Describe ¶
func (w *WindowsIPAMTask) Describe() string
Describe implements Task.
func (*WindowsIPAMTask) Do ¶
func (w *WindowsIPAMTask) Do(errCh chan error) error
Do implements Task.