@serverless/aws-cloudformation

Easily Deploy AWS Cloudformation templates using Serverless Components, and pass their outputs to other Serverless Components.

Usage no npm install needed!

<script type="module">
  import serverlessAwsCloudformation from 'https://cdn.skypack.dev/@serverless/aws-cloudformation';
</script>

README

AWS Cloudformation

Easily Deploy AWS Cloudformation templates using Serverless Components, and pass their outputs to other Serverless Components.

 

 

1. Install

$ npm install -g serverless

2. Create

Just create a serverless.yml file

$ touch serverless.yml
$ touch .env      # your development AWS api keys
$ touch .env.prod # your production AWS api keys

the .env files are not required if you have the aws keys set globally and you want to use a single stage, but they should look like this.

AWS_ACCESS_KEY_ID=XXX
AWS_SECRET_ACCESS_KEY=XXX

3. Configure

# serverless.yml

name: my-service
stage: dev

myStack:
  component: '@serverless/aws-cloudformation'
  inputs:
    template:
      AWSTemplateFormatVersion: '2010-09-09'
      Description: Example stack 1
      Resources:
        LogGroup:
          Type: AWS::Logs::LogGroup
          Properties:
            LogGroupName: /log/group/one
            RetentionInDays: 14
      Outputs:
        LogGroupArn:
          Value:
            Fn::GetAtt:
              - LogGroup
              - Arn

Inputs can contain the following properties:

  • stackName [required]. the name of the stack
  • template [required], the template to deploy, can also be a local path to the template, e.g. ./my-template.yml
  • bucket, the deployment bucket where the template is stored before deployment. If not set, the template is sent on request and 52100 bytes size limit applies.
  • capabilities, possible values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, and CAPABILITY_AUTO_EXPAND.
  • enableTerminationProtection, possible values are true and false. Default is false.
  • rollbackConfiguration, see RollbackConfiguration
  • role, role arn for the role which CloudFormation assumes to create the stack.
  • disableRollback, possible values are true and false. Cannot be updated.

See Request Parameters for more info about capabilities, enableTerminationProtection, and role.

4. Deploy

$ serverless

New to Components?

Checkout the Serverless Components repo for more information.