Skip to main content

atmos aws cloudformation delete

Delete the CloudFormation stack for a component (DeleteStack), then stream stack events until the stack is gone, ending with the stack's own DELETE_COMPLETE event and a Deleted stack confirmation. Termination protection is always respected — Atmos never disables it silently.

Experimental
atmos aws cloudformation delete --help
 

Usage​

atmos aws cloudformation delete <component> --stack <stack> [options]
atmos aws cloudformation delete vpc -s plat-ue2-dev

Skip the interactive confirmation prompt:

atmos aws cloudformation delete vpc -s plat-ue2-dev --auto-approve

Retry a DELETE_FAILED stack, retaining resources that could not be deleted:

atmos aws cloudformation delete vpc -s plat-ue2-dev --retain-resources=SecurityGroup,ManualDbSnapshot

Delete a stack protected by termination_protection: true:

atmos aws cloudformation delete vpc -s plat-ue2-dev --disable-termination-protection

Delete components filtered by tags or labels (composes with --all/--affected to narrow the selected set further):

atmos aws cloudformation delete --all --tags production,tier-1
atmos aws cloudformation delete --affected --labels cost-center=platform

Behavior​

  • A stack that does not exist is not an error. delete prints <stack> does not exist; nothing to delete and exits 0, the same way with or without a terminal, and also with --retain-resources or --disable-termination-protection.
  • A stack protected by termination protection is refused with a "termination protection enabled" error and a hint to pass --disable-termination-protection.
  • --retain-resources on a stack that is not in DELETE_FAILED is refused with its own error before anything is deleted.
  • A delete that ends in DELETE_FAILED fails with a hint that names the resources CloudFormation could not delete and shows the retry: delete <component> -s <stack> --retain-resources=<ids>.

Flags​

--stack, -s (required for a single component)
Atmos stack. Required when operating on a single component; optional (and used only to narrow the selected set) with --all/--affected.
--auto-approve (optional)
Skip the interactive confirmation prompt. Without it, delete prompts for confirmation on a TTY before deleting the stack.
--retain-resources (optional)
Comma-separated logical IDs of resources to retain. Only valid when the stack is in DELETE_FAILED status — CloudFormation rejects it otherwise.
--disable-termination-protection (optional)

Disable termination protection before deleting. If the component's termination_protection is true, delete fails with an actionable hint instead of silently disabling protection — pass this flag as an explicit escape hatch. Setting termination_protection: false in the stack configuration and re-applying does not disable protection: apply only ever turns protection on, never off.

--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.
--skip-hooks (optional)
Skip lifecycle hooks for this invocation. --skip-hooks with no value skips every hook; --skip-hooks=name1,name2 skips only the named hooks. Equivalent to the ATMOS_SKIP_HOOKS environment variable.
note

delete fires the before.aws/cloudformation.delete/after.aws/cloudformation.delete hook events.