Skip to main content

atmos aws cloudformation logs

Show events from a stack and its nested stacks in a single chronological log. Nested stacks are included up to 10 levels deep.

Experimental
CloudFormation Configuration

Configure templates, parameters, and delivery targets for your component.

atmos aws cloudformation logs --help
 

Usage​

atmos aws cloudformation logs <component> --stack <stack> [options]

Examples​

atmos aws cloudformation logs vpc -s plat-ue2-dev

Render a per-resource timeline instead of a flat chronological list:

atmos aws cloudformation logs vpc -s plat-ue2-dev --chart

Show logs for all or affected components in dependency order:

atmos aws cloudformation logs --all -s plat-ue2-dev
atmos aws cloudformation logs --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.
--chart (optional)
Render a per-resource timeline (one line per logical resource ID, showing its status transitions in order) instead of a flat chronological event list.
--follow, -f (optional)
Continuously stream new events until interrupted (tail -f style) instead of returning after one pass. Press Ctrl+C to stop; the command exits 130. Cannot be combined with --chart.
--all (optional)
Process all aws/cloudformation components. Deployment runs dependencies first; deletion runs consumers first.
--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 CI integration for supported operations when ci.enabled is configured. Summary and output-variable publishing use their respective CI settings. Also enabled by CI and ATMOS_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​

By default, every event from the stack and its nested stacks is printed in timestamp order, the same as a single stack's event stream. With --chart, events are grouped by logical resource ID instead, one line per resource showing its status transitions in order:

NatGateway CREATE_IN_PROGRESS -> CREATE_COMPLETE
SubnetsStack CREATE_IN_PROGRESS -> CREATE_COMPLETE

With nested stacks, each row is prefixed with its stack name (<stack-name>/<LogicalId>). A stack ARN appears only when two different stacks share a name, for example a stack that was deleted and re-created, where the name alone would merge their rows.

This command does not fire lifecycle hooks.

Try it out​

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 for the emulator image. Run against the local AWS emulator; the final commands 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 logs demo -s local
atmos cft delete demo -s local --auto-approve
atmos emulator down aws -s local