Skip to main content

atmos aws cloudformation tree

Render the deployed stack's nested-stack dependency tree: walk the stack's resources, recursing into every AWS::CloudFormation::Stack resource, up to 10 levels deep.

Experimental
atmos aws cloudformation tree --help
 

Usage​

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

Render trees for all or affected components in dependency order:

atmos aws cloudformation tree --all -s plat-ue2-dev
atmos aws cloudformation tree --affected --base origin/main

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.
--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.

Output​

vpc-plat-ue2-dev
├─ NatGatewayStack (vpc-plat-ue2-dev-NatGatewayStack-AB12CD34)
└─ SubnetsStack (vpc-plat-ue2-dev-SubnetsStack-EF56GH78)

The root is the stack name. Each nested stack shows its logical resource ID in the parent, followed by its stack name in parentheses; stack ARNs are not shown.

A nested stack whose AWS::CloudFormation::Stack resource is still CREATE_IN_PROGRESS (and so has no physical resource ID yet) is not shown — tree recurses only into nested stacks that have actually been created.

note

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