Mercurial > public > tweet-analysis
annotate template.yaml @ 1:0277e7fc0f0a
first successful sam deploy
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Thu, 16 Sep 2021 09:38:07 +0200 |
parents | cea9500dca25 |
children | 561bc303784f |
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 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
14 UsagePlan: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
15 CreateUsagePlan: PER_API |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
16 |
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
17 Resources: |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
18 # Create custom domain in Api Gateway |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
19 Domain: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
20 Type: AWS::ApiGateway::DomainName |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
21 Properties: |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
22 RegionalCertificateArn: !Ref DomainCertificate |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
23 DomainName: tweet-analysis.dennistech.io |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
24 SecurityPolicy: TLS_1_2 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
25 EndpointConfiguration: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
26 Types: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
27 - REGIONAL |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
28 Tags: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
29 - Key: "application-id" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
30 Value: "tweet-analysis" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
31 - Key: "Name" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
32 Value: "tweet-analysis::api-custom-domain" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
33 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
34 # Create domain SSL certificate |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
35 DomainCertificate: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
36 Type: AWS::CertificateManager::Certificate |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
37 Properties: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
38 DomainName: tweet-analysis.dennistech.io |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
39 ValidationMethod: DNS |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
40 DomainValidationOptions: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
41 - DomainName: tweet-analysis.dennistech.io |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
42 HostedZoneId: Z0937998E3C5GEK4NHO9 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
43 Tags: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
44 - Key: "application-id" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
45 Value: "tweet-analysis" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
46 - Key: "Name" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
47 Value: "tweet-analysis::certificate::dennistech.io" |
0
cea9500dca25
first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff
changeset
|
48 |
1
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
49 # Map domain to the regional domain generated by Api Gateway |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
50 DomainMapping: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
51 Type: AWS::Route53::RecordSet |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
52 Properties: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
53 HostedZoneId: Z0937998E3C5GEK4NHO9 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
54 Name: tweet-analysis.dennistech.io |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
55 Type: A |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
56 AliasTarget: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
57 DNSName: !GetAtt Domain.RegionalDomainName |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
58 EvaluateTargetHealth: true |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
59 HostedZoneId: !GetAtt Domain.RegionalHostedZoneId |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
60 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
61 # Map paths from your domain name to your API stages |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
62 PathMapping: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
63 Type: AWS::ApiGateway::BasePathMapping |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
64 Properties: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
65 DomainName: !Ref Domain |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
66 RestApiId: !Ref ServerlessRestApi |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
67 Stage: Prod |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
68 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
69 # Define lambda functions |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
70 GetTweetSentimentFunction: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
71 Type: AWS::Serverless::Function |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
72 Properties: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
73 Description: Fetch tweets and analyse sentiment using AWS Comprehend |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
74 CodeUri: src/ |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
75 Handler: handlers/sentiment.get_tweet_sentiment |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
76 Runtime: python3.9 |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
77 Tags: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
78 Name: "tweet-analysis::get-tweet-sentiment-function" |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
79 Events: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
80 CallGetTweetSentiment: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
81 Type: Api |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
82 Properties: |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
83 Path: /sentiment |
0277e7fc0f0a
first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
0
diff
changeset
|
84 Method: get |