You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
192 lines
4.6 KiB
192 lines
4.6 KiB
AWSTemplateFormatVersion: 2010-09-09
|
|
Metadata:
|
|
'AWS::CloudFormation::Designer':
|
|
6892b949-4601-47eb-af8d-f584c12bc81b:
|
|
size:
|
|
width: 60
|
|
height: 60
|
|
position:
|
|
x: 82
|
|
'y': 299
|
|
z: 0
|
|
embeds: []
|
|
80500ba5-1749-47bc-8cfa-3e9a0f0d0572:
|
|
size:
|
|
width: 60
|
|
height: 60
|
|
position:
|
|
x: 200
|
|
'y': 300
|
|
z: 0
|
|
embeds: []
|
|
13c58f7b-60f4-4942-8731-d2b12e056e39:
|
|
size:
|
|
width: 60
|
|
height: 60
|
|
position:
|
|
x: 340
|
|
'y': 180
|
|
z: 0
|
|
embeds: []
|
|
isassociatedwith:
|
|
- d6f4bd86-a7e4-46c2-abab-2fd987e6a4f1
|
|
- 792d4352-869b-4732-a0d2-d4bcc40a6b96
|
|
dependson:
|
|
- d6f4bd86-a7e4-46c2-abab-2fd987e6a4f1
|
|
- 13c58f7b-60f4-4942-8731-d2b12e056e39
|
|
792d4352-869b-4732-a0d2-d4bcc40a6b96:
|
|
size:
|
|
width: 60
|
|
height: 60
|
|
position:
|
|
x: 460
|
|
'y': 180
|
|
z: 0
|
|
embeds: []
|
|
dependson:
|
|
- 13c58f7b-60f4-4942-8731-d2b12e056e39
|
|
3cf5efd5-85be-4593-b08b-bc3d4a6091b4:
|
|
size:
|
|
width: 60
|
|
height: 60
|
|
position:
|
|
x: 340
|
|
'y': 350
|
|
z: 0
|
|
embeds: []
|
|
161bd476-b869-4c2e-968b-05cd0b73052f:
|
|
size:
|
|
width: 60
|
|
height: 60
|
|
position:
|
|
x: 80
|
|
'y': 220
|
|
z: 0
|
|
embeds: []
|
|
isassociatedwith:
|
|
- 80500ba5-1749-47bc-8cfa-3e9a0f0d0572
|
|
6a40fbab-730f-4fd4-9647-36cf479e94c2:
|
|
size:
|
|
width: 60
|
|
height: 60
|
|
position:
|
|
x: 340
|
|
'y': 60
|
|
z: 0
|
|
embeds: []
|
|
isassociatedwith:
|
|
- 13c58f7b-60f4-4942-8731-d2b12e056e39
|
|
Resources:
|
|
URL:
|
|
Type: 'AWS::Lambda::Url'
|
|
Properties:
|
|
AuthType: NONE
|
|
TargetFunctionArn: !GetAtt
|
|
- Server
|
|
- Arn
|
|
Metadata:
|
|
'AWS::CloudFormation::Designer':
|
|
id: 6892b949-4601-47eb-af8d-f584c12bc81b
|
|
DependsOn:
|
|
- Server
|
|
Server:
|
|
Type: 'AWS::Lambda::Function'
|
|
Properties:
|
|
FunctionName: Server
|
|
Handler: index.handler
|
|
Runtime: nodejs16.x
|
|
Code:
|
|
S3Bucket: '${bucketname}'
|
|
S3Key: index.zip
|
|
Role: !GetAtt
|
|
- SiteRole
|
|
- Arn
|
|
MemorySize: 512
|
|
Metadata:
|
|
'AWS::CloudFormation::Designer':
|
|
id: 80500ba5-1749-47bc-8cfa-3e9a0f0d0572
|
|
DependsOn:
|
|
- SiteRole
|
|
SiteRole:
|
|
Type: 'AWS::IAM::Role'
|
|
Properties:
|
|
AssumeRolePolicyDocument:
|
|
Version: 2012-10-17
|
|
Statement:
|
|
- Effect: Allow
|
|
Principal:
|
|
Service:
|
|
- lambda.amazonaws.com
|
|
Action: 'sts:AssumeRole'
|
|
ManagedPolicyArns:
|
|
- 'arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess'
|
|
RoleName: SiteRole
|
|
Metadata:
|
|
'AWS::CloudFormation::Designer':
|
|
id: 13c58f7b-60f4-4942-8731-d2b12e056e39
|
|
ExecPolicy:
|
|
Type: 'AWS::IAM::Policy'
|
|
Properties:
|
|
PolicyName: LambdaExcecutionPolicy
|
|
PolicyDocument:
|
|
Version: 2012-10-17
|
|
Statement:
|
|
- Effect: Allow
|
|
Action:
|
|
- 'logs:CreateLogGroup'
|
|
- 'logs:CreateLogStream'
|
|
- 'logs:PutLogEvents'
|
|
Resource: '*'
|
|
Roles:
|
|
- !Ref SiteRole
|
|
Metadata:
|
|
'AWS::CloudFormation::Designer':
|
|
id: 792d4352-869b-4732-a0d2-d4bcc40a6b96
|
|
DependsOn:
|
|
- SiteRole
|
|
MusicTable:
|
|
Type: 'AWS::DynamoDB::Table'
|
|
Properties:
|
|
KeySchema:
|
|
- AttributeName: id
|
|
KeyType: HASH
|
|
AttributeDefinitions:
|
|
- AttributeName: id
|
|
AttributeType: S
|
|
BillingMode: PAY_PER_REQUEST
|
|
TableName: MusicTable
|
|
Metadata:
|
|
'AWS::CloudFormation::Designer':
|
|
id: 3cf5efd5-85be-4593-b08b-bc3d4a6091b4
|
|
Permission:
|
|
Type: 'AWS::Lambda::Permission'
|
|
Properties:
|
|
Action: 'lambda:invokeFunctionUrl'
|
|
FunctionUrlAuthType: NONE
|
|
FunctionName: !Ref Server
|
|
Principal: '*'
|
|
Metadata:
|
|
'AWS::CloudFormation::Designer':
|
|
id: 161bd476-b869-4c2e-968b-05cd0b73052f
|
|
MusicBucketAllAccess:
|
|
Type: 'AWS::IAM::Policy'
|
|
Properties:
|
|
PolicyName: MusicBucketAllAccess
|
|
PolicyDocument:
|
|
Version: 2012-10-17
|
|
Statement:
|
|
- Sid: SIDALLOWALLS3
|
|
Effect: Allow
|
|
Action:
|
|
- 's3:*'
|
|
Resource: '*'
|
|
- Sid: SIDCODEBUCKET
|
|
Effect: Allow
|
|
Action: 's3:*'
|
|
Resource: 'arn:aws:s3:::group7-code-bucket-73h3fdsa'
|
|
Roles:
|
|
- !Ref SiteRole
|
|
Metadata:
|
|
'AWS::CloudFormation::Designer':
|
|
id: 6a40fbab-730f-4fd4-9647-36cf479e94c2
|