# atmos aws cloudformation deploy

Create or update a CloudFormation stack without an interactive confirmation.
This is an alias for [`apply`](/cli/commands/aws/cloudformation/apply) with
`--auto-approve` enabled by default.

> ⚠️ 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 deploy <component> --stack <stack> [options]
```

## Examples

```shell
atmos aws cloudformation deploy vpc -s plat-ue2-dev

# Deploy components filtered by tags or labels (composes with --all/--affected)
atmos aws cloudformation deploy --all --tags production,tier-1
atmos aws cloudformation deploy --affected --labels cost-center=platform
```

## 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.
- **`--target` (optional)** — Provision target to deliver to. Defaults to `provision.default`, otherwise the implicit direct-deploy target.
- **`--auto-approve` (optional, defaults to `true`)** — Skip the interactive confirmation prompt. Pass `--auto-approve=false` to require confirmation, just like `apply` without the flag.

## Behavior

`deploy` runs exactly like [`apply`](/cli/commands/aws/cloudformation/apply#how-apply-runs)
with the confirmation turned off: it creates the changeset, prints the predicted
changes on stderr, and executes the changeset without asking. A changeset that
would change nothing is deleted, `deploy` prints `No changes`, and the follow-up
steps still run. With `--auto-approve=false` it asks after showing the changes,
like `apply`.

## Try it out

### cloudformation

Copy the example into a new directory and make it your own:

```shell
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.

```shell
atmos config set aliases.cft "aws cloudformation"
atmos emulator up aws -s local
atmos cft deploy demo -s local
atmos cft delete demo -s local --auto-approve
atmos emulator down aws -s local
```

- [Installation guide](/install)
- [Explore the example](/examples/cloudformation)
- [Initialization and repository settings](/cli/commands/init#examples-and-source-directories)
