Skip to content

Latest commit

 

History

History
37 lines (23 loc) · 1.61 KB

File metadata and controls

37 lines (23 loc) · 1.61 KB

explain-cloudformation-changeset

Tool to process a (possibly nested) CloudFormation changeset, and represent the changes in a human-understandable way. The main goal:

Make it possible to review a complex changeset and reason about the potential impacts of executing it.

Building

go build

Using

$ id=$(aws cloudformation create-change-set ... --output text --query Id)
$ ./explain-cloudformation-changeset --change-set-name=${id} --graph-output=graph.svg

The tool will download (nested) changeset descriptions and save them by default in the current working directory as JSON files. This can be changed by using the --cache-dir argument. If a changeset specified on the command-line already is cached, the cached version will be used.

The examples can be used by setting the cache directory accordingly:

./explain-cloudformation-changeset --cache-dir=aws-examples --change-set-name=SampleChangeSet-direct --graph-output=SampleChangeSet-direct.svg

TODO & Ideas

  • Table: Build a simple CSV with all planned changes
  • Augment information from changeset with information from template(s) (should point to S3 location of packaged template, so we can find nested stack templates automatically)

License

See LICENSE for the license of the code.

The files in aws-examples have been taken from https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets-samples.html and are licensed under a modified MIT license.