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 GetNodes(clientSet kubernetes.Interface, ng KubeNodeGroup) (int, 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 AWSConfigurationLoader
- 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(ctx context.Context) ([]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 ConfigurationLoader
- 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 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) Profile() api.Profile
- func (p ProviderServices) Region() string
- func (p ProviderServices) WaitTimeout() time.Duration
- type ProviderStatus
- type RetryerV2
- type ServicesV2
- func (s *ServicesV2) AWSConfig() aws.Config
- func (s *ServicesV2) CloudFormation() awsapi.CloudFormation
- func (s *ServicesV2) CredentialsProvider() aws.CredentialsProvider
- 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 VPCControllerTask
- type WindowsIPAMTask
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckInstanceAvailability ¶ added in v0.106.0
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 ¶ added in v0.99.0
func DoAllNodegroupStackTasks(taskTree *tasks.TaskTree, region, name string) error
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 GetNodes ¶ added in v0.137.0
func GetNodes(clientSet kubernetes.Interface, ng KubeNodeGroup) (int, error)
func GetUsername ¶ added in v0.99.0
func GetUsername(roleArn string) string
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 ¶ added in v0.80.0
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 ¶ added in v0.44.0
func ParseConfig(data []byte) (*api.ClusterConfig, error)
ParseConfig parses data into a ClusterConfig
func PlatformVersion ¶
func PlatformVersion(platformVersion string) (int, error)
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 ¶ added in v0.87.0
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 ¶ added in v0.99.0
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 ¶ added in v0.99.0
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 ¶ added in v0.97.0
func ValidateLocalZones(ctx context.Context, ec2API awsapi.EC2, localZones []string, region string) error
ValidateLocalZones validates that the specified local zones exist.
func WaitForNodes ¶ added in v0.99.0
func WaitForNodes(ctx context.Context, clientSet kubernetes.Interface, ng KubeNodeGroup) error
WaitForNodes waits till the nodes are ready
Types ¶
type AWSConfigurationLoader ¶ added in v0.153.0
type AWSConfigurationLoader interface {
LoadDefaultConfig(ctx context.Context, optFns ...func(*config.LoadOptions) error) (cfg aws.Config, err error)
}
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 ¶
type ClusterInfo struct {
Cluster *ekstypes.Cluster
}
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 ¶ added in v0.85.0
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 ¶ added in v0.40.0
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 ¶ added in v0.39.0
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(ctx context.Context) ([]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 ¶ added in v0.40.0
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 ¶ added in v0.73.0
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 ConfigurationLoader ¶ added in v0.153.0
type ConfigurationLoader struct {
AWSConfigurationLoader
}
func (ConfigurationLoader) LoadDefaultConfig ¶ added in v0.153.0
func (cl ConfigurationLoader) LoadDefaultConfig(ctx context.Context, optFns ...func(*config.LoadOptions) error) (aws.Config, error)
type FargateClient ¶
type FargateClient interface {
CreateProfile(ctx context.Context, profile *api.FargateProfile, waitForCreation bool) error
ListProfiles(ctx context.Context) ([]string, error)
}
type InstanceSelector ¶ added in v0.45.0
type InstanceSelector interface {
// Filter returns a set of instance types matching the specified instance selector filters.
Filter(context.Context, 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 ¶ added in v0.53.0
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 ¶ added in v0.99.0
type KubernetesProvider struct {
WaitTimeout time.Duration
RoleARN string
Signer api.STSPresigner
}
KubernetesProvider provides helper methods to handle Kubernetes operations.
func (*KubernetesProvider) NewClient ¶ added in v0.99.0
func (c *KubernetesProvider) NewClient(clusterInfo kubeconfig.ClusterInfo) (*Client, error)
NewClient creates a new client config.
func (*KubernetesProvider) NewRawClient ¶ added in v0.99.0
func (c *KubernetesProvider) NewRawClient(clusterInfo kubeconfig.ClusterInfo) (*kubewrapper.RawClient, error)
NewRawClient creates a new raw REST client.
func (*KubernetesProvider) NewStdClientSet ¶ added in v0.99.0
func (c *KubernetesProvider) NewStdClientSet(clusterInfo kubeconfig.ClusterInfo) (kubernetes.Interface, error)
NewStdClientSet creates a new API client.
func (*KubernetesProvider) ServerVersion ¶ added in v0.99.0
func (c *KubernetesProvider) ServerVersion(rawClient *kubewrapper.RawClient) (string, error)
ServerVersion will use discovery API to fetch version of Kubernetes control plane
func (*KubernetesProvider) WaitForControlPlane ¶ added in v0.101.0
func (c *KubernetesProvider) WaitForControlPlane(meta *api.ClusterMeta, clientSet *kubewrapper.RawClient, waitTimeout time.Duration) error
WaitForControlPlane waits till the control plane is ready
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 ¶ added in v0.44.0
func (n *NodeGroupService) ExpandInstanceSelectorOptions(nodePools []api.NodePool, clusterAZs []string) error
ExpandInstanceSelectorOptions sets instance types to instances matched by the instance selector criteria.
type ProviderServices ¶
type ProviderServices struct {
*ServicesV2
// contains filtered or unexported fields
}
ProviderServices stores the used APIs
func (ProviderServices) ASG ¶ added in v0.39.0
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 ¶ added in v0.73.0
func (p ProviderServices) CloudWatchLogs() awsapi.CloudWatchLogs
CloudWatchLogs returns a representation of the CloudWatchLogs API.
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) 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
}
ProviderStatus stores information about the used IAM role and the resulting session
type RetryerV2 ¶ added in v0.90.0
type RetryerV2 struct {
aws.Retryer
}
RetryerV2 implements aws.Retryer
func NewRetryerV2 ¶ added in v0.90.0
func NewRetryerV2() *RetryerV2
NewRetryerV2 returns a new *RetryerV2
func (*RetryerV2) IsErrorRetryable ¶ added in v0.90.0
func (r *RetryerV2) IsErrorRetryable(err error) bool
IsErrorRetryable implements aws.Retryer
type ServicesV2 ¶ added in v0.90.0
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 ¶ added in v0.95.0
func (s *ServicesV2) CloudFormation() awsapi.CloudFormation
CloudFormation implements the AWS CloudFormation service.
func (*ServicesV2) CredentialsProvider ¶ added in v0.148.0
func (s *ServicesV2) CredentialsProvider() aws.CredentialsProvider
func (*ServicesV2) EC2 ¶ added in v0.94.0
func (s *ServicesV2) EC2() awsapi.EC2
EC2 implements the AWS EC2 service.
func (*ServicesV2) EKS ¶ added in v0.98.0
func (s *ServicesV2) EKS() awsapi.EKS
EKS returns the AWS EKS service.
func (*ServicesV2) ELB ¶ added in v0.91.0
func (s *ServicesV2) ELB() awsapi.ELB
ELB implements the AWS ELB service.
func (*ServicesV2) ELBV2 ¶ added in v0.91.0
func (s *ServicesV2) ELBV2() awsapi.ELBV2
ELBV2 implements the ELBV2 service.
func (*ServicesV2) IAM ¶ added in v0.94.0
func (s *ServicesV2) IAM() awsapi.IAM
IAM implements the AWS IAM service.
func (*ServicesV2) Outposts ¶ added in v0.112.0
func (s *ServicesV2) Outposts() awsapi.Outposts
Outposts returns the AWS Outposts service.
func (*ServicesV2) SSM ¶ added in v0.91.0
func (s *ServicesV2) SSM() awsapi.SSM
SSM implements the AWS SSM service.
func (*ServicesV2) STS ¶ added in v0.92.0
func (s *ServicesV2) STS() awsapi.STS
STS implements the AWS STS service.
func (*ServicesV2) STSPresigner ¶ added in v0.92.0
func (s *ServicesV2) STSPresigner() api.STSPresigner
STSPresigner provides a signed STS client for calls to Kubernetes.
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
type WindowsIPAMTask ¶ added in v0.74.0
type WindowsIPAMTask struct {
Info string
ClientsetFunc func() (kubernetes.Interface, error)
}
WindowsIPAMTask is a task for enabling Windows IPAM.