NASA Proceeds to Mars

    This package has been deprecated

    Author message:

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

    cloudfriend

    1.7.0 • Public • Published

    cloudfriend

    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 https://github.com/mapbox/cloudfriend && 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
    

    Install

    npm i cloudfriend

    DownloadsWeekly Downloads

    15

    Version

    1.7.0

    License

    ISC

    Last publish

    Collaborators

    • lbud
    • tmcw
    • samanbb
    • dnomadb
    • rclark