cfnbot
Make managing CloudFormation stacks a little friendlier.
Still very much a work in progress
Install
::
$ pip install cfnbot
Usage
~~~~~
::
# First, write a specfile. See `example_specfile.yml` for more info.
$ cfnbot deploy [--debug] /path/to/specfile.yml [--stackset <name>]
$ cfnbot delete [--debug] /path/to/specfile.yml [--stackset <name>]
Specfile Formats
Single Stack ^^^^^^^^^^^^
One top key only, which can't be "Default" or "Stacks". Must contain a TemplatePath.
::
---
SomeAppBucket:
TemplatePath: 'bucket.yml'
Parameters: [...]
Multiple Stacks ^^^^^^^^^^^^^^^
One top key only, "Stacks", and its value must be a list. For example:
::
---
Stacks:
- SomeAppBucketRole:
TemplatePath: cfn/iam_role.yml
Parameters: [...]
- SomeAppBucket:
TemplatePath: cfn/s3bucket_with_roles.yml
StackName: SomeAppBucket
Parameters: [...]
Stack Sets ^^^^^^^^^^
ALL THE THINGS. Need a Default in there somewhere, and it needs a Stacks list.
::
---
Dev:
StackNamePrefix: Dev
CredentialProfile: default
Stacks:
- SomeAppBucketLambdaRole
TemplatePath: cfn/iam_role_dev.yml
Default:
Stacks:
- SomeAppBucketRole:
TemplatePath: cfn/iam_role.yml
Parameters: [...]
- SomeAppBucket:
TemplatePath: cfn/s3bucket_with_roles.yml
StackName: SomeAppBucket
Parameters: [...]
Built With
- amazon-cloudformation
- amazon-web-services
- boto3
- python
Log in or sign up for Devpost to join the conversation.