Documentation ¶
Index ¶
- func GetEksctlVersionFromTags(tags []types.Tag) (semver.Version, bool, error)
- func GetIAMServiceAccountName(s *Stack) string
- func GetNodeGroupType(tags []types.Tag) (api.NodeGroupType, error)
- func GetNodegroupTagName(tags []types.Tag) string
- func IsStackDoesNotExistError(err error) bool
- type ChangeSet
- type DeleteUnownedNodegroupTask
- type DeleteWaitCondition
- type GetNodegroupOption
- type NewOIDCManager
- type NodeGroupStack
- type Stack
- type StackCollection
- func (c *StackCollection) AppendNewClusterStackResource(ctx context.Context, extendForOutposts, plan bool) (bool, error)
- func (c *StackCollection) ClusterHasDedicatedVPC(ctx context.Context) (bool, error)
- func (c *StackCollection) CreateStack(ctx context.Context, stackName string, resourceSet builder.ResourceSetReader, ...) error
- func (c *StackCollection) DeleteStackBySpec(ctx context.Context, s *Stack) (*Stack, error)
- func (c *StackCollection) DeleteStackBySpecSync(ctx context.Context, s *Stack, errs chan error) error
- func (c *StackCollection) DeleteStackSync(ctx context.Context, s *Stack) error
- func (c *StackCollection) DeleteTasksForDeprecatedStacks(ctx context.Context) (*tasks.TaskTree, error)
- func (c *StackCollection) DescribeClusterStack(ctx context.Context) (*Stack, error)
- func (c *StackCollection) DescribeClusterStackIfExists(ctx context.Context) (*Stack, error)
- func (c *StackCollection) DescribeIAMServiceAccountStacks(ctx context.Context) ([]*Stack, error)
- func (c *StackCollection) DescribeNodeGroupStack(ctx context.Context, nodeGroupName string) (*Stack, error)
- func (c *StackCollection) DescribeNodeGroupStacksAndResources(ctx context.Context) (map[string]StackInfo, error)
- func (c *StackCollection) DescribeStack(ctx context.Context, i *Stack) (*Stack, error)
- func (c *StackCollection) DescribeStackChangeSet(ctx context.Context, i *Stack, changeSetName string) (*ChangeSet, error)
- func (c *StackCollection) DescribeStackEvents(ctx context.Context, i *Stack) ([]types.StackEvent, error)
- func (c *StackCollection) DoCreateStackRequest(ctx context.Context, i *Stack, templateData TemplateData, ...) error
- func (c *StackCollection) DoWaitUntilStackIsCreated(ctx context.Context, i *Stack) error
- func (c *StackCollection) EnsureMapPublicIPOnLaunchEnabled(ctx context.Context) error
- func (c *StackCollection) FixClusterCompatibility(ctx context.Context) error
- func (c *StackCollection) GetAutoScalingGroupDesiredCapacity(ctx context.Context, name string) (asgtypes.AutoScalingGroup, error)
- func (c *StackCollection) GetAutoScalingGroupName(ctx context.Context, s *Stack) (string, error)
- func (c *StackCollection) GetClusterStackIfExists(ctx context.Context) (*Stack, error)
- func (c *StackCollection) GetFargateStack(ctx context.Context) (*Stack, error)
- func (*StackCollection) GetIAMAddonName(s *Stack) string
- func (c *StackCollection) GetIAMAddonsStacks(ctx context.Context) ([]*Stack, error)
- func (c *StackCollection) GetIAMServiceAccounts(ctx context.Context) ([]*api.ClusterIAMServiceAccount, error)
- func (c *StackCollection) GetKarpenterStack(ctx context.Context) (*Stack, error)
- func (c *StackCollection) GetManagedNodeGroupTemplate(ctx context.Context, options GetNodegroupOption) (string, error)
- func (*StackCollection) GetNodeGroupName(s *Stack) string
- func (c *StackCollection) GetNodeGroupStackType(ctx context.Context, options GetNodegroupOption) (api.NodeGroupType, error)
- func (c *StackCollection) GetStackTemplate(ctx context.Context, stackName string) (string, error)
- func (c *StackCollection) GetUnmanagedNodeGroupAutoScalingGroupName(ctx context.Context, s *Stack) (string, error)
- func (c *StackCollection) HasClusterStackFromList(ctx context.Context, clusterStackNames []string, clusterName string) (bool, error)
- func (c *StackCollection) ListClusterStackNames(ctx context.Context) ([]string, error)
- func (c *StackCollection) ListIAMServiceAccountStacks(ctx context.Context) ([]string, error)
- func (c *StackCollection) ListNodeGroupStacks(ctx context.Context) ([]*Stack, error)
- func (c *StackCollection) ListNodeGroupStacksWithStatuses(ctx context.Context) ([]NodeGroupStack, error)
- func (c *StackCollection) ListStacks(ctx context.Context) ([]*Stack, error)
- func (c *StackCollection) ListStacksMatching(ctx context.Context, nameRegex string, statusFilters ...types.StackStatus) ([]*Stack, error)
- func (c *StackCollection) ListStacksWithStatuses(ctx context.Context, statusFilters ...types.StackStatus) ([]*Stack, error)
- func (c *StackCollection) LookupCloudTrailEvents(ctx context.Context, i *Stack) ([]cttypes.Event, error)
- func (c *StackCollection) MakeChangeSetName(action string) string
- func (c *StackCollection) MakeClusterStackName() string
- func (c *StackCollection) MakeClusterStackNameFromName(name string) string
- func (c *StackCollection) NewManagedNodeGroupTask(ctx context.Context, nodeGroups []*api.ManagedNodeGroup, ...) *tasks.TaskTree
- func (c *StackCollection) NewTaskToDeleteAddonIAM(ctx context.Context, wait bool) (*tasks.TaskTree, error)
- func (c *StackCollection) NewTaskToDeleteUnownedNodeGroup(ctx context.Context, clusterName, nodegroup string, eksAPI awsapi.EKS, ...) tasks.Task
- func (c *StackCollection) NewTasksToCreateClusterWithNodeGroups(ctx context.Context, nodeGroups []*api.NodeGroup, ...) *tasks.TaskTree
- func (c *StackCollection) NewTasksToCreateIAMServiceAccounts(serviceAccounts []*api.ClusterIAMServiceAccount, ...) *tasks.TaskTree
- func (c *StackCollection) NewTasksToDeleteClusterWithNodeGroups(ctx context.Context, clusterStack *Stack, nodeGroupStacks []NodeGroupStack, ...) (*tasks.TaskTree, error)
- func (c *StackCollection) NewTasksToDeleteIAMServiceAccounts(ctx context.Context, serviceAccounts []string, ...) (*tasks.TaskTree, error)
- func (c *StackCollection) NewTasksToDeleteNodeGroups(nodeGroupStacks []NodeGroupStack, shouldDelete func(string) bool, wait bool, ...) (*tasks.TaskTree, error)
- func (c *StackCollection) NewTasksToDeleteOIDCProviderWithIAMServiceAccounts(ctx context.Context, newOIDCManager NewOIDCManager, cluster *ekstypes.Cluster, ...) (*tasks.TaskTree, error)
- func (c *StackCollection) NewUnmanagedNodeGroupTask(ctx context.Context, nodeGroups []*api.NodeGroup, forceAddCNIPolicy bool, ...) *tasks.TaskTree
- func (c *StackCollection) PropagateManagedNodeGroupTagsToASG(ngName string, ngTags map[string]string, asgNames []string, errCh chan error) error
- func (c *StackCollection) RefreshFargatePodExecutionRoleARN(ctx context.Context) error
- func (*StackCollection) StackStatusIsNotTransitional(s *Stack) bool
- func (c *StackCollection) UpdateNodeGroupStack(ctx context.Context, nodeGroupName, template string, wait bool) error
- func (c *StackCollection) UpdateStack(ctx context.Context, options UpdateStackOptions) error
- type StackInfo
- type StackManager
- type StackNotFoundErr
- type TemplateBody
- type TemplateData
- type TemplateURL
- type UpdateStackOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetEksctlVersionFromTags ¶
GetEksctlVersionFromTags returns the eksctl version used to create or update the stack
func GetIAMServiceAccountName ¶
GetIAMServiceAccountName will return iamserviceaccount name based on tags
func GetNodeGroupType ¶
func GetNodeGroupType(tags []types.Tag) (api.NodeGroupType, error)
GetNodeGroupType returns the nodegroup type
func GetNodegroupTagName ¶
GetNodegroupTagName returns the nodegroup name of a stack based on its tags. Taking into account legacy tags.
Types ¶
type ChangeSet ¶
type ChangeSet = cloudformation.DescribeChangeSetOutput
ChangeSet represents a CloudFormation ChangeSet
type DeleteUnownedNodegroupTask ¶
type DeleteUnownedNodegroupTask struct {
// contains filtered or unexported fields
}
func (*DeleteUnownedNodegroupTask) Describe ¶
func (d *DeleteUnownedNodegroupTask) Describe() string
func (*DeleteUnownedNodegroupTask) Do ¶
func (d *DeleteUnownedNodegroupTask) Do() error
type DeleteWaitCondition ¶
type GetNodegroupOption ¶
type GetNodegroupOption struct { Stack *NodeGroupStack NodeGroupName string }
GetNodegroupOption nodegroup options.
type NewOIDCManager ¶
type NewOIDCManager func() (*iamoidc.OpenIDConnectManager, error)
type NodeGroupStack ¶
type NodeGroupStack struct { NodeGroupName string Type api.NodeGroupType Stack *Stack }
NodeGroupStack represents a nodegroup and its type
type StackCollection ¶
type StackCollection struct {
// contains filtered or unexported fields
}
StackCollection stores the CloudFormation stack information
func (*StackCollection) AppendNewClusterStackResource ¶
func (c *StackCollection) AppendNewClusterStackResource(ctx context.Context, extendForOutposts, plan bool) (bool, error)
AppendNewClusterStackResource will update cluster stack with new resources in append-only way
func (*StackCollection) ClusterHasDedicatedVPC ¶
func (c *StackCollection) ClusterHasDedicatedVPC(ctx context.Context) (bool, error)
ClusterHasDedicatedVPC returns true if the cluster was created with a dedicated VPC.
func (*StackCollection) CreateStack ¶
func (c *StackCollection) CreateStack(ctx context.Context, stackName string, resourceSet builder.ResourceSetReader, tags, parameters map[string]string, errs chan error) error
CreateStack with given name, stack builder instance and parameters; any errors will be written to errs channel, when nil is written, assume completion, do not expect more then one error value on the channel, it's closed immediately after it is written to
func (*StackCollection) DeleteStackBySpec ¶
DeleteStackBySpec sends a request to delete the stack
func (*StackCollection) DeleteStackBySpecSync ¶
func (c *StackCollection) DeleteStackBySpecSync(ctx context.Context, s *Stack, errs chan error) error
DeleteStackBySpecSync sends a request to delete the stack, and waits until status is DELETE_COMPLETE; any errors will be written to errs channel, assume completion when nil is written, do not expect more then one error value on the channel, it's closed immediately after it is written to
func (*StackCollection) DeleteStackSync ¶
func (c *StackCollection) DeleteStackSync(ctx context.Context, s *Stack) error
DeleteStackSync sends a request to delete the stack, and waits until status is DELETE_COMPLETE;
func (*StackCollection) DeleteTasksForDeprecatedStacks ¶
func (c *StackCollection) DeleteTasksForDeprecatedStacks(ctx context.Context) (*tasks.TaskTree, error)
DeleteTasksForDeprecatedStacks deletes all deprecated stacks.
func (*StackCollection) DescribeClusterStack ¶
func (c *StackCollection) DescribeClusterStack(ctx context.Context) (*Stack, error)
DescribeClusterStack returns the cluster stack. If the stack does not exist, it returns an error.
func (*StackCollection) DescribeClusterStackIfExists ¶
func (c *StackCollection) DescribeClusterStackIfExists(ctx context.Context) (*Stack, error)
DescribeClusterStackIfExists calls ListStacks and filters out cluster stack. If the stack does not exist, it returns nil.
func (*StackCollection) DescribeIAMServiceAccountStacks ¶
func (c *StackCollection) DescribeIAMServiceAccountStacks(ctx context.Context) ([]*Stack, error)
DescribeIAMServiceAccountStacks calls ListStacks and filters out iamserviceaccounts
func (*StackCollection) DescribeNodeGroupStack ¶
func (c *StackCollection) DescribeNodeGroupStack(ctx context.Context, nodeGroupName string) (*Stack, error)
DescribeNodeGroupStack gets the specified nodegroup stack
func (*StackCollection) DescribeNodeGroupStacksAndResources ¶
func (c *StackCollection) DescribeNodeGroupStacksAndResources(ctx context.Context) (map[string]StackInfo, error)
DescribeNodeGroupStacksAndResources calls DescribeNodeGroupStackList and fetches all resources, then returns it in a map by nodegroup name
func (*StackCollection) DescribeStack ¶
DescribeStack describes a cloudformation stack.
func (*StackCollection) DescribeStackChangeSet ¶
func (c *StackCollection) DescribeStackChangeSet(ctx context.Context, i *Stack, changeSetName string) (*ChangeSet, error)
DescribeStackChangeSet describes a ChangeSet by name
func (*StackCollection) DescribeStackEvents ¶
func (c *StackCollection) DescribeStackEvents(ctx context.Context, i *Stack) ([]types.StackEvent, error)
DescribeStackEvents describes the events that have occurred on the stack
func (*StackCollection) DoCreateStackRequest ¶
func (c *StackCollection) DoCreateStackRequest(ctx context.Context, i *Stack, templateData TemplateData, tags, parameters map[string]string, withIAM bool, withNamedIAM bool) error
DoCreateStackRequest requests the creation of a CloudFormation stack
func (*StackCollection) DoWaitUntilStackIsCreated ¶
func (c *StackCollection) DoWaitUntilStackIsCreated(ctx context.Context, i *Stack) error
DoWaitUntilStackIsCreated blocks until the given stack's creation has completed.
func (*StackCollection) EnsureMapPublicIPOnLaunchEnabled ¶
func (c *StackCollection) EnsureMapPublicIPOnLaunchEnabled(ctx context.Context) error
EnsureMapPublicIPOnLaunchEnabled sets this subnet property to true when it is not set or is set to false
func (*StackCollection) FixClusterCompatibility ¶
func (c *StackCollection) FixClusterCompatibility(ctx context.Context) error
FixClusterCompatibility adds any resources missing in the CloudFormation stack in order to support new features like Managed Nodegroups and Fargate
func (*StackCollection) GetAutoScalingGroupDesiredCapacity ¶
func (c *StackCollection) GetAutoScalingGroupDesiredCapacity(ctx context.Context, name string) (asgtypes.AutoScalingGroup, error)
func (*StackCollection) GetAutoScalingGroupName ¶
func (*StackCollection) GetClusterStackIfExists ¶
func (c *StackCollection) GetClusterStackIfExists(ctx context.Context) (*Stack, error)
func (*StackCollection) GetFargateStack ¶
func (c *StackCollection) GetFargateStack(ctx context.Context) (*Stack, error)
GetFargateStack returns the stack holding the fargate IAM resources, if any
func (*StackCollection) GetIAMAddonName ¶
func (*StackCollection) GetIAMAddonName(s *Stack) string
func (*StackCollection) GetIAMAddonsStacks ¶
func (c *StackCollection) GetIAMAddonsStacks(ctx context.Context) ([]*Stack, error)
func (*StackCollection) GetIAMServiceAccounts ¶
func (c *StackCollection) GetIAMServiceAccounts(ctx context.Context) ([]*api.ClusterIAMServiceAccount, error)
GetIAMServiceAccounts calls DescribeIAMServiceAccountStacks and return native iamserviceaccounts
func (*StackCollection) GetKarpenterStack ¶
func (c *StackCollection) GetKarpenterStack(ctx context.Context) (*Stack, error)
GetKarpenterStack returns the stack holding the karpenter IAM resources
func (*StackCollection) GetManagedNodeGroupTemplate ¶
func (c *StackCollection) GetManagedNodeGroupTemplate(ctx context.Context, options GetNodegroupOption) (string, error)
GetManagedNodeGroupTemplate returns the template for a ManagedNodeGroup resource
func (*StackCollection) GetNodeGroupName ¶
func (*StackCollection) GetNodeGroupName(s *Stack) string
GetNodeGroupName will return nodegroup name based on tags
func (*StackCollection) GetNodeGroupStackType ¶
func (c *StackCollection) GetNodeGroupStackType(ctx context.Context, options GetNodegroupOption) (api.NodeGroupType, error)
GetNodeGroupStackType returns the nodegroup stack type
func (*StackCollection) GetStackTemplate ¶
GetStackTemplate gets the Cloudformation template for a stack and returns a json string representation
func (*StackCollection) GetUnmanagedNodeGroupAutoScalingGroupName ¶
func (c *StackCollection) GetUnmanagedNodeGroupAutoScalingGroupName(ctx context.Context, s *Stack) (string, error)
GetNodeGroupAutoScalingGroupName returns the unmanaged nodegroup's AutoScalingGroupName
func (*StackCollection) HasClusterStackFromList ¶
func (*StackCollection) ListClusterStackNames ¶
func (c *StackCollection) ListClusterStackNames(ctx context.Context) ([]string, error)
ListClusterStackNames gets all stack names matching regex
func (*StackCollection) ListIAMServiceAccountStacks ¶
func (c *StackCollection) ListIAMServiceAccountStacks(ctx context.Context) ([]string, error)
ListIAMServiceAccountStacks calls DescribeIAMServiceAccountStacks and returns only iamserviceaccount names
func (*StackCollection) ListNodeGroupStacks ¶
func (c *StackCollection) ListNodeGroupStacks(ctx context.Context) ([]*Stack, error)
ListNodeGroupStacks calls ListStacks and filters out nodegroups
func (*StackCollection) ListNodeGroupStacksWithStatuses ¶
func (c *StackCollection) ListNodeGroupStacksWithStatuses(ctx context.Context) ([]NodeGroupStack, error)
ListNodeGroupStacks returns a list of NodeGroupStacks
func (*StackCollection) ListStacks ¶
func (c *StackCollection) ListStacks(ctx context.Context) ([]*Stack, error)
ListStacks describes the existing stacks
func (*StackCollection) ListStacksMatching ¶
func (c *StackCollection) ListStacksMatching(ctx context.Context, nameRegex string, statusFilters ...types.StackStatus) ([]*Stack, error)
ListStacksMatching gets all of CloudFormation stacks with names matching nameRegex.
func (*StackCollection) ListStacksWithStatuses ¶
func (c *StackCollection) ListStacksWithStatuses(ctx context.Context, statusFilters ...types.StackStatus) ([]*Stack, error)
ListStacksWithStatuses gets all of CloudFormation stacks
func (*StackCollection) LookupCloudTrailEvents ¶
func (*StackCollection) MakeChangeSetName ¶
func (c *StackCollection) MakeChangeSetName(action string) string
MakeChangeSetName builds a consistent name for a changeset.
func (*StackCollection) MakeClusterStackName ¶
func (c *StackCollection) MakeClusterStackName() string
func (*StackCollection) MakeClusterStackNameFromName ¶
func (c *StackCollection) MakeClusterStackNameFromName(name string) string
func (*StackCollection) NewManagedNodeGroupTask ¶
func (c *StackCollection) NewManagedNodeGroupTask(ctx context.Context, nodeGroups []*api.ManagedNodeGroup, forceAddCNIPolicy bool, vpcImporter vpc.Importer) *tasks.TaskTree
NewManagedNodeGroupTask defines tasks required to create managed nodegroups
func (*StackCollection) NewTaskToDeleteAddonIAM ¶
func (c *StackCollection) NewTaskToDeleteAddonIAM(ctx context.Context, wait bool) (*tasks.TaskTree, error)
NewTaskToDeleteAddonIAM defines tasks required to delete all of the addons
func (*StackCollection) NewTaskToDeleteUnownedNodeGroup ¶
func (c *StackCollection) NewTaskToDeleteUnownedNodeGroup(ctx context.Context, clusterName, nodegroup string, eksAPI awsapi.EKS, waitCondition *DeleteWaitCondition) tasks.Task
func (*StackCollection) NewTasksToCreateClusterWithNodeGroups ¶
func (c *StackCollection) NewTasksToCreateClusterWithNodeGroups(ctx context.Context, nodeGroups []*api.NodeGroup, managedNodeGroups []*api.ManagedNodeGroup, postClusterCreationTasks ...tasks.Task) *tasks.TaskTree
NewTasksToCreateClusterWithNodeGroups defines all tasks required to create a cluster along with some nodegroups; see CreateAllNodeGroups for how onlyNodeGroupSubset works.
func (*StackCollection) NewTasksToCreateIAMServiceAccounts ¶
func (c *StackCollection) NewTasksToCreateIAMServiceAccounts(serviceAccounts []*api.ClusterIAMServiceAccount, oidc *iamoidc.OpenIDConnectManager, clientSetGetter kubernetes.ClientSetGetter) *tasks.TaskTree
NewTasksToCreateIAMServiceAccounts defines tasks required to create all of the IAM ServiceAccounts
func (*StackCollection) NewTasksToDeleteClusterWithNodeGroups ¶
func (c *StackCollection) NewTasksToDeleteClusterWithNodeGroups(ctx context.Context, clusterStack *Stack, nodeGroupStacks []NodeGroupStack, clusterOperable bool, newOIDCManager NewOIDCManager, cluster *ekstypes.Cluster, clientSetGetter kubernetes.ClientSetGetter, wait, force bool, cleanup func(chan error, string) error) (*tasks.TaskTree, error)
NewTasksToDeleteClusterWithNodeGroups defines tasks required to delete the given cluster along with all of its resources
func (*StackCollection) NewTasksToDeleteIAMServiceAccounts ¶
func (c *StackCollection) NewTasksToDeleteIAMServiceAccounts(ctx context.Context, serviceAccounts []string, clientSetGetter kubernetes.ClientSetGetter, wait bool) (*tasks.TaskTree, error)
NewTasksToDeleteIAMServiceAccounts defines tasks required to delete all of the iamserviceaccounts
func (*StackCollection) NewTasksToDeleteNodeGroups ¶
func (c *StackCollection) NewTasksToDeleteNodeGroups(nodeGroupStacks []NodeGroupStack, shouldDelete func(string) bool, wait bool, cleanup func(chan error, string) error) (*tasks.TaskTree, error)
NewTasksToDeleteNodeGroups defines tasks required to delete all of the nodegroups
func (*StackCollection) NewTasksToDeleteOIDCProviderWithIAMServiceAccounts ¶
func (c *StackCollection) NewTasksToDeleteOIDCProviderWithIAMServiceAccounts(ctx context.Context, newOIDCManager NewOIDCManager, cluster *ekstypes.Cluster, clientSetGetter kubernetes.ClientSetGetter, force bool) (*tasks.TaskTree, error)
NewTasksToDeleteOIDCProviderWithIAMServiceAccounts defines tasks required to delete all of the iamserviceaccounts along with associated IAM OIDC provider
func (*StackCollection) NewUnmanagedNodeGroupTask ¶
func (c *StackCollection) NewUnmanagedNodeGroupTask(ctx context.Context, nodeGroups []*api.NodeGroup, forceAddCNIPolicy bool, vpcImporter vpc.Importer) *tasks.TaskTree
NewUnmanagedNodeGroupTask defines tasks required to create all of the nodegroups
func (*StackCollection) PropagateManagedNodeGroupTagsToASG ¶
func (*StackCollection) RefreshFargatePodExecutionRoleARN ¶
func (c *StackCollection) RefreshFargatePodExecutionRoleARN(ctx context.Context) error
RefreshFargatePodExecutionRoleARN reads the CloudFormation stacks and their output values, and sets the Fargate pod execution role ARN to the ClusterConfig. If there is no cluster stack found but a fargate stack exists, use the output from that stack.
func (*StackCollection) StackStatusIsNotTransitional ¶
func (*StackCollection) StackStatusIsNotTransitional(s *Stack) bool
StackStatusIsNotTransitional will return true when stack status is non-transitional
func (*StackCollection) UpdateNodeGroupStack ¶
func (c *StackCollection) UpdateNodeGroupStack(ctx context.Context, nodeGroupName, template string, wait bool) error
UpdateNodeGroupStack updates the nodegroup stack with the specified template
func (*StackCollection) UpdateStack ¶
func (c *StackCollection) UpdateStack(ctx context.Context, options UpdateStackOptions) error
UpdateStack will update a CloudFormation stack by creating and executing a ChangeSet
type StackInfo ¶
type StackInfo struct { Stack *Stack Resources []types.StackResource }
StackInfo hold the stack along with template and resources
type StackManager ¶
type StackManager interface { AppendNewClusterStackResource(ctx context.Context, extendForOutposts, plan bool) (bool, error) CreateStack(ctx context.Context, name string, stack builder.ResourceSetReader, tags, parameters map[string]string, errs chan error) error DeleteStackBySpec(ctx context.Context, s *Stack) (*Stack, error) DeleteStackBySpecSync(ctx context.Context, s *Stack, errs chan error) error DeleteStackSync(ctx context.Context, s *Stack) error DeleteTasksForDeprecatedStacks(ctx context.Context) (*tasks.TaskTree, error) DescribeClusterStackIfExists(ctx context.Context) (*Stack, error) DescribeClusterStack(ctx context.Context) (*Stack, error) DescribeIAMServiceAccountStacks(ctx context.Context) ([]*Stack, error) DescribeNodeGroupStack(ctx context.Context, nodeGroupName string) (*Stack, error) DescribeNodeGroupStacksAndResources(ctx context.Context) (map[string]StackInfo, error) DescribeStack(ctx context.Context, i *Stack) (*Stack, error) DescribeStackChangeSet(ctx context.Context, i *Stack, changeSetName string) (*ChangeSet, error) DescribeStackEvents(ctx context.Context, i *Stack) ([]cfntypes.StackEvent, error) DoCreateStackRequest(ctx context.Context, i *Stack, templateData TemplateData, tags, parameters map[string]string, withIAM bool, withNamedIAM bool) error DoWaitUntilStackIsCreated(ctx context.Context, i *Stack) error EnsureMapPublicIPOnLaunchEnabled(ctx context.Context) error FixClusterCompatibility(ctx context.Context) error ClusterHasDedicatedVPC(ctx context.Context) (bool, error) GetAutoScalingGroupDesiredCapacity(ctx context.Context, name string) (asgtypes.AutoScalingGroup, error) GetAutoScalingGroupName(ctx context.Context, s *Stack) (string, error) GetClusterStackIfExists(ctx context.Context) (*Stack, error) GetFargateStack(ctx context.Context) (*Stack, error) GetIAMAddonName(s *Stack) string GetIAMAddonsStacks(ctx context.Context) ([]*Stack, error) GetIAMServiceAccounts(ctx context.Context) ([]*v1alpha5.ClusterIAMServiceAccount, error) GetKarpenterStack(ctx context.Context) (*Stack, error) GetManagedNodeGroupTemplate(ctx context.Context, options GetNodegroupOption) (string, error) GetNodeGroupName(s *Stack) string GetNodeGroupStackType(ctx context.Context, options GetNodegroupOption) (v1alpha5.NodeGroupType, error) GetStackTemplate(ctx context.Context, stackName string) (string, error) GetUnmanagedNodeGroupAutoScalingGroupName(ctx context.Context, s *Stack) (string, error) HasClusterStackFromList(ctx context.Context, clusterStackNames []string, clusterName string) (bool, error) ListClusterStackNames(ctx context.Context) ([]string, error) ListIAMServiceAccountStacks(ctx context.Context) ([]string, error) ListNodeGroupStacks(ctx context.Context) ([]*Stack, error) ListNodeGroupStacksWithStatuses(ctx context.Context) ([]NodeGroupStack, error) ListStacks(ctx context.Context) ([]*Stack, error) ListStacksWithStatuses(ctx context.Context, statusFilters ...cfntypes.StackStatus) ([]*Stack, error) ListStacksMatching(ctx context.Context, nameRegex string, statusFilters ...cfntypes.StackStatus) ([]*Stack, error) LookupCloudTrailEvents(ctx context.Context, i *Stack) ([]cttypes.Event, error) MakeChangeSetName(action string) string MakeClusterStackName() string NewManagedNodeGroupTask(ctx context.Context, nodeGroups []*v1alpha5.ManagedNodeGroup, forceAddCNIPolicy bool, importer vpc.Importer) *tasks.TaskTree NewTaskToDeleteAddonIAM(ctx context.Context, wait bool) (*tasks.TaskTree, error) NewTaskToDeleteUnownedNodeGroup(ctx context.Context, clusterName, nodegroup string, eksAPI awsapi.EKS, waitCondition *DeleteWaitCondition) tasks.Task NewTasksToCreateClusterWithNodeGroups(ctx context.Context, nodeGroups []*v1alpha5.NodeGroup, managedNodeGroups []*v1alpha5.ManagedNodeGroup, postClusterCreationTasks ...tasks.Task) *tasks.TaskTree NewTasksToCreateIAMServiceAccounts(serviceAccounts []*v1alpha5.ClusterIAMServiceAccount, oidc *iamoidc.OpenIDConnectManager, clientSetGetter kubernetes.ClientSetGetter) *tasks.TaskTree NewTasksToDeleteClusterWithNodeGroups(ctx context.Context, clusterStack *Stack, nodeGroupStacks []NodeGroupStack, clusterOperable bool, newOIDCManager NewOIDCManager, cluster *ekstypes.Cluster, clientSetGetter kubernetes.ClientSetGetter, wait, force bool, cleanup func(chan error, string) error) (*tasks.TaskTree, error) NewTasksToDeleteIAMServiceAccounts(ctx context.Context, serviceAccounts []string, clientSetGetter kubernetes.ClientSetGetter, wait bool) (*tasks.TaskTree, error) NewTasksToDeleteNodeGroups(stacks []NodeGroupStack, shouldDelete func(_ string) bool, wait bool, cleanup func(chan error, string) error) (*tasks.TaskTree, error) NewTasksToDeleteOIDCProviderWithIAMServiceAccounts(ctx context.Context, newOIDCManager NewOIDCManager, cluster *ekstypes.Cluster, clientSetGetter kubernetes.ClientSetGetter, force bool) (*tasks.TaskTree, error) NewUnmanagedNodeGroupTask(ctx context.Context, nodeGroups []*v1alpha5.NodeGroup, forceAddCNIPolicy bool, importer vpc.Importer) *tasks.TaskTree PropagateManagedNodeGroupTagsToASG(ngName string, ngTags map[string]string, asgNames []string, errCh chan error) error RefreshFargatePodExecutionRoleARN(ctx context.Context) error StackStatusIsNotTransitional(s *Stack) bool UpdateNodeGroupStack(ctx context.Context, nodeGroupName, template string, wait bool) error UpdateStack(ctx context.Context, options UpdateStackOptions) error }
func NewStackCollection ¶
func NewStackCollection(provider api.ClusterProvider, spec *api.ClusterConfig) StackManager
NewStackCollection creates a stack manager for a single cluster
type StackNotFoundErr ¶
type StackNotFoundErr struct {
ClusterName string
}
func (*StackNotFoundErr) Error ¶
func (e *StackNotFoundErr) Error() string
type TemplateData ¶
type TemplateData interface {
// contains filtered or unexported methods
}
TemplateData is a union (sum type) to describe template data.
type UpdateStackOptions ¶
type UpdateStackOptions struct { Stack *Stack StackName string ChangeSetName string Description string TemplateData TemplateData Parameters map[string]string Wait bool }
UpdateStackOptions contains options for updating a stack.