# atmos aws cloudformation list

List the account's deployed CloudFormation stacks (`ListStacks`), annotated
with whether each one matches an `aws/cloudformation` component's
`stack_name` configured in the given Atmos stack. Unlike every other verb,
`list` is account-wide, not scoped to a single component — there is no
`[component]` argument, and it does not support `--all`/`--affected`/`--tags`/`--labels`.

> ⚠️ Experimental

## Usage

```shell
atmos aws cloudformation list [--stack <stack>] [options]
```

```shell
atmos aws cloudformation list --stack plat-ue2-dev
```

Only stacks currently in a `*_COMPLETE` status:

```shell
atmos aws cloudformation list --stack plat-ue2-dev --status CREATE_COMPLETE,UPDATE_COMPLETE
```

List stacks in a specific region:

```shell
atmos aws cloudformation list --stack plat-ue2-dev --region us-west-2
```

## Flags

- **`--stack`, `-s` (optional)**

  Atmos stack to annotate against. Its configured `aws/cloudformation`
  components' `stack_name` values determine which deployed stacks are
  marked `managed` vs. `unmanaged`. Templates are processed (so
  `stack_name` may reference e.g. `{{ .vars.stage }}`), but YAML functions
  are not — they aren't needed to resolve `stack_name`, and some require
  their own authentication, which would slow this command down
  unnecessarily.
- **`--identity`, `-i` (optional)**
  Identity to use for authentication.
- **`--status` (optional)**
  Filter by stack status (comma-separated, e.g. 
  `CREATE_COMPLETE,UPDATE_COMPLETE`
  ).
- **`--region` (optional)**
  AWS region to list stacks in. Defaults to the active identity's region, then the AWS SDK's standard resolution chain.

## Output

Each line shows whether the stack is `managed` (its name matches an
`aws/cloudformation` component's configured `stack_name` in the queried
stack) or `unmanaged`, its status, and its name:

```
managed   CREATE_COMPLETE                vpc-plat-ue2-dev
unmanaged UPDATE_COMPLETE                some-other-stack
```
