NASA Proceeds to Mars

    This package has been deprecated

    Author message:

    This module is now under the @mapbox namespace: install @mapbox/cloudfriend instead


    1.7.0 • Public • Published


    Build Status

    Helper functions for assembling CloudFormation templates in JavaScript

    Intrinsic functions and conditions

    These are functions that you can use in place of various CloudFormation objects.

    CloudFriend CloudFormation
    base64(value) Fn::Base64
    findInMap(mapping, key, attr) Fn::FindInMap
    getAtt(obj, key) Fn::GetAtt
    getAzs(region) Fn::GetAZs
    join(delimiter, pieces) Fn::Join
    select(index, list) Fn::Select
    ref(name) Ref
    userData(lines) Fn::Base64 and Fn::Join with \n delimiter
    and(conditions) Fn::And
    equals(a, b) Fn::Equals
    if(condition, ifTrue, ifFalse) Fn::If
    not(condition) Fn::Not
    or(conditions) Fn::Or
    notEquals(a, b) Fn::Not and Fn::Equals
    sub(str, variables) Fn::Sub
    importValue(sharedValue) Fn::ImportValue

    Pseudo parameters

    These are static properties of cloudfriend that you can use to reference various CloudFormation objects.

    CloudFriend CloudFormation
    accountId AWS::AccountId
    notificationArns AWS::NotificationARNs
    noValue AWS::NoValue
    region AWS::Region
    stackId AWS::StackId
    stackName AWS::StackName

    Other helpers

    method description
    build(file, opts) Builds a template defined by a static JavaScript export, a synchronous or an asynchronous function.
    validate(file) Uses the cloudformation:ValidateTemplate API call to perform rudimentary template validation
    merge(...template) Merges templates together. Throws errors if logical names are reused

    CLI tools

    By installing cloudfriend globally, it can provide you with simple CLI tools for building and validating CloudFormation templates.

    # either...
    $ git clone && cd cloudfriend && npm link
    # ... or ...
    $ npm install -g cloudfriend

    Then, to build a template:

    # Prints the template as JSON to stdout
    $ build-template path/to/template.js

    Or, to validate a template:

    # Make sure that your shell is configured to make AWS requests
    $ validate-template path/to/template.js


    npm i cloudfriend

    DownloadsWeekly Downloads






    Last publish


    • lbud
    • tmcw
    • samanbb
    • dnomadb
    • rclark