-
Notifications
You must be signed in to change notification settings - Fork 0
/
serverless.yml
59 lines (51 loc) · 1.64 KB
/
serverless.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
service: aa-data-enrichment-boilerplate
provider:
name: aws
runtime: nodejs8.10
memorySize: 128 # optional, in MB, default is 1024
#timeout: 10 # optional, in seconds, default is 6
versionFunctions: false # optional, default is true
stage: ${opt:stage, 'dev'}
region: ${opt:region, "eu-central-1"}
cfLogs: true
environment: ${file(config/${self:provider.stage}.yml):ENVIRONMENT}
functions:
index:
handler: handler.index
onError: ${self:custom.prefix-sns-arn}-DeadLetterTopic
custom:
prefix: ${self:service}-${self:provider.stage}
prefix-sns-arn: arn:aws:sns:${self:provider.region}:${self:provider.environment.SERVERLESS_AWS_ACCOUNT_ID}:${self:custom.prefix}
resources:
Resources:
# Error monitoring queue
DeadLetterTopic:
Type: AWS::SNS::Topic
Properties:
Subscription:
- Endpoint:
Fn::GetAtt:
- DeadLetterQueue
- Arn
Protocol: "sqs"
TopicName: ${self:custom.prefix}-DeadLetterTopic
DeadLetterQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: ${self:custom.prefix}-DeadLetterQueue
# IAM Policies
QueuePolicySNSToSQS:
Type: AWS::SQS::QueuePolicy
Properties:
PolicyDocument:
Version: '2012-10-17'
Id: QueuePolicySNSToSQS
Statement:
- Sid: AllowSendMessageToQueuesFromSNSTopics
Effect: Allow
Principal: "*"
Action:
- sqs:SendMessage
Resource: arn:aws:sqs:${self:provider.region}:${self:provider.environment.SERVERLESS_AWS_ACCOUNT_ID}:*
Queues:
- Ref: DeadLetterQueue