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 stacktemplate
[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 areCAPABILITY_IAM
,CAPABILITY_NAMED_IAM
, andCAPABILITY_AUTO_EXPAND
.enableTerminationProtection
, possible values aretrue
andfalse
. Default isfalse
.rollbackConfiguration
, see RollbackConfigurationrole
, role arn for the role which CloudFormation assumes to create the stack.disableRollback
, possible values aretrue
andfalse
. 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.