-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathserverless.yml
93 lines (85 loc) · 2.26 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
service: nestjs-serverless
provider:
name: aws
runtime: nodejs12.x
plugins:
# - serverless-domain-manager
- serverless-offline
# custom:
# customDomain:
# domainName: nestjs-serverless.example.com
package:
exclude:
- .git/**
- src/**
- test/**
- e2e/**
- nodemon.json
- README.md
functions:
lambda-main:
handler: dist/lambda-main.handler
provisionedConcurrency: 1
events:
- http:
cors: true
path: '/'
method: any
- http:
cors: true
path: '{proxy+}'
method: any
resources:
Resources:
### Cognito ###
CognitoUserPool:
Type: AWS::Cognito::UserPool
Properties:
AutoVerifiedAttributes:
- phone_number
MfaConfiguration: OPTIONAL
Policies:
PasswordPolicy:
MinimumLength: 6
RequireLowercase: true
RequireNumbers: false
RequireSymbols: false
RequireUppercase: true
Schema:
- Name: phone_number
Required: true
SmsConfiguration:
ExternalId: ${self:provider.stage}-cognito-external-id
SnsCallerArn: !GetAtt CognitoUserPoolSMSRole.Arn
SmsVerificationMessage: |
Your verification code is {####}.
APP ID: e4o18vjD6V2
UsernameAttributes:
- phone_number
UserPoolName: ${self:service}-${self:provider.stage}
CognitoUserPoolSMSRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- cognito-idp.amazonaws.com
Action:
- 'sts:AssumeRole'
Condition:
StringEquals:
sts:ExternalId: ${self:provider.stage}-cognito-external-id
Policies:
- PolicyName: ${self:provider.stage}-cognito-sms-policy
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Resource:
- '*'
Action:
- 'sns:publish'
RoleName: ${self:provider.stage}-cognito-sms-role