Make managing CloudFormation stacks a little friendlier.
Still very much a work in progress
$ pip install cfnbot
# 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>]
One top key only, which can't be "Default" or "Stacks". Must contain a TemplatePath.
--- SomeAppBucket: TemplatePath: 'bucket.yml' Parameters: [...]
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: [...]
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: [...]