kes
Version:
Making deployment to AWS using CloudFormation easier and fun
67 lines (58 loc) • 1.59 kB
YAML
AWSTemplateFormatVersion: '2010-09-09'
Description: 'stack: {{stackName}} | deployed by Kes'
Parameters:
Lambda1Arn:
Type: String
Description: arn of lambda 1
Resources:
#################################################
# SNS config BEGIN
#################################################
{{#each sns}}
{{name}}Sns:
Type: "AWS::SNS::Topic"
Properties:
DisplayName: {{../stackName}}-{{name}}
Subscription:
{{#each subscriptions}}
- Endpoint: {{endpoint}}
Protocol: {{protocol}}
{{/each}}
{{/each}}
#################################################
# SNS config END
#################################################
#################################################
# SQS config BEGIN
#################################################
{{#each sqs}}
{{name}}SQS:
Type: AWS::SQS::Queue
Properties:
QueueName: {{../stackName}}-{{name}}
ReceiveMessageWaitTimeSeconds: 20
{{#if retry}}
RedrivePolicy:
deadLetterTargetArn: !GetAtt [{{name}}FailedSQS, Arn]
maxReceiveCount: {{retry}}
{{/if}}
VisibilityTimeout: {{visibilityTimeout}}
{{#if retry}}
{{name}}FailedSQS:
Type: AWS::SQS::Queue
Properties:
QueueName: {{../stackName}}-{{name}}-failed
{{/if}}
{{/each}}
#################################################
# SQS config END
#################################################
Outputs:
{{#each sqs}}
{{name}}SQSOutput:
Value: !Ref {{name}}SQS
{{/each}}
{{#each sns}}
{{name}}SnsArn:
Value: !Ref {{name}}Sns
{{/each}}