-
-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathpackaged-sam.yaml
148 lines (148 loc) · 3.72 KB
/
packaged-sam.yaml
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
AWSTemplateFormatVersion: '2010-09-09'
Description: Serverless Express Application/API powered by API Gateway and Lambda
Outputs:
ApiGatewayApiConsoleUrl:
Description: Console URL for the API Gateway API's Stage.
Value:
Fn::Join:
- ''
- - https://
- Ref: AWS::Region
- .console.aws.amazon.com/apigateway/home?region=
- Ref: AWS::Region
- '#/apis/'
- Ref: ApiGatewayApi
- /stages/prod
ApiUrl:
Description: Invoke URL for your API. Clicking this link will perform a GET request
on the root resource of your API.
Value:
Fn::Join:
- ''
- - https://
- Ref: ApiGatewayApi
- .execute-api.
- Ref: AWS::Region
- .amazonaws.com/prod/
LambdaFunctionConsoleUrl:
Description: Console URL for the Lambda Function.
Value:
Fn::Join:
- ''
- - https://
- Ref: AWS::Region
- .console.aws.amazon.com/lambda/home?region=
- Ref: AWS::Region
- '#/functions/'
- Ref: api12
Parameters:
S3BUCKET:
Default: nodered12
Type: String
Resources:
ApiGatewayApi:
Properties:
DefinitionUri: s3://nodered12/7257d1129935247e1ec4773106900ae4
StageName: prod
Variables:
ServerlessExpressLambdaFunctionName:
Ref: api12
Type: AWS::Serverless::Api
LambdaApiGatewayExecutionPermission:
Properties:
Action: lambda:InvokeFunction
FunctionName:
Fn::GetAtt:
- api12
- Arn
Principal: apigateway.amazonaws.com
SourceArn:
Fn::Join:
- ''
- - 'arn:aws:execute-api:'
- Ref: AWS::Region
- ':'
- Ref: AWS::AccountId
- ':'
- Ref: ApiGatewayApi
- /*/*
Type: AWS::Lambda::Permission
LambdaExecutionRole:
Properties:
AssumeRolePolicyDocument:
Statement:
Action: sts:AssumeRole
Effect: Allow
Principal:
Service: lambda.amazonaws.com
Version: '2012-10-17'
Path: /
Policies:
- PolicyDocument:
Statement:
- Action:
- logs:CreateLogGroup
- logs:CreateLogStream
- logs:PutLogEvents
Effect: Allow
Resource: arn:aws:logs:*:*:*
Version: '2012-10-17'
PolicyName: root
Type: AWS::IAM::Role
LambdaExecutionRolePolicyAppend:
Properties:
PolicyDocument:
Statement:
- Action:
- s3:CreateBucket
- s3:ListBucket
Effect: Allow
Resource: arn:aws:s3:::nodered12
- Action:
- s3:PutObject
- s3:GetObject
Effect: Allow
Resource:
Fn::Join:
- /
- - arn:aws:s3:::nodered12
- Ref: api12
- '*'
Version: '2012-10-17'
PolicyName: S3_access
Roles:
- Ref: LambdaExecutionRole
Type: AWS::IAM::Policy
api12:
Properties:
CodeUri: s3://nodered12/461c4af826c7ac14282e564f0fdf81b7
Environment:
Variables:
S3_BUCKET:
Ref: S3BUCKET
Events:
ProxyApiGreedy:
Properties:
Method: ANY
Path: /{proxy+}
RestApiId:
Ref: ApiGatewayApi
Type: Api
ProxyApiRoot:
Properties:
Method: ANY
Path: /
RestApiId:
Ref: ApiGatewayApi
Type: Api
FunctionName: api12
Handler: lambda.handler
MemorySize: 1024
Role:
Fn::GetAtt:
- LambdaExecutionRole
- Arn
Runtime: nodejs6.10
Timeout: 30
Type: AWS::Serverless::Function
Transform: AWS::Serverless-2016-10-31