Skip to main content

atmos aws cloudformation stackset delete

Delete a CloudFormation StackSet. CloudFormation requires every stack instance to be removed before the StackSet itself can be deleted, so stackset delete lists the StackSet's current instances, deletes them all (DeleteStackInstances, retaining no resources) if any exist, waits for that operation to finish, and only then deletes the StackSet (DeleteStackSet).

Experimental
atmos aws cloudformation stackset delete --help
 

Usage​

atmos aws cloudformation stackset delete <component> --stack <stack> [options]
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.

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 delete prompts for confirmation on a TTY before deleting the StackSet.
--all (optional)
Process all aws/cloudformation components in dependency order.
--affected (optional)
Process affected aws/cloudformation components and their dependencies. Compares the working tree against a base: see --base and the Git flags below.
--include-dependents (optional)
With --affected, include dependent aws/cloudformation components.
--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/--affected to narrow the selected set further; cannot be combined with a single component argument.
--labels (optional)
Filter by labels (repeatable and/or comma-separated key=value or key:value pairs, matches all): --labels=cost-center=platform,compliance=sox. Composes with --all/--affected/--tags; cannot be combined with a single component argument.
--ci (optional)
Enable native CI integration (requires ci.enabled): writes the job summary and output variables for the operation. Also enabled by the CI and ATMOS_CI environment variables.
--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.

note

stackset delete does not fire before/after hook events — only apply, diff, delete, drift detect, and drift describe do.