atmos aws cloudformation changeset create
Create a CloudFormation changeset for the component and leave it in place for
later manual review and execution — the explicit-control complement to
diff/plan's
temporary preview changeset. After rendering, diff/plan deletes its changeset
and any preview-created stack placeholder still in REVIEW_IN_PROGRESS.
Cleanup failures are returned as errors.
Usage
atmos aws cloudformation changeset create <component> --stack <stack> [options]
atmos aws cloudformation changeset create vpc -s plat-ue2-dev
Create changesets for all or affected components in dependency order:
atmos aws cloudformation changeset create --all -s plat-ue2-dev
atmos aws cloudformation changeset create --affected --base origin/main
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. --all(optional)- Process all
aws/cloudformationcomponents in dependency order. --affected(optional)- Process affected
aws/cloudformationcomponents and their dependencies. Compares the working tree against a base: see--baseand the Git flags below. --include-dependents(optional)- With
--affected, include dependentaws/cloudformationcomponents. --base(optional)- Git base ref or SHA to compare against for affected detection:
--base=origin/main. A value that looks like a commit SHA is treated as--sha, anything else as--ref. Used with--affected. --tags(optional)- Filter by tags (comma-separated, matches any):
--tags=production,tier-1. Composes with--all/--affectedto narrow the selected set further; cannot be combined with a single component argument. --labels(optional)- Filter by labels (repeatable and/or comma-separated
key=valueorkey:valuepairs, matches all):--labels=cost-center=platform,compliance=sox. Composes with--all/--affected/--tags; cannot be combined with a single component argument. --ci(optional)- Enable native CI integration (requires
ci.enabled): writes the job summary and output variables for the operation. Also enabled by theCIandATMOS_CIenvironment variables. --ref(optional)- Git ref to compare against for affected detection. Used with
--affected. --sha(optional)- Git SHA to compare against for affected detection. Used with
--affected. --repo-path(optional)- Path to an already cloned target repository to use as the affected baseline. Used with
--affected. --clone-target-ref(optional)- Clone the target ref instead of checking it out in the current repository for affected detection. Used with
--affected. --ssh-key(optional)- Path to the SSH private key used to clone the target ref for affected detection. Used with
--clone-target-ref. --ssh-key-password(optional)- Password for the SSH private key used to clone the target ref for affected detection. Used with
--clone-target-ref.
Behavior
- A changeset that would change nothing is not kept. CloudFormation reports it as a
FAILEDchangeset ("didn't contain changes"), so Atmos deletes it and printsNo changes; changeset not kept. - A changeset that fails to compute is deleted, together with the empty
REVIEW_IN_PROGRESSstack it registered when Atmos created that stack for a never-deployed component. - A successful changeset is kept, and so is the
REVIEW_IN_PROGRESSstack of a never-deployed component: that is the reusable artifact you asked for, andchangeset executeneeds it. - A stack in
ROLLBACK_COMPLETEcannot be updated, sochangeset createfails with a hint todeletethe stack first.
Output
On success, the summary includes the changeset's ID and name, whether it was a
no-op (no changes to apply), and the predicted changes — the same diff summary
diff renders. Execute the named
changeset later with
changeset execute.
changeset create does not fire before/after hook events — only
apply,
diff,
delete,
drift detect, and
drift describe do.