Skip to content

About

Ruby DSL for managing AWS CloudFormation templates and stacks

Resources

Stars

17 stars

Watchers

14 watching

Forks

Latest commit

 

History

13 Commits

Folders and files

Repository files navigation

CloudBuilder

Generates JSON config for AWS CloudFormation using a Ruby DSL. Manage CloudFormation stacks - create, update, diff.

Based on https://github.com/songkick/cloud_formatter

Installation

Clone the repository, then run:

gem build cloud_builder.gemspec
gem install cloud_builder-version.gem

Usage

CLI tool

$ stack --help
Usage:
    stack [OPTIONS] STACK

Parameters:
    STACK                         stack to build

Options:
    -r, --region REGION           AWS region to use (default: $EC2_REGION, or "us-east-1")
    -v, --validate                validate the stack file before doing anything else
    -b, --bucket BUCKET           upload template to BUCKET (default: $CLOUD_BUILDER_BUCKET, or nil)
    -t, --diff-tool DIFF_TOOL     tool to use for diff (default: $CLOUD_BUILDER_DIFF_TOOL)
    -c, --create                  create the stack
    -u, --update                  update the stack
    -d, --diff                    do a diff between the existing template in BUCKET and the generated template
    -e, --estimate                estimate template cost
    -h, --help                    print help

For most actions you will require an active AWS account, so make sure you export AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY to ENV

Example stack

See stacks/example.rb for an example stack.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Changelog

0.0.15

0.0.14

  • change aws-sdk require to aws-sdk-v1

0.0.13

0.0.12

  • add --dummy flag; will add a dummy WaitConditionHandle to the stack to force updates in cases when only unused parameters or mappings are changed

0.0.11

  • cli now uses AWS_DEFAULT_REGION instead of EC2_REGION

0.0.10

  • publish gem homepage

0.0.9

0.0.8

  • fix #3 Prevent creation of resources with the same name

0.0.7

  • add license to gemspec

0.0.6

0.0.5

  • cli can use the EC2_REGION, CLOUD_BUILDER_BUCKET and CLOUD_BUILDER_DIFF_TOOL environment variables as defaults for --region, --bucket and --diff-tool
  • deprecated the --upload flag/action, if you specify a bucket the stack json is uploaded by default

0.0.4

  • support for specifying an AWS region

0.0.3

  • add the Changelog
  • AWS resources can have a Version property

0.0.2

  • fix cloud_builder problem when using --help
  • add DontFormatUnderscore class
  • estimation should be done after uploading to s3 bucket
  • add --diff-tool to specify a different tool to use for diffs

0.0.1

  • beta initial release

About

Ruby DSL for managing AWS CloudFormation templates and stacks

Resources

Stars

17 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages