# 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

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