mirror of
https://github.com/gabehf/cloudcomputing-project.git
synced 2026-03-07 21:48:16 -08:00
added API gateway v2
This commit is contained in:
parent
70192929ca
commit
366ee3ff5d
2 changed files with 113 additions and 3 deletions
1
openapi.json
Normal file
1
openapi.json
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"openapi":"3.0.3","info":{"title":"MusicAPI","version":"1.0","x-logo":{"url":""}},"paths":{"/":{"summary":"home page","get":{"tags":[]},"x-last-modified":1667004520934},"/add":{"summary":"add a song to the database","post":{"tags":[]},"x-last-modified":1667004538430},"/search?s={query}":{"get":{"tags":[]},"x-last-modified":1667004563860}},"components":{"securitySchemes":{},"schemas":{"home page":{"type":"string","format":"text/html","x-last-modified":1667004601418},"add response":{"type":"boolean","format":"boolean","x-last-modified":1667004629755},"search response":{"type":"object","required":["Title","Artist","File"],"x-last-modified":1667004679899}},"headers":{},"responses":{},"parameters":{}},"tags":[],"servers":[{"url":"https://api.example.io"}],"security":[]}
|
||||||
115
template.yml
115
template.yml
|
|
@ -65,6 +65,55 @@ Metadata:
|
||||||
embeds: []
|
embeds: []
|
||||||
isassociatedwith:
|
isassociatedwith:
|
||||||
- 80500ba5-1749-47bc-8cfa-3e9a0f0d0572
|
- 80500ba5-1749-47bc-8cfa-3e9a0f0d0572
|
||||||
|
d701293c-6494-4f90-b758-31f57f52e379:
|
||||||
|
size:
|
||||||
|
width: 60
|
||||||
|
height: 60
|
||||||
|
position:
|
||||||
|
x: -190
|
||||||
|
'y': 250
|
||||||
|
z: 0
|
||||||
|
embeds: []
|
||||||
|
7d399dae-9f6c-4026-9286-d33113777902:
|
||||||
|
size:
|
||||||
|
width: 60
|
||||||
|
height: 60
|
||||||
|
position:
|
||||||
|
x: -360
|
||||||
|
'y': 250
|
||||||
|
z: 0
|
||||||
|
embeds: []
|
||||||
|
b27ea063-d0ac-40c1-8c49-9147a53ea072:
|
||||||
|
size:
|
||||||
|
width: 60
|
||||||
|
height: 60
|
||||||
|
position:
|
||||||
|
x: -270
|
||||||
|
'y': 380
|
||||||
|
z: 0
|
||||||
|
embeds: []
|
||||||
|
88fe53b7-5e96-416e-ad00-9ebe8d04269a:
|
||||||
|
size:
|
||||||
|
width: 60
|
||||||
|
height: 60
|
||||||
|
position:
|
||||||
|
x: -200
|
||||||
|
'y': 140
|
||||||
|
z: 0
|
||||||
|
embeds: []
|
||||||
|
dependson:
|
||||||
|
- 80500ba5-1749-47bc-8cfa-3e9a0f0d0572
|
||||||
|
badaa010-8776-4159-8720-9ee8be16806e:
|
||||||
|
size:
|
||||||
|
width: 60
|
||||||
|
height: 60
|
||||||
|
position:
|
||||||
|
x: 80
|
||||||
|
'y': 380
|
||||||
|
z: 0
|
||||||
|
embeds: []
|
||||||
|
isassociatedwith:
|
||||||
|
- 80500ba5-1749-47bc-8cfa-3e9a0f0d0572
|
||||||
Resources:
|
Resources:
|
||||||
URL:
|
URL:
|
||||||
Type: 'AWS::Lambda::Url'
|
Type: 'AWS::Lambda::Url'
|
||||||
|
|
@ -85,7 +134,7 @@ Resources:
|
||||||
Handler: index.handler
|
Handler: index.handler
|
||||||
Runtime: nodejs16.x
|
Runtime: nodejs16.x
|
||||||
Code:
|
Code:
|
||||||
S3Bucket: ${bucketname}
|
S3Bucket: '${bucketname}'
|
||||||
S3Key: index.zip
|
S3Key: index.zip
|
||||||
Role: !GetAtt SiteRole.Arn
|
Role: !GetAtt SiteRole.Arn
|
||||||
Metadata:
|
Metadata:
|
||||||
|
|
@ -148,10 +197,70 @@ Resources:
|
||||||
Type: 'AWS::Lambda::Permission'
|
Type: 'AWS::Lambda::Permission'
|
||||||
Properties:
|
Properties:
|
||||||
Action: 'lambda:invokeFunctionUrl'
|
Action: 'lambda:invokeFunctionUrl'
|
||||||
FunctionUrlAuthType: 'NONE'
|
FunctionUrlAuthType: NONE
|
||||||
FunctionName: !Ref Server
|
FunctionName: !Ref Server
|
||||||
Principal: '*'
|
Principal: '*'
|
||||||
Metadata:
|
Metadata:
|
||||||
'AWS::CloudFormation::Designer':
|
'AWS::CloudFormation::Designer':
|
||||||
id: 161bd476-b869-4c2e-968b-05cd0b73052f
|
id: 161bd476-b869-4c2e-968b-05cd0b73052f
|
||||||
|
MusicAPI:
|
||||||
|
Type: 'AWS::ApiGatewayV2::Api'
|
||||||
|
Properties:
|
||||||
|
Target: !GetAtt Server.Arn
|
||||||
|
Name: MusicAPI
|
||||||
|
ProtocolType: HTTP
|
||||||
|
Metadata:
|
||||||
|
'AWS::CloudFormation::Designer':
|
||||||
|
id: d701293c-6494-4f90-b758-31f57f52e379
|
||||||
|
HomeRoute:
|
||||||
|
Type: 'AWS::ApiGatewayV2::Route'
|
||||||
|
Properties:
|
||||||
|
ApiId: !Ref MusicAPI
|
||||||
|
RouteKey: Get /
|
||||||
|
Target: !Join
|
||||||
|
- /
|
||||||
|
- - integrations
|
||||||
|
- !Ref APIIntegration
|
||||||
|
Metadata:
|
||||||
|
'AWS::CloudFormation::Designer':
|
||||||
|
id: 7d399dae-9f6c-4026-9286-d33113777902
|
||||||
|
DependsOn:
|
||||||
|
- MusicAPI
|
||||||
|
AddRoute:
|
||||||
|
Type: 'AWS::ApiGatewayV2::Route'
|
||||||
|
Properties:
|
||||||
|
ApiId: !Ref MusicAPI
|
||||||
|
RouteKey: POST /add
|
||||||
|
Target: !Join
|
||||||
|
- /
|
||||||
|
- - integrations
|
||||||
|
- !Ref APIIntegration
|
||||||
|
Metadata:
|
||||||
|
'AWS::CloudFormation::Designer':
|
||||||
|
id: b27ea063-d0ac-40c1-8c49-9147a53ea072
|
||||||
|
DependsOn:
|
||||||
|
- MusicAPI
|
||||||
|
APIIntegration:
|
||||||
|
Type: 'AWS::ApiGatewayV2::Integration'
|
||||||
|
Properties:
|
||||||
|
ApiId: !Ref MusicAPI
|
||||||
|
IntegrationType: AWS_PROXY
|
||||||
|
PayloadFormatVersion: 2.0
|
||||||
|
IntegrationUri:
|
||||||
|
'Fn::Sub': >-
|
||||||
|
arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${Server.Arn}/invocations
|
||||||
|
Metadata:
|
||||||
|
'AWS::CloudFormation::Designer':
|
||||||
|
id: 88fe53b7-5e96-416e-ad00-9ebe8d04269a
|
||||||
|
DependsOn:
|
||||||
|
- Server
|
||||||
|
APIPermission:
|
||||||
|
Type: 'AWS::Lambda::Permission'
|
||||||
|
Properties:
|
||||||
|
Action: 'lambda:InvokeFunction'
|
||||||
|
FunctionName: !Ref Server
|
||||||
|
Principal: apigateway.amazonaws.com
|
||||||
|
SourceArn: !Sub 'arn:aws:execute-api:${AWS::Region}:${AWS::AccountId}:${MusicAPI}/*/*/'
|
||||||
|
Metadata:
|
||||||
|
'AWS::CloudFormation::Designer':
|
||||||
|
id: badaa010-8776-4159-8720-9ee8be16806e
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue