# atmos aws cloudformation stackset create

Create a CloudFormation StackSet (`CreateStackSet`) from the resolved
`kind: aws/stackset` provision target's `accounts`/`regions`/
`permission_model`/role settings, plus the component's own
`template`/`parameters`/`capabilities`/`tags`. When the target declares both
`accounts` and `regions`, `stackset create` also creates the initial stack
instances (`CreateStackInstances`) across that account/region matrix and
waits for the operation to finish — the only verb that creates instances.

> ⚠️ Experimental

## Usage

```shell
atmos aws cloudformation stackset create <component> --stack <stack> [options]
```

```shell
atmos aws cloudformation stackset create vpc -s plat-ue2-dev
```

Skip the interactive confirmation prompt:

```shell
atmos aws cloudformation stackset create vpc -s plat-ue2-dev --auto-approve
```

Disambiguate when the component declares more than one `kind: aws/stackset` target:

```shell
atmos aws cloudformation stackset create vpc -s plat-ue2-dev --target multi-account
```

Create StackSets for all or affected components in dependency order:

```shell
atmos aws cloudformation stackset create --all -s plat-ue2-dev
atmos aws cloudformation stackset create --affected --base origin/main
```

## Flags

- **`--stack`, `-s` (required)**
  Atmos stack.
- **`--target` (optional)**
  The 
  `kind: aws/stackset`
   provision target to use. Required when more than one is declared.
- **`--auto-approve` (optional)**
  Skip the interactive confirmation prompt. Without it, 
  `stackset create`
   prompts for confirmation on a TTY before creating the StackSet.
- **`--all` (optional)**
  Create StackSets for all 
  `aws/cloudformation`
   components in dependency order.
- **`--affected` (optional)**
  Create StackSets for affected 
  `aws/cloudformation`
   components and their dependencies.
- **`--include-dependents` (optional)**
  With 
  `--affected`
  , include dependent 
  `aws/cloudformation`
   components.
- **`--tags` (optional)**
  Filter by tags (comma-separated, matches any): 
  `--tags=production,tier-1`
  . Composes with 
  `--all`
  /
  `--affected`
   to narrow the selected set further; cannot be combined with a single component argument.
- **`--labels` (optional)**
  Filter by labels (comma-separated 
  `key=value`
   or 
  `key:value`
   pairs, matches all): 
  `--labels=cost-center=platform,compliance=sox`
  . Composes with 
  `--all`
  /
  `--affected`
  /
  `--tags`
  ; cannot be combined with a single component argument.

## Behavior

If the resolved target declares only `accounts` or only `regions` (not both),
`stackset create` stops after creating the StackSet itself — no instances are
created. Creating instances later requires deleting and re-creating the
StackSet with both fields set; there is no separate "add instances" verb.

The `CreateStackInstances` operation is polled every 3 seconds until it
reaches a terminal status (`SUCCEEDED`/`FAILED`/`STOPPED`), and the command
times out after 30 minutes if it hasn't.

:::note
`stackset create` does not fire `before`/`after` hook events — only
[`apply`](/cli/commands/aws/cloudformation/apply),
[`diff`](/cli/commands/aws/cloudformation/diff), and
[`delete`](/cli/commands/aws/cloudformation/delete) do.
:::
