# atmos aws cloudformation deploy

Create or update the CloudFormation stack for a component. `deploy` is an
alias for [`apply`](/cli/commands/aws/cloudformation/apply) that defaults
`--auto-approve` to `true`, matching the established `terraform deploy` =
"apply with auto-approve" convention — useful for CI, where nothing is
present to answer an interactive prompt.

> ⚠️ Experimental

## Usage

```shell
atmos aws cloudformation deploy <component> --stack <stack> [options]
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
```

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

## Flags

- **`--stack`, `-s` (required for a single component)**
  Atmos stack. Required when operating on a single component; optional (and used only to narrow the selected set) with 
  `--all`
  /
  `--affected`
  .
- **`--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.
