-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtemplate.yaml
71 lines (64 loc) · 1.95 KB
/
template.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
AWSTemplateFormatVersion: "2010-09-09"
Transform: AWS::Serverless-2016-10-31
Description: >
lambda_graphql
GraphQL endpoint in Lambda function
Parameters:
Stage:
Type: String
Default: dev
Globals:
Function:
Timeout: 5
Api:
Cors:
AllowMethods: "'OPTIONS'"
AllowHeaders: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'"
AllowOrigin: "'*'"
Resources:
LambdaGraphqlGetFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: src/
Handler: graphql_get.lambda_handler
Runtime: python3.8
Events:
LambdaGraphql:
Type: Api
Properties:
Path: /graphql
Method: get
RestApiId: !Ref ApiDeployment
LambdaGraphqlPostFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: src/
Handler: graphql_post.lambda_handler
Runtime: python3.8
Events:
LambdaGraphql:
Type: Api
Properties:
Path: /graphql
Method: post
RestApiId: !Ref ApiDeployment
ApiDeployment:
Type: AWS::Serverless::Api
Properties:
StageName: !Ref Stage
Outputs:
LambdaGraphqlApi:
Description: "API Gateway endpoint URL for the Lambda-GraphQL app"
Value: !Sub "https://${ApiDeployment}.execute-api.${AWS::Region}.amazonaws.com/${Stage}/graphql/"
LambdaGraphqlGetFunction:
Description: "Lambda-GraphQL GET Lambda Function ARN"
Value: !GetAtt LambdaGraphqlGetFunction.Arn
LambdaGraphqlGetFunctionIamRole:
Description: "Implicit IAM Role created for Lambda-GraphQL GET function"
Value: !GetAtt LambdaGraphqlGetFunctionRole.Arn
LambdaGraphqlPostFunction:
Description: "Lambda-GraphQL POST Lambda Function ARN"
Value: !GetAtt LambdaGraphqlPostFunction.Arn
LambdaGraphqlPostFunctionIamRole:
Description: "Implicit IAM Role created for Lambda-GraphQL POST function"
Value: !GetAtt LambdaGraphqlPostFunctionRole.Arn