A fully generic, modular DSL for AWS CloudFormation
This gem aims to provide a reusable model for AWS CloudFormation in Ruby. It exposes a DSL for template definition, and a simple, decoupled abstraction of a CloudFormation Stack to compile and apply templates.
Please read our Contributing guidelines for more information on contributing to Convection.
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install convection
convection convergein the same directory as your cloudfile or use
--cloudfilesand specify the path to the cloudfile. If you provide the name of your stack as a additional argument such as
convection converge my-stack-namethen all stacks above and including the stack you specified will be converged.
convection converge --stack_group YOUR_STACK_GROUP_NAME
convection converge --stacks stackA stackB ...
--cloudfilesoption providing the path to the cloudfiles. Example
bundle exec convection converge --cloudfiles us-east-1/Cloudfile eu-central-1/Cloudfile
convection diff --stack_group YOUR_STACK_GROUP_NAME
convection diff --stacks stackA stackB ...
convection print-template my-stack-name.
convection validate my-stack-name.
We highly recommend consulting the getting started guide for a in depth walk through on how to to set up your project and create and deploy a stack. Example stacks and resources are available in the convection/example folder
Additionally you can generate the Ruby API documentation by executing
bundle exec rake yard.
Amazon publishes a spec for Cloudformation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-resource-specification.html
We should create a tool that uses that to create convection resource code.
Convection is distributed under the MIT license - please refer to the LICENSE for more information.