cfn-include

Preprocessor for CloudFormation templates with support for loops and flexible include statements

MIT License

Downloads
6.8K
Stars
86
Committers
6

Bot releases are hidden (Show)

cfn-include - v1.5.0 Latest Release

Published by monken almost 4 years ago

  • Add optional index variable to Fn::Map and Fn::Length to obtain the length of a list (@arjanvandervelde)
  • Add Fn::DeepMerge (@nmccready)
cfn-include - v1.4.2

Published by monken about 4 years ago

  • Add support for Fn::Sequence
cfn-include - v1.0.1

Published by monken almost 5 years ago

Breaking changes:

  • aws-sdk is now a peer dependency
  • dropped support for NodeJS 4 and 6

Features:

  • you can now provide a --bucket parameter which allows you to validate templates > 50k
  • Validation errors are now pretty-printed without a full stack trace

Housekeeping:

  • replace nomnom with yargs
cfn-include - v0.11.3

Published by monken over 6 years ago

cfn-include - v0.11.1

Published by monken over 6 years ago

  • Fixed broken response when using --validate
cfn-include - v0.11.2

Published by monken over 6 years ago

cfn-include - v0.11.0

Published by monken over 6 years ago

Breaking Changes:

  • With this release we are dropping support for NodeJS < 4.0.0.
  • We no longer create a Metadata key in the output template. If you want to depend on this feature, pass the --metadata flag. See #30.
  • Previously, we used request to load includes from HTTP and HTTPS endpoints. This has now been replaced with the node built-in http and https libraries.

Features:

  • When outputting to yaml, keys are now sorted. This will allow to generate meaningful diffs between templates.
  • templates can now be read from stdin e.g. passed from another preprocessor without writing to a temporary file: cat mytemplate.yml | cfn-include --validate --yaml
  • the api type now recognizes the AWS region provided by the AWS_REGION and AWS_DEFAULT_REGION environmental variables. If none are defined, it defaults to us-east-1.
  • Fn::Merge will now merge it's output into its parent object instead of replacing it
cfn-include - v0.10.0

Published by monken about 7 years ago

New Features:

  • Fn::Stringify takes a data structure and converts it into a JSON string

Bug Fixes:

  • do not exit the process in module code and capture unhandled exceptions in cli.js, #fixes 28
cfn-include - v0.9.0

Published by monken over 7 years ago

New Feature:

  • new type: string introduced (thanks to @rschick) which makes it easier to include files as strings for use with Fn::Sub and without the infamous Fn::Join syntax.

Deprecated:

  • type: literal is deprecated as Fn::Sub made working with Refs so much easier. Check out type: string, I've also updated the README to use type: string everywhere.
  • Node < v4 is deprecated. AWS Lambda has deprecated their v0.10.42 runtime as well which was the only reason this module is still supporting this old version.

Fixed Bugs:

  • If the included file was empty, cfn-include would go into an infinite loop. That has been fixed.
cfn-include - v0.8.3

Published by monken over 7 years ago

  • cfn-include --version now exits with an exit code of 0
  • YAML syntax now supports the shorthand !GetAtt Role.Arn which previously would have been written as !GetAtt [Role, Arn]
  • Added support for !Split
cfn-include - v0.8.0

Published by monken almost 8 years ago

Features:

  • YAML is now fully supported and all CloudFormation tags such as !Ref are supported too

Bug Fixes:

  • bail early if any of the Fn::Include calls fail
cfn-include - v0.7.0

Published by monken about 8 years ago

  • Allow YAML for input templates and output

    Since JSON is YAML the YAML parser will happily accept JSON documents with YAML comments

  • Fn::Include now supports AWS API calls, check out the examples

cfn-include - v0.6.4

Published by monken over 8 years ago

  • support JMESPath queries returning literals instead of objects
cfn-include - v0.6.3

Published by monken over 8 years ago

  • default to json for Fn::Include instead of undefined
  • allow the first argument to Fn::Map to be interpreted, i.e. Fn::Include will work
cfn-include - v0.6.2

Published by monken over 8 years ago

  • fixes #15
cfn-include - v0.6.1

Published by monken over 8 years ago

  • add --version flag
  • fixed synopsis to be a valid CFN template
  • added documentation for how to use cfn-include web service (no installation required)
  • reduced install footprint
cfn-include - v0.6.0

Published by monken over 8 years ago

  • Fn::Map will now also replace variables in object keys
  • added Fn::Merge which allows for very interesting use cases (e.g. define multi-az resources only once)
  • added tests for the CLI
  • fixed compatibility for Node.js 0.10
cfn-include - v0.5.0

Published by monken over 8 years ago

New features:

  • allow for comments in the template (@hoegertn)
  • query included template and only include a part of it (@hoegertn)
  • include metadata in the generated template (git commit hash, timestamp)

Other:

  • fix for Windows
  • harden URL include somewhat (i.e. disallow redirects)
  • make cfn-include work with npm link (@hoegertn)

Thanks @hoegertn for your support!

cfn-include - v0.4.0

Published by monken over 8 years ago

  • added Fn::Map with support for nested maps
  • added Fn::Flatten
  • some code optimizations
cfn-include - v0.3.3

Published by monken over 8 years ago

  • Performance improvements
  • Proxy support for validate template
  • Parse JSON with jsonlint for better syntax errors
  • Tested with Node v0.10 and up