node package manager

gulp-cfn-deploy

gulp-cfn-deploy

CloudFormation is an AWS service that allows you to create and manage a collection of AWS resources, provisioning and updating them in an orderly and predictable fashion.

With CloudFormation, you can create a "stack" that contain all of the resources necessary for your project, defined by a single JSON file. gulp-cfn-deploy provides several tasks that make it easier to manage your stack.

You can define your stack's resources in separate JSON files, and gulp-cfn-deploy will merge them when you're ready to deploy or update the stack. Your resource files will also be passed through a Handlebars.js compiler, allowing you to use variables and helpers in your resource templates.

Usage

require('gulp-cfn-deploy')({
  stackName: 'my-stack'
  context: {
    fooVar: 'foo',
    anotherVar: 'bar'
  }
});

Tasks

The following tasks are provided:

cfn:build
Compiles all .json files in templateDir and merges them into a single file under buildDir.

cfn:validate
runs cfn:build
Runs cfn:build and validates the resulting CloudFormation template using the validator from aws-sdk.

cfn:deploy
runs cfn:validate
Builds and validates the final CloudFormation template and creates (or updates) the stack stackName.

cfn:status
Display the status of the stack.

cfn:resources
Display the status of individual stack resources.

cfn:log
Display all log events associated with the stack.

Options

stackName
Required
The name of the stack you want to deploy

context
Default: {}
Context object passed to Handlebars compiler

handlebars
Default: {}
Options passed to Handlebars compiler

merge
Default: {}
Options passed to gulp-merge-json.

templateDir
Default: 'cfn'
Directory that contains your resource template JSON files

buildDir
Default: 'build/cfn'
Directory to output comiled resource template