Skip to content

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

License

Notifications You must be signed in to change notification settings

ankon/explain-cloudformation-changeset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published