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: []
|
||||
isassociatedwith:
|
||||
- 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:
|
||||
URL:
|
||||
Type: 'AWS::Lambda::Url'
|
||||
|
|
@ -85,7 +134,7 @@ Resources:
|
|||
Handler: index.handler
|
||||
Runtime: nodejs16.x
|
||||
Code:
|
||||
S3Bucket: ${bucketname}
|
||||
S3Bucket: '${bucketname}'
|
||||
S3Key: index.zip
|
||||
Role: !GetAtt SiteRole.Arn
|
||||
Metadata:
|
||||
|
|
@ -148,10 +197,70 @@ Resources:
|
|||
Type: 'AWS::Lambda::Permission'
|
||||
Properties:
|
||||
Action: 'lambda:invokeFunctionUrl'
|
||||
FunctionUrlAuthType: 'NONE'
|
||||
FunctionUrlAuthType: NONE
|
||||
FunctionName: !Ref Server
|
||||
Principal: '*'
|
||||
Metadata:
|
||||
'AWS::CloudFormation::Designer':
|
||||
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