# atmos aws cloudformation

Deploy, inspect, and delete native `aws/cloudformation` stacks directly through the AWS SDK for Go v2 — the
same stack-based workflow you use for Terraform, Helm, and Kubernetes components, with no `aws` CLI or
`cfn`/`sam`/`Rain` binary dependency. Alias: `atmos aws cfn`.

> ⚠️ Experimental

**Configure CloudFormation Components**

Set the default component location in `atmos.yaml`, then describe each stack's
template, parameters, capabilities, and delivery behavior with `template`,
`stack_name`, `parameters`, `capabilities`, `tags`, `stack_policy`, and more.

Stack Configuration[Read more](/stacks/components/aws-cloudformation)

## Usage

```shell
atmos aws cloudformation render <component> --stack <stack>
atmos aws cloudformation diff <component> --stack <stack>
atmos aws cloudformation plan <component> --stack <stack>
atmos aws cloudformation apply <component> --stack <stack>
atmos aws cloudformation deploy <component> --stack <stack>
atmos aws cloudformation delete <component> --stack <stack>
atmos aws cloudformation validate <component> --stack <stack>
atmos aws cloudformation output <component> --stack <stack>

atmos aws cloudformation changeset create <component> --stack <stack>
atmos aws cloudformation changeset execute <component> --stack <stack> --changeset-name <name>
atmos aws cloudformation changeset list <component> --stack <stack>
atmos aws cloudformation changeset delete <component> --stack <stack> --changeset-name <name>

atmos aws cloudformation drift detect <component> --stack <stack>
atmos aws cloudformation drift describe <component> --stack <stack>

atmos aws cloudformation get template <component> --stack <stack>
atmos aws cloudformation get policy <component> --stack <stack>

atmos aws cloudformation stackset create <component> --stack <stack>
atmos aws cloudformation stackset update <component> --stack <stack>
atmos aws cloudformation stackset delete <component> --stack <stack>
atmos aws cloudformation stackset instances <component> --stack <stack>

atmos aws cloudformation backend create <component> --stack <stack>
atmos aws cloudformation backend describe <component> --stack <stack>
atmos aws cloudformation backend update <component> --stack <stack>
atmos aws cloudformation backend delete <component> --stack <stack> --force
atmos aws cloudformation backend list <component> --stack <stack>

atmos aws cloudformation fmt <component> --stack <stack>
atmos aws cloudformation tree <component> --stack <stack>
atmos aws cloudformation logs <component> --stack <stack>
atmos aws cloudformation watch <component> --stack <stack>
atmos aws cloudformation list --stack <stack>

atmos aws cloudformation source pull <component> --stack <stack>

atmos aws cloudformation apply --all --stack <stack>
atmos aws cloudformation apply --affected --base origin/main

atmos aws cloudformation apply --affected --tags production
atmos aws cloudformation apply --all --labels cost-center=platform
```

The `cfn` alias works everywhere `cloudformation` does:

```shell
atmos aws cfn apply vpc -s plat-ue2-dev
```

## Subcommands
