# atmos aws cloudformation get template

Print the deployed stack’s template. By default, Atmos retrieves the processed
template and formats it as YAML. Use `--original` to retrieve the submitted body.

> ⚠️ Experimental

**CloudFormation Configuration**

Configure templates, parameters, and delivery targets for your component.
Configuration Reference[Read more](/stacks/components/aws-cloudformation)

## Usage

```shell
atmos aws cloudformation get template <component> --stack <stack> [options]
```

## Examples

```shell
atmos aws cloudformation get template vpc -s plat-ue2-dev
```

Fetch the original, user-submitted template instead of the processed one:

```shell
atmos aws cloudformation get template vpc -s plat-ue2-dev --original
```

By default the template is re-serialized as pretty-printed YAML, because CloudFormation often stores
the processed template as JSON. With `--original`, Atmos prints the body exactly as CloudFormation
returned it, byte for byte, with comments, quoting, and key order intact, so you can diff it against
your source file:

```shell
atmos aws cloudformation get template vpc -s plat-ue2-dev --original > deployed.yaml
diff template.yaml deployed.yaml
```

A stack that does not exist is an error that points at `atmos aws cloudformation apply`.

## 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 bulk selection flags, limits the selected components to this stack.
- **`--original` (optional)**
  Fetch the user-submitted template instead of the processed one CloudFormation deployed, and print it exactly as returned, without re-serializing it.

This command does not fire [lifecycle hooks](/stacks/components/aws-cloudformation#lifecycle-hooks).
