atmos aws cloudformation stackset delete
Delete all stack instances and their resources, then delete the StackSet. Atmos waits for instance deletion to finish before removing the StackSet.
Configure templates, parameters, and delivery targets for your component.
Usage
atmos aws cloudformation stackset delete <component> --stack <stack> [options]
Examples
atmos aws cloudformation stackset delete vpc -s plat-ue2-dev
Skip the interactive confirmation prompt:
atmos aws cloudformation stackset delete vpc -s plat-ue2-dev --auto-approve
Delete StackSets for all or affected components in dependency order:
atmos aws cloudformation stackset delete --all -s plat-ue2-dev
atmos aws cloudformation stackset delete --affected --base origin/main
Deleting a StackSet that does not exist is not an error: stackset delete
prints <name> does not exist; nothing to delete and exits 0, the same as
delete does for a missing stack.
Arguments
component(required unless selecting multiple components)- CloudFormation component name in the Atmos stack.
Flags
--stack,-s(required for a single component)- Atmos stack. With
--all,--affected,--tags, or--labels, this is an optional stack filter; omit it to select components across stacks. --auto-approve(optional)- Skip the interactive confirmation prompt. Without it,
stackset deleteprompts for confirmation on a TTY before deleting the StackSet. --all(optional)- Process all
aws/cloudformationcomponents. Deployment runs dependencies first; deletion runs consumers first. --affected(optional)- Process affected
aws/cloudformationcomponents and their dependencies. Compares the working tree against a base: see--baseand the Git flags below. --include-dependents(optional)- With
--affected, include dependentaws/cloudformationcomponents. --base(optional)- Git base ref or SHA to compare against for affected detection:
--base=origin/main. A value that looks like a commit SHA is treated as--sha, anything else as--ref. Used with--affected. --tags(optional)- Filter by tags (comma-separated, matches any):
--tags=production,tier-1. Composes with--all/--affectedto narrow the selected set further; cannot be combined with a single component argument. --labels(optional)- Filter by labels (repeatable and/or comma-separated
key=valueorkey:valuepairs, matches all):--labels=cost-center=platform,compliance=sox. Composes with--all/--affected/--tags; cannot be combined with a single component argument. --ci(optional)- Enable CI integration for supported operations when
ci.enabledis configured. Summary and output-variable publishing use their respective CI settings. Also enabled byCIandATMOS_CI. --ref(optional)- Git ref to compare against for affected detection. Used with
--affected. --sha(optional)- Git SHA to compare against for affected detection. Used with
--affected. --repo-path(optional)- Path to an already cloned target repository to use as the affected baseline. Used with
--affected. --clone-target-ref(optional)- Clone the target ref instead of checking it out in the current repository for affected detection. Used with
--affected. --ssh-key(optional)- Path to the SSH private key used to clone the target ref for affected detection. Used with
--clone-target-ref. --ssh-key-password(optional)- Password for the SSH private key used to clone the target ref for affected detection. Used with
--clone-target-ref.
Behavior
stackset delete acts directly on the StackSet whose name matches the
component's stack_name — it takes no --target flag and does not need a
kind: aws/stackset provision target declared. The DeleteStackInstances
operation is polled every 3 seconds until it reaches a terminal status
(SUCCEEDED/FAILED/STOPPED), and the command times out after 30 minutes
if it hasn't.
Before deletion, Atmos describes the existing StackSet to determine its
permission model. Deleting instances currently supports SELF_MANAGED
permissions only. A SERVICE_MANAGED StackSet with instances is rejected
before anything is deleted; remove those instances with AWS CloudFormation
first. Empty service-managed StackSets can still be deleted with Atmos.
This command does not fire lifecycle hooks.