-
Support the lifecycle of individual and related CloudFormation stacks by environment
-
For any specified environments, act on the stacks with the desired action
-
Currently for each environment, only one region can be specified
-
For any specified contexts, act on each context
-
Support workflows with actions including create, recreate, update
- create: Test whether the stack exists. If not, create it. If it exists, create a change-set.
- recreate: If the stack exists, delete it and create again. If it does not exist, create it.
- update: If the stack exists, update it. If not, create it
- Report an error if the stack is not in a good state when an action is attempted or completed.
- If changes are in progress when an action is attempted, retry multiple times with a delay, then timeout and report an error.
-
TODO: Clarify behaviour for bad states
-
Work with contexts
-
Work with environments
-
Use with single stacks: no context or environment, single context or environment, multiple contexts or environments, both contexts and environments
-
Use with multiple stacks
-
contexts: refer to context by name
-
environments: refer to stack in multiple environments identified by name
-
Assemble parameters from multiple sources
-
Turn validate output into a starter file for parameters and infer capabilities
-
Describe outputs
-
Persist and retrieve confidential information from a trust store
-
Acknowledge the capabilities required by the template to create the stack (CAPABILITY_IAM, CAPABILITY_NAMED_IAM)
-
Copy template to S3 location when required
-
Support the creation of nested stacks
-
[TBD] dependencies between stacks, environments, and templates
-
[TBD] multi-account
-
[TBD] multi-region