https://github.com/ankon/explain-cloudformation-changeset
Tool to process a (possibly nested) CloudFormation changeset, and represent the changes in a human-understandable way.
https://github.com/ankon/explain-cloudformation-changeset
changeset cloudformation graphviz visualisation visualization
Last synced: 2 months ago
JSON representation
Tool to process a (possibly nested) CloudFormation changeset, and represent the changes in a human-understandable way.
- Host: GitHub
- URL: https://github.com/ankon/explain-cloudformation-changeset
- Owner: ankon
- License: mit
- Created: 2022-05-08T14:40:48.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-27T17:09:53.000Z (about 1 year ago)
- Last Synced: 2025-03-27T18:22:04.479Z (about 1 year ago)
- Topics: changeset, cloudformation, graphviz, visualisation, visualization
- Language: Go
- Homepage:
- Size: 288 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
```sh
go build
```
## Using
```sh
$ 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](./aws-examples) can be used by setting the cache directory accordingly:
```sh
./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](./LICENSE) for the license of the code.
The files in [aws-examples](./aws-examples) have been taken from and are licensed under a [modified MIT license](https://github.com/awsdocs/aws-cloudformation-user-guide/blob/main/LICENSE-SAMPLECODE).