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.
Configure templates, parameters, and delivery targets for your component.
Usage
atmos aws cloudformation tree <component> --stack <stack> [options]
Examples
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
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. --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.
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.
This command does not fire lifecycle hooks.
Try it out
- Install Atmos
- Try the example
Copy the example into a new directory and make it your own:
atmos init examples/cloudformation
cd cloudformation
Requires Docker or Podman, Python 3, and network access. Deploy the demo into the local AWS emulator, inspect it, then clean up. No AWS account is needed.
atmos config set aliases.cft "aws cloudformation"
atmos emulator up aws -s local
atmos cft deploy demo -s local
atmos cft tree demo -s local
atmos cft delete demo -s local --auto-approve
atmos emulator down aws -s local