Mercurial > public > tweet-analysis
annotate template.yaml @ 16:355216ee5cd4 default tip
Move to mercurial
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Tue, 03 Jun 2025 14:38:35 +0100 |
parents | 6541622b6127 |
children |
rev | line source |
---|---|
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
1 AWSTemplateFormatVersion: '2010-09-09' |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
2 Transform: AWS::Serverless-2016-10-31 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
3 Description: Fetch & analyse tweets using AWS Comprehend |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
4 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
5 # Global Settings |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
6 Globals: |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
7 Function: |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
8 Timeout: 3 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
9 Tags: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
10 application-id: "tweet-analysis" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
11 Api: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
12 Auth: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
13 ApiKeyRequired: true |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
14 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
15 Resources: |
5
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
16 |
2
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
17 ## |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
18 ### START API GATEWAY CONFIGURATION ### |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
19 ## |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
20 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
21 # Create Api version v1 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
22 V1Stage: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
23 Type: AWS::ApiGateway::Stage |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
24 Properties: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
25 DeploymentId: !Ref V1StageDeployment |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
26 Description: Api version 1 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
27 RestApiId: !Ref ServerlessRestApi |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
28 StageName: v1 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
29 Tags: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
30 - Key: "application-id" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
31 Value: "tweet-analysis" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
32 - Key: "Name" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
33 Value: "tweet-analysis::rest-api::v1" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
34 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
35 # Deploy Api version 1 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
36 V1StageDeployment: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
37 Type: AWS::ApiGateway::Deployment |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
38 Properties: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
39 Description: Deployment of Api version 1 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
40 RestApiId: !Ref ServerlessRestApi |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
41 |
5
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
42 # Create PaidUsagePlan usage plan |
2
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
43 PaidUsagePlan: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
44 Type: AWS::ApiGateway::UsagePlan |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
45 Properties: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
46 ApiStages: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
47 - ApiId: !Ref ServerlessRestApi |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
48 Stage: !Ref V1Stage |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
49 Description: Api usage plan |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
50 Quota: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
51 Limit: 10000 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
52 Period: MONTH |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
53 Throttle: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
54 BurstLimit: 100 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
55 RateLimit: 20 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
56 UsagePlanName: PaidUsagePlan |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
57 Tags: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
58 - Key: "application-id" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
59 Value: "tweet-analysis" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
60 - Key: "Name" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
61 Value: "tweet-analysis::rest-api::paid-usage-plan" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
62 |
5
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
63 # Create Api key for PaidUsagePlan |
2
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
64 PaidApiKey: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
65 Type: AWS::ApiGateway::ApiKey |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
66 Properties: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
67 Description: Api key for paid usage plan |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
68 Enabled: true |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
69 StageKeys: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
70 - RestApiId: !Ref ServerlessRestApi |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
71 StageName: !Ref V1Stage |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
72 Tags: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
73 - Key: "application-id" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
74 Value: "tweet-analysis" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
75 - Key: "Name" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
76 Value: "tweet-analysis::rest-api::key" |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
77 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
78 # Attach the created api key to the usage plan |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
79 PaidUsagePlanKey: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
80 Type: AWS::ApiGateway::UsagePlanKey |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
81 Properties: |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
82 KeyId: !Ref PaidApiKey |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
83 KeyType: API_KEY |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
84 UsagePlanId: !Ref PaidUsagePlan |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
85 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
86 # Create custom domain in Api Gateway |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
87 Domain: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
88 Type: AWS::ApiGateway::DomainName |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
89 Properties: |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
90 RegionalCertificateArn: !Ref DomainCertificate |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
91 DomainName: tweet-analysis.dennistech.io |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
92 SecurityPolicy: TLS_1_2 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
93 EndpointConfiguration: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
94 Types: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
95 - REGIONAL |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
96 Tags: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
97 - Key: "application-id" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
98 Value: "tweet-analysis" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
99 - Key: "Name" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
100 Value: "tweet-analysis::api-custom-domain" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
101 |
2
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
102 ## |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
103 ### END API CONFIGURATION ### |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
104 ## |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
105 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
106 ## |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
107 ### START DOMAIN CONFIGURATION ### |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
108 ## |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
109 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
110 # Create domain SSL certificate |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
111 DomainCertificate: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
112 Type: AWS::CertificateManager::Certificate |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
113 Properties: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
114 DomainName: tweet-analysis.dennistech.io |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
115 ValidationMethod: DNS |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
116 DomainValidationOptions: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
117 - DomainName: tweet-analysis.dennistech.io |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
118 HostedZoneId: Z0937998E3C5GEK4NHO9 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
119 Tags: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
120 - Key: "application-id" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
121 Value: "tweet-analysis" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
122 - Key: "Name" |
5
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
123 Value: "tweet-analysis::domain-certificate::dennistech.io" |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
124 |
5
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
125 # Map tweet-analysis.dennistech.io to the regional domain generated by Api Gateway |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
126 DomainMapping: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
127 Type: AWS::Route53::RecordSet |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
128 Properties: |
5
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
129 Name: tweet-analysis.dennistech.io |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
130 Comment: Map domain to the regional domain generated by Api Gateway |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
131 HostedZoneId: Z0937998E3C5GEK4NHO9 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
132 Type: A |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
133 AliasTarget: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
134 DNSName: !GetAtt Domain.RegionalDomainName |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
135 EvaluateTargetHealth: true |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
136 HostedZoneId: !GetAtt Domain.RegionalHostedZoneId |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
137 |
5
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
138 # Configure mapping in API Gateway custom domain to point to v1 stage |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
139 PathMapping: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
140 Type: AWS::ApiGateway::BasePathMapping |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
141 Properties: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
142 DomainName: !Ref Domain |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
143 RestApiId: !Ref ServerlessRestApi |
2
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
144 Stage: v1 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
145 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
146 ## |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
147 ### END DOMAIN CONFIGURATION ### |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
148 ## |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
149 |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
150 ## |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
151 ### START FUNCTION CONFIGURATION ### |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
152 ## |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
153 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
154 # Define lambda functions |
8
6541622b6127
add tweet analysis method
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
5
diff
changeset
|
155 TweetSentimentHandler: |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
156 Type: AWS::Serverless::Function |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
157 Properties: |
5
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
158 FunctionName: GetTweetSentimentFunction |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
159 Description: Fetch tweets and analyse sentiment using AWS Comprehend |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
160 CodeUri: src/ |
8
6541622b6127
add tweet analysis method
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
5
diff
changeset
|
161 Handler: handlers/tweet_sentiment_handler.get_tweet_sentiment |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
162 Runtime: python3.9 |
4
cfd876570008
attach inline policy to function to access screts
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
3
diff
changeset
|
163 Policies: |
cfd876570008
attach inline policy to function to access screts
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
3
diff
changeset
|
164 - AWSSecretsManagerGetSecretValuePolicy: |
cfd876570008
attach inline policy to function to access screts
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
3
diff
changeset
|
165 SecretArn: |
cfd876570008
attach inline policy to function to access screts
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
3
diff
changeset
|
166 arn:aws:secretsmanager:eu-west-2:339008578167:secret:tweet-analysis-keys-gKo6DQ |
5
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
167 Layers: |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
168 - !Ref TweetAnalysisSharedFunctions |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
169 Events: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
170 CallGetTweetSentiment: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
171 Type: Api |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
172 Properties: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
173 Path: /sentiment |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
174 Method: get |
5
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
175 RequestParameters: |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
176 - method.request.querystring.twitterUser: |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
177 Required: false |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
178 - method.request.querystring.numberOfTweets: |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
179 Required: false |
3
5c36f51105c2
fetch tweets working
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
2
diff
changeset
|
180 Tags: |
5c36f51105c2
fetch tweets working
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
2
diff
changeset
|
181 Name: "tweet-analysis::get-tweet-sentiment-function" |
2
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
182 |
5
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
183 # Define dependencies |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
184 TweetAnalysisSharedFunctions: |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
185 Type: AWS::Serverless::LayerVersion |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
186 Properties: |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
187 Description: Shared functions across lambda functions |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
188 CompatibleRuntimes: |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
189 - python3.9 |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
190 ContentUri: dependencies/ |
54e71cf6e324
refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
4
diff
changeset
|
191 |
2
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
192 ## |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
193 ### END FUNCTION CONFIGURATION ### |
561bc303784f
customize api gateway resources
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
1
diff
changeset
|
194 ## |