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.
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.
deleteprints<stack> does not exist; nothing to deleteand exits 0, the same way with or without a terminal, and also with--retain-resourcesor--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-resourceson a stack that is not inDELETE_FAILEDis refused with its own error before anything is deleted.- A delete that ends in
DELETE_FAILEDfails 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,
deleteprompts 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_FAILEDstatus — CloudFormation rejects it otherwise. --disable-termination-protection(optional)Disable termination protection before deleting. If the component's
termination_protectionistrue,deletefails with an actionable hint instead of silently disabling protection — pass this flag as an explicit escape hatch. Settingtermination_protection: falsein the stack configuration and re-applying does not disable protection: apply only ever turns protection on, never off.--all(optional)- Process all
aws/cloudformationcomponents in dependency order. --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 native CI integration (requires
ci.enabled): writes the job summary and output variables for the operation. Also enabled by theCIandATMOS_CIenvironment 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-hookswith no value skips every hook;--skip-hooks=name1,name2skips only the named hooks. Equivalent to theATMOS_SKIP_HOOKSenvironment variable.
delete fires the before.aws/cloudformation.delete/after.aws/cloudformation.delete hook events.