· 5 years ago · Dec 07, 2020, 10:30 PM
1# Environment name: BPTAAAAF3922
2# Cloudfront is going to be deployed: NO
3# SSM Parameter Session is going to be deployed: NO
4# Kinesis Data Streams integration is going to be deployed: NO
5# Kinesis Firehose is going to be deployed: NO
6Resources:
7 SecurityLayerBPTAAAAF3922PostRegistrationFnRoleB87DE2D7:
8 Type: AWS::IAM::Role
9 Properties:
10 AssumeRolePolicyDocument:
11 Statement:
12 - Action: sts:AssumeRole
13 Effect: Allow
14 Principal:
15 Service: lambda.amazonaws.com
16 Version: "2012-10-17"
17 ManagedPolicyArns:
18 - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
19 RoleName: BPTAAAAF3922PostRegistrationFn_Role
20 Metadata:
21 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922PostRegistrationFn_Role/Resource
22 SecurityLayerBPTAAAAF3922PostRegistration6965A182:
23 Type: AWS::Lambda::Function
24 Properties:
25 Code:
26 S3Bucket:
27 Ref: AssetParameters434dd0a53085c0be4bb7da22acacaff0973b977a604f20a3e36fd8e7fef55246S3BucketEAF4DE0B
28 S3Key:
29 Fn::Join:
30 - ""
31 - - Fn::Select:
32 - 0
33 - Fn::Split:
34 - "||"
35 - Ref: AssetParameters434dd0a53085c0be4bb7da22acacaff0973b977a604f20a3e36fd8e7fef55246S3VersionKey3A057471
36 - Fn::Select:
37 - 1
38 - Fn::Split:
39 - "||"
40 - Ref: AssetParameters434dd0a53085c0be4bb7da22acacaff0973b977a604f20a3e36fd8e7fef55246S3VersionKey3A057471
41 Handler: index.handler
42 Role:
43 Fn::GetAtt:
44 - SecurityLayerBPTAAAAF3922PostRegistrationFnRoleB87DE2D7
45 - Arn
46 Runtime: nodejs10.x
47 Description: This function adds an user to the Players group after confirmation
48 FunctionName: BPTAAAAF3922PostRegistrationFn
49 MemorySize: 128
50 Timeout: 60
51 DependsOn:
52 - SecurityLayerBPTAAAAF3922PostRegistrationFnRoleB87DE2D7
53 Metadata:
54 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922PostRegistration/Resource
55 aws:asset:path: asset.434dd0a53085c0be4bb7da22acacaff0973b977a604f20a3e36fd8e7fef55246
56 aws:asset:property: Code
57 SecurityLayerBPTAAAAF3922SimpleUserPoolCustomResource76DA732F:
58 Type: AWS::CloudFormation::CustomResource
59 Properties:
60 ServiceToken:
61 Fn::GetAtt:
62 - SingletonLambda9250fdb12d503926ba8c3234546d5cd216FFC067
63 - Arn
64 AppName: BPTAAAAF3922
65 UserPoolName: BPTAAAAF3922
66 PostConfirmationLambdaArn:
67 Fn::GetAtt:
68 - SecurityLayerBPTAAAAF3922PostRegistration6965A182
69 - Arn
70 UpdateReplacePolicy: Delete
71 DeletionPolicy: Delete
72 Metadata:
73 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922SimpleUserPoolCustomResource/Default
74 SecurityLayerBPTAAAAF3922UserPoolPerm046EB94C:
75 Type: AWS::Lambda::Permission
76 Properties:
77 Action: lambda:invokeFunction
78 FunctionName:
79 Ref: SecurityLayerBPTAAAAF3922PostRegistration6965A182
80 Principal: cognito-idp.amazonaws.com
81 SourceArn:
82 Fn::GetAtt:
83 - SecurityLayerBPTAAAAF3922SimpleUserPoolCustomResource76DA732F
84 - UserPoolArn
85 Metadata:
86 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922UserPoolPerm
87 SecurityLayerBPTAAAAF3922TriggerFunctionPolicy84F61B23:
88 Type: AWS::IAM::Policy
89 Properties:
90 PolicyDocument:
91 Statement:
92 - Action: cognito-idp:AdminAddUserToGroup
93 Effect: Allow
94 Resource:
95 Fn::GetAtt:
96 - SecurityLayerBPTAAAAF3922SimpleUserPoolCustomResource76DA732F
97 - UserPoolArn
98 Version: "2012-10-17"
99 PolicyName: AllowAddUserToGroup
100 Roles:
101 - Ref: SecurityLayerBPTAAAAF3922PostRegistrationFnRoleB87DE2D7
102 Metadata:
103 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922TriggerFunctionPolicy/Resource
104 SecurityLayerBPTAAAAF3922AppA9E37F54:
105 Type: AWS::Cognito::UserPoolClient
106 Properties:
107 UserPoolId:
108 Fn::GetAtt:
109 - SecurityLayerBPTAAAAF3922SimpleUserPoolCustomResource76DA732F
110 - UserPoolId
111 ClientName: BPTAAAAF3922Website
112 ExplicitAuthFlows:
113 - USER_PASSWORD_AUTH
114 GenerateSecret: false
115 Metadata:
116 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922App
117 SecurityLayerBPTAAAAF3922IdentityPool94C92B77:
118 Type: AWS::Cognito::IdentityPool
119 Properties:
120 AllowUnauthenticatedIdentities: false
121 CognitoIdentityProviders:
122 - ClientId:
123 Ref: SecurityLayerBPTAAAAF3922AppA9E37F54
124 ProviderName:
125 Fn::GetAtt:
126 - SecurityLayerBPTAAAAF3922SimpleUserPoolCustomResource76DA732F
127 - UserPoolProviderName
128 ServerSideTokenCheck: false
129 IdentityPoolName: BPTAAAAF3922
130 DependsOn:
131 - SecurityLayerBPTAAAAF3922SimpleUserPoolCustomResource76DA732F
132 Metadata:
133 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922IdentityPool
134 SecurityLayerBPTAAAAF3922PlayersRole4F165A89:
135 Type: AWS::IAM::Role
136 Properties:
137 AssumeRolePolicyDocument:
138 Statement:
139 - Action: sts:AssumeRoleWithWebIdentity
140 Condition:
141 StringEquals:
142 cognito-identity.amazonaws.com:aud:
143 Ref: SecurityLayerBPTAAAAF3922IdentityPool94C92B77
144 ForAnyValue:StringLike:
145 cognito-identity.amazonaws.com:amr: authenticated
146 Effect: Allow
147 Principal:
148 Federated: cognito-identity.amazonaws.com
149 Version: "2012-10-17"
150 RoleName: BPTAAAAF3922PlayersRole
151 Metadata:
152 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922PlayersRole/Resource
153 SecurityLayerBPTAAAAF3922PlayersRoleDefaultPolicy930CDD18:
154 Type: AWS::IAM::Policy
155 Properties:
156 PolicyDocument:
157 Statement:
158 - Action:
159 - mobileanalytics:PutEvents
160 - cognito-sync:*
161 - cognito-identity:*
162 Effect: Allow
163 Resource: "*"
164 - Action: apigateway:GET
165 Effect: Allow
166 Resource:
167 - Fn::Join:
168 - ""
169 - - "arn:aws:apigateway:"
170 - Ref: AWS::Region
171 - ":"
172 - Ref: AWS::AccountId
173 - ":"
174 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
175 - /prod/*/config
176 - Fn::Join:
177 - ""
178 - - "arn:aws:apigateway:"
179 - Ref: AWS::Region
180 - ":"
181 - Ref: AWS::AccountId
182 - ":"
183 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
184 - /prod/*/session
185 - Fn::Join:
186 - ""
187 - - "arn:aws:apigateway:"
188 - Ref: AWS::Region
189 - ":"
190 - Ref: AWS::AccountId
191 - ":"
192 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
193 - /prod/*/scoreboard
194 - Action: execute-api:Invoke
195 Effect: Allow
196 Resource:
197 - Fn::Join:
198 - ""
199 - - "arn:aws:execute-api:"
200 - Ref: AWS::Region
201 - ":"
202 - Ref: AWS::AccountId
203 - ":"
204 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
205 - /prod/GET/config
206 - Fn::Join:
207 - ""
208 - - "arn:aws:execute-api:"
209 - Ref: AWS::Region
210 - ":"
211 - Ref: AWS::AccountId
212 - ":"
213 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
214 - /prod/GET/session
215 - Fn::Join:
216 - ""
217 - - "arn:aws:execute-api:"
218 - Ref: AWS::Region
219 - ":"
220 - Ref: AWS::AccountId
221 - ":"
222 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
223 - /prod/GET/scoreboard
224 - Action: apigateway:POST
225 Effect: Allow
226 Resource:
227 - Fn::Join:
228 - ""
229 - - "arn:aws:apigateway:"
230 - Ref: AWS::Region
231 - ":"
232 - Ref: AWS::AccountId
233 - ":"
234 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
235 - /prod/*/updatestatus
236 - Fn::Join:
237 - ""
238 - - "arn:aws:apigateway:"
239 - Ref: AWS::Region
240 - ":"
241 - Ref: AWS::AccountId
242 - ":"
243 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
244 - /prod/*/allocate
245 - Fn::Join:
246 - ""
247 - - "arn:aws:apigateway:"
248 - Ref: AWS::Region
249 - ":"
250 - Ref: AWS::AccountId
251 - ":"
252 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
253 - /prod/*/deallocate
254 - Action: execute-api:Invoke
255 Effect: Allow
256 Resource:
257 - Fn::Join:
258 - ""
259 - - "arn:aws:execute-api:"
260 - Ref: AWS::Region
261 - ":"
262 - Ref: AWS::AccountId
263 - ":"
264 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
265 - /prod/POST/updatestatus
266 - Fn::Join:
267 - ""
268 - - "arn:aws:execute-api:"
269 - Ref: AWS::Region
270 - ":"
271 - Ref: AWS::AccountId
272 - ":"
273 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
274 - /prod/POST/allocate
275 - Fn::Join:
276 - ""
277 - - "arn:aws:execute-api:"
278 - Ref: AWS::Region
279 - ":"
280 - Ref: AWS::AccountId
281 - ":"
282 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
283 - /prod/POST/deallocate
284 Version: "2012-10-17"
285 PolicyName: SecurityLayerBPTAAAAF3922PlayersRoleDefaultPolicy930CDD18
286 Roles:
287 - Ref: SecurityLayerBPTAAAAF3922PlayersRole4F165A89
288 Metadata:
289 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922PlayersRole/DefaultPolicy/Resource
290 SecurityLayerBPTAAAAF3922Players221AE8F6:
291 Type: AWS::Cognito::UserPoolGroup
292 Properties:
293 UserPoolId:
294 Fn::GetAtt:
295 - SecurityLayerBPTAAAAF3922SimpleUserPoolCustomResource76DA732F
296 - UserPoolId
297 Description: Players of the game.
298 GroupName: Players
299 Precedence: 9999
300 RoleArn:
301 Fn::GetAtt:
302 - SecurityLayerBPTAAAAF3922PlayersRole4F165A89
303 - Arn
304 Metadata:
305 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922Players
306 SecurityLayerBPTAAAAF3922ManagersRoleB8CDD537:
307 Type: AWS::IAM::Role
308 Properties:
309 AssumeRolePolicyDocument:
310 Statement:
311 - Action: sts:AssumeRoleWithWebIdentity
312 Condition:
313 StringEquals:
314 cognito-identity.amazonaws.com:aud:
315 Ref: SecurityLayerBPTAAAAF3922IdentityPool94C92B77
316 ForAnyValue:StringLike:
317 cognito-identity.amazonaws.com:amr: authenticated
318 Effect: Allow
319 Principal:
320 Federated: cognito-identity.amazonaws.com
321 Version: "2012-10-17"
322 ManagedPolicyArns:
323 - arn:aws:iam::aws:policy/AmazonCognitoPowerUser
324 RoleName: BPTAAAAF3922ManagersRole
325 Metadata:
326 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922ManagersRole/Resource
327 SecurityLayerBPTAAAAF3922ManagersRoleDefaultPolicy31BDF19B:
328 Type: AWS::IAM::Policy
329 Properties:
330 PolicyDocument:
331 Statement:
332 - Action:
333 - mobileanalytics:PutEvents
334 - cognito-sync:*
335 - cognito-identity:*
336 Effect: Allow
337 Resource: "*"
338 - Action:
339 - dynamodb:BatchGetItem
340 - dynamodb:BatchWriteItem
341 - dynamodb:PutItem
342 - dynamodb:Scan
343 - dynamodb:Query
344 - dynamodb:GetItem
345 Effect: Allow
346 Resource:
347 Fn::Join:
348 - ""
349 - - "arn:aws:dynamodb:"
350 - Ref: AWS::Region
351 - ":"
352 - Ref: AWS::AccountId
353 - :table/BPTAAAAF3922*
354 - Action:
355 - ssm:GetParameters
356 - ssm:GetParameter
357 - ssm:DeleteParameters
358 - ssm:PutParameter
359 - ssm:DeleteParameter
360 Effect: Allow
361 Resource:
362 Fn::Join:
363 - ""
364 - - "arn:aws:ssm:"
365 - Ref: AWS::Region
366 - ":"
367 - Ref: AWS::AccountId
368 - :parameter/bptaaaaf3922/*
369 - Action:
370 - kinesis:GetShardIterator
371 - kinesis:DescribeStream
372 - kinesis:GetRecords
373 Effect: Allow
374 Resource:
375 Fn::GetAtt:
376 - IngestionConsumptionLayerBPTAAAAF3922InputStreamC54DB631
377 - Arn
378 - Action: apigateway:*
379 Effect: Allow
380 Resource:
381 Fn::Join:
382 - ""
383 - - "arn:aws:apigateway:"
384 - Ref: AWS::Region
385 - ":"
386 - Ref: AWS::AccountId
387 - ":"
388 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
389 - /prod/*/*
390 Version: "2012-10-17"
391 PolicyName: SecurityLayerBPTAAAAF3922ManagersRoleDefaultPolicy31BDF19B
392 Roles:
393 - Ref: SecurityLayerBPTAAAAF3922ManagersRoleB8CDD537
394 Metadata:
395 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922ManagersRole/DefaultPolicy/Resource
396 SecurityLayerBPTAAAAF3922ManagersCDC42CF6:
397 Type: AWS::Cognito::UserPoolGroup
398 Properties:
399 UserPoolId:
400 Fn::GetAtt:
401 - SecurityLayerBPTAAAAF3922SimpleUserPoolCustomResource76DA732F
402 - UserPoolId
403 Description: Managers of the game.
404 GroupName: Managers
405 Precedence: 0
406 RoleArn:
407 Fn::GetAtt:
408 - SecurityLayerBPTAAAAF3922ManagersRoleB8CDD537
409 - Arn
410 Metadata:
411 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922Managers
412 SecurityLayerBPTAAAAF3922UnauthRole916CEAE4:
413 Type: AWS::IAM::Role
414 Properties:
415 AssumeRolePolicyDocument:
416 Statement:
417 - Action: sts:AssumeRole
418 Condition:
419 StringEquals:
420 cognito-identity.amazonaws.com:aud:
421 Ref: SecurityLayerBPTAAAAF3922IdentityPool94C92B77
422 ForAnyValue:StringLike:
423 cognito-identity.amazonaws.com:amr: unauthenticated
424 Effect: Allow
425 Principal:
426 Federated: cognito-identity.amazonaws.com
427 Version: "2012-10-17"
428 RoleName: BPTAAAAF3922UnauthRole
429 Metadata:
430 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922UnauthRole/Resource
431 SecurityLayerBPTAAAAF3922UnauthRoleDefaultPolicy3742774A:
432 Type: AWS::IAM::Policy
433 Properties:
434 PolicyDocument:
435 Statement:
436 - Action:
437 - mobileanalytics:PutEvents
438 - cognito-sync:*
439 - cognito-identity:*
440 Effect: Allow
441 Resource: "*"
442 Version: "2012-10-17"
443 PolicyName: SecurityLayerBPTAAAAF3922UnauthRoleDefaultPolicy3742774A
444 Roles:
445 - Ref: SecurityLayerBPTAAAAF3922UnauthRole916CEAE4
446 Metadata:
447 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922UnauthRole/DefaultPolicy/Resource
448 SecurityLayerBPTAAAAF3922IDPRoles94D65AD6:
449 Type: AWS::Cognito::IdentityPoolRoleAttachment
450 Properties:
451 IdentityPoolId:
452 Ref: SecurityLayerBPTAAAAF3922IdentityPool94C92B77
453 Roles:
454 authenticated:
455 Fn::GetAtt:
456 - SecurityLayerBPTAAAAF3922PlayersRole4F165A89
457 - Arn
458 unauthenticated:
459 Fn::GetAtt:
460 - SecurityLayerBPTAAAAF3922UnauthRole916CEAE4
461 - Arn
462 Metadata:
463 aws:cdk:path: BPTAAAAF3922/SecurityLayer/BPTAAAAF3922IDPRoles
464 SingletonLambda9250fdb12d503926ba8c3234546d5cd2ServiceRole74E6B75B:
465 Type: AWS::IAM::Role
466 Properties:
467 AssumeRolePolicyDocument:
468 Statement:
469 - Action: sts:AssumeRole
470 Effect: Allow
471 Principal:
472 Service: lambda.amazonaws.com
473 Version: "2012-10-17"
474 ManagedPolicyArns:
475 - Fn::Join:
476 - ""
477 - - "arn:"
478 - Ref: AWS::Partition
479 - :iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
480 Metadata:
481 aws:cdk:path: BPTAAAAF3922/SingletonLambda9250fdb12d503926ba8c3234546d5cd2/ServiceRole/Resource
482 SingletonLambda9250fdb12d503926ba8c3234546d5cd2ServiceRoleDefaultPolicy04DD81FD:
483 Type: AWS::IAM::Policy
484 Properties:
485 PolicyDocument:
486 Statement:
487 - Action:
488 - cognito-idp:DeleteUserPool
489 - cognito-idp:CreateUserPool
490 - cognito-idp:UpdateUserPool
491 - cognito-idp:CreateUserPoolDomain
492 - cognito-idp:DeleteUserPoolDomain
493 Effect: Allow
494 Resource: "*"
495 Version: "2012-10-17"
496 PolicyName: SingletonLambda9250fdb12d503926ba8c3234546d5cd2ServiceRoleDefaultPolicy04DD81FD
497 Roles:
498 - Ref: SingletonLambda9250fdb12d503926ba8c3234546d5cd2ServiceRole74E6B75B
499 Metadata:
500 aws:cdk:path: BPTAAAAF3922/SingletonLambda9250fdb12d503926ba8c3234546d5cd2/ServiceRole/DefaultPolicy/Resource
501 SingletonLambda9250fdb12d503926ba8c3234546d5cd216FFC067:
502 Type: AWS::Lambda::Function
503 Properties:
504 Code:
505 S3Bucket:
506 Ref: AssetParametersd8bd52a6c8c58bbae9050eda1ae3ce128816963c7a4516bdf76701a645570243S3Bucket8F7ACFB1
507 S3Key:
508 Fn::Join:
509 - ""
510 - - Fn::Select:
511 - 0
512 - Fn::Split:
513 - "||"
514 - Ref: AssetParametersd8bd52a6c8c58bbae9050eda1ae3ce128816963c7a4516bdf76701a645570243S3VersionKey2571601F
515 - Fn::Select:
516 - 1
517 - Fn::Split:
518 - "||"
519 - Ref: AssetParametersd8bd52a6c8c58bbae9050eda1ae3ce128816963c7a4516bdf76701a645570243S3VersionKey2571601F
520 Handler: index.handler
521 Role:
522 Fn::GetAtt:
523 - SingletonLambda9250fdb12d503926ba8c3234546d5cd2ServiceRole74E6B75B
524 - Arn
525 Runtime: nodejs10.x
526 Description: Generates the UserPool using configuration not available on CDK
527 Timeout: 300
528 DependsOn:
529 - SingletonLambda9250fdb12d503926ba8c3234546d5cd2ServiceRoleDefaultPolicy04DD81FD
530 - SingletonLambda9250fdb12d503926ba8c3234546d5cd2ServiceRole74E6B75B
531 Metadata:
532 aws:cdk:path: BPTAAAAF3922/SingletonLambda9250fdb12d503926ba8c3234546d5cd2/Resource
533 aws:asset:path: asset.d8bd52a6c8c58bbae9050eda1ae3ce128816963c7a4516bdf76701a645570243
534 aws:asset:property: Code
535 ConfigurationLayerSSMParameterBPTAAAAF3922RegionB2E9A34C:
536 Type: AWS::SSM::Parameter
537 Properties:
538 Type: String
539 Value:
540 Ref: AWS::Region
541 Name: /bptaaaaf3922/region
542 Metadata:
543 aws:cdk:path: BPTAAAAF3922/ConfigurationLayer/SSMParameterBPTAAAAF3922Region
544 ConfigurationLayerSSMParameterBPTAAAAF3922ClientIdFC47F8DF:
545 Type: AWS::SSM::Parameter
546 Properties:
547 Type: String
548 Value:
549 Ref: SecurityLayerBPTAAAAF3922AppA9E37F54
550 Name: /bptaaaaf3922/clientid
551 Metadata:
552 aws:cdk:path: BPTAAAAF3922/ConfigurationLayer/SSMParameterBPTAAAAF3922ClientId
553 ConfigurationLayerSSMParameterBPTAAAAF3922UserpoolId08CA8525:
554 Type: AWS::SSM::Parameter
555 Properties:
556 Type: String
557 Value:
558 Fn::GetAtt:
559 - SecurityLayerBPTAAAAF3922SimpleUserPoolCustomResource76DA732F
560 - UserPoolId
561 Name: /bptaaaaf3922/userpoolid
562 Metadata:
563 aws:cdk:path: BPTAAAAF3922/ConfigurationLayer/SSMParameterBPTAAAAF3922UserpoolId
564 ConfigurationLayerSSMParameterBPTAAAAF3922UserPoolURL40E29805:
565 Type: AWS::SSM::Parameter
566 Properties:
567 Type: String
568 Value:
569 Fn::Join:
570 - ""
571 - - cognito-idp.
572 - Ref: AWS::Region
573 - .amazonaws.com/
574 - Fn::GetAtt:
575 - SecurityLayerBPTAAAAF3922SimpleUserPoolCustomResource76DA732F
576 - UserPoolId
577 Name: /bptaaaaf3922/userpoolurl
578 Metadata:
579 aws:cdk:path: BPTAAAAF3922/ConfigurationLayer/SSMParameterBPTAAAAF3922UserPoolURL
580 ConfigurationLayerSSMParameterBPTAAAAF3922IdentityPoolIdDDF04C18:
581 Type: AWS::SSM::Parameter
582 Properties:
583 Type: String
584 Value:
585 Ref: SecurityLayerBPTAAAAF3922IdentityPool94C92B77
586 Name: /bptaaaaf3922/identitypoolid
587 Metadata:
588 aws:cdk:path: BPTAAAAF3922/ConfigurationLayer/SSMParameterBPTAAAAF3922IdentityPoolId
589 StorageStoragebptaaaaf3922app9F7EAA1F:
590 Type: AWS::S3::Bucket
591 Properties:
592 BucketName: bptaaaaf3922.app
593 CorsConfiguration:
594 CorsRules:
595 - AllowedHeaders:
596 - "*"
597 AllowedMethods:
598 - GET
599 - PUT
600 - DELETE
601 - POST
602 AllowedOrigins:
603 - "*"
604 WebsiteConfiguration:
605 ErrorDocument: error.html
606 IndexDocument: index.html
607 UpdateReplacePolicy: Retain
608 DeletionPolicy: Retain
609 Metadata:
610 aws:cdk:path: BPTAAAAF3922/StorageStorage/bptaaaaf3922.app/Resource
611 StorageStoragebptaaaaf3922raw129A7350:
612 Type: AWS::S3::Bucket
613 Properties:
614 BucketName: bptaaaaf3922.raw
615 UpdateReplacePolicy: Retain
616 DeletionPolicy: Retain
617 Metadata:
618 aws:cdk:path: BPTAAAAF3922/StorageStorage/bptaaaaf3922.raw/Resource
619 DatabaseLayerBPTAAAAF3922SessionDC2DF77C:
620 Type: AWS::DynamoDB::Table
621 Properties:
622 KeySchema:
623 - AttributeName: SessionId
624 KeyType: HASH
625 AttributeDefinitions:
626 - AttributeName: SessionId
627 AttributeType: S
628 BillingMode: PAY_PER_REQUEST
629 TableName: BPTAAAAF3922Session
630 UpdateReplacePolicy: Delete
631 DeletionPolicy: Delete
632 Metadata:
633 aws:cdk:path: BPTAAAAF3922/DatabaseLayer/BPTAAAAF3922Session/Resource
634 DatabaseLayerBPTAAAAF3922SessionControl27181CB9:
635 Type: AWS::DynamoDB::Table
636 Properties:
637 KeySchema:
638 - AttributeName: SessionId
639 KeyType: HASH
640 AttributeDefinitions:
641 - AttributeName: SessionId
642 AttributeType: S
643 BillingMode: PAY_PER_REQUEST
644 TableName: BPTAAAAF3922SessionControl
645 UpdateReplacePolicy: Delete
646 DeletionPolicy: Delete
647 Metadata:
648 aws:cdk:path: BPTAAAAF3922/DatabaseLayer/BPTAAAAF3922SessionControl/Resource
649 DatabaseLayerBPTAAAAF3922SessionTopX9B82EB85:
650 Type: AWS::DynamoDB::Table
651 Properties:
652 KeySchema:
653 - AttributeName: SessionId
654 KeyType: HASH
655 AttributeDefinitions:
656 - AttributeName: SessionId
657 AttributeType: S
658 BillingMode: PAY_PER_REQUEST
659 TableName: BPTAAAAF3922SessionTopX
660 UpdateReplacePolicy: Delete
661 DeletionPolicy: Delete
662 Metadata:
663 aws:cdk:path: BPTAAAAF3922/DatabaseLayer/BPTAAAAF3922SessionTopX/Resource
664 ProcessingLayerBPTAAAAF3922AllocateGamerFnRole60BB5F0B:
665 Type: AWS::IAM::Role
666 Properties:
667 AssumeRolePolicyDocument:
668 Statement:
669 - Action: sts:AssumeRole
670 Effect: Allow
671 Principal:
672 Service: lambda.amazonaws.com
673 Version: "2012-10-17"
674 ManagedPolicyArns:
675 - Fn::Join:
676 - ""
677 - - "arn:"
678 - Ref: AWS::Partition
679 - :iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
680 Policies:
681 - PolicyDocument:
682 Statement:
683 - Action:
684 - dynamodb:GetItem
685 - dynamodb:UpdateItem
686 - dynamodb:Scan
687 - dynamodb:Query
688 Effect: Allow
689 Resource:
690 Fn::GetAtt:
691 - DatabaseLayerBPTAAAAF3922SessionControl27181CB9
692 - Arn
693 Version: "2012-10-17"
694 PolicyName: DynamoDBPermissions
695 - PolicyDocument:
696 Statement:
697 - Action:
698 - ssm:GetParameter
699 - ssm:GetParameters
700 Effect: Allow
701 Resource:
702 Fn::Join:
703 - ""
704 - - "arn:aws:ssm:"
705 - Ref: AWS::Region
706 - ":"
707 - Ref: AWS::AccountId
708 - :parameter/bptaaaaf3922/session
709 Version: "2012-10-17"
710 PolicyName: SystemsManagerPermissions
711 RoleName: BPTAAAAF3922AllocateGamerFn_Role
712 Metadata:
713 aws:cdk:path: BPTAAAAF3922/ProcessingLayer/BPTAAAAF3922AllocateGamerFn_Role/Resource
714 ProcessingLayerBPTAAAAF3922AllocateGamerFn032EB3F0:
715 Type: AWS::Lambda::Function
716 Properties:
717 Code:
718 S3Bucket:
719 Ref: AssetParameters7e80e9e15e945e25395fd97cc16c88e811504061002bbc555b1cc332ecba28b4S3Bucket32103B62
720 S3Key:
721 Fn::Join:
722 - ""
723 - - Fn::Select:
724 - 0
725 - Fn::Split:
726 - "||"
727 - Ref: AssetParameters7e80e9e15e945e25395fd97cc16c88e811504061002bbc555b1cc332ecba28b4S3VersionKeyC56086D5
728 - Fn::Select:
729 - 1
730 - Fn::Split:
731 - "||"
732 - Ref: AssetParameters7e80e9e15e945e25395fd97cc16c88e811504061002bbc555b1cc332ecba28b4S3VersionKeyC56086D5
733 Handler: index.handler
734 Role:
735 Fn::GetAtt:
736 - ProcessingLayerBPTAAAAF3922AllocateGamerFnRole60BB5F0B
737 - Arn
738 Runtime: nodejs10.x
739 Description: This function supports the allocation of gamers when the game is to start
740 Environment:
741 Variables:
742 SESSION_CONTROL_TABLENAME:
743 Ref: DatabaseLayerBPTAAAAF3922SessionControl27181CB9
744 SESSION_PARAMETER: /bptaaaaf3922/session
745 FunctionName: BPTAAAAF3922AllocateGamerFn
746 MemorySize: 128
747 Timeout: 60
748 DependsOn:
749 - ProcessingLayerBPTAAAAF3922AllocateGamerFnRole60BB5F0B
750 Metadata:
751 aws:cdk:path: BPTAAAAF3922/ProcessingLayer/BPTAAAAF3922AllocateGamerFn/Resource
752 aws:asset:path: asset.7e80e9e15e945e25395fd97cc16c88e811504061002bbc555b1cc332ecba28b4
753 aws:asset:property: Code
754 ProcessingLayerBPTAAAAF3922DeallocateGamerFnRoleE8B27267:
755 Type: AWS::IAM::Role
756 Properties:
757 AssumeRolePolicyDocument:
758 Statement:
759 - Action: sts:AssumeRole
760 Effect: Allow
761 Principal:
762 Service: lambda.amazonaws.com
763 Version: "2012-10-17"
764 ManagedPolicyArns:
765 - Fn::Join:
766 - ""
767 - - "arn:"
768 - Ref: AWS::Partition
769 - :iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
770 Policies:
771 - PolicyDocument:
772 Statement:
773 - Action:
774 - dynamodb:GetItem
775 - dynamodb:UpdateItem
776 - dynamodb:Scan
777 - dynamodb:Query
778 Effect: Allow
779 Resource:
780 Fn::GetAtt:
781 - DatabaseLayerBPTAAAAF3922SessionControl27181CB9
782 - Arn
783 Version: "2012-10-17"
784 PolicyName: DynamoDBPermissions
785 - PolicyDocument:
786 Statement:
787 - Action:
788 - ssm:GetParameter
789 - ssm:GetParameters
790 Effect: Allow
791 Resource:
792 Fn::Join:
793 - ""
794 - - "arn:aws:ssm:"
795 - Ref: AWS::Region
796 - ":"
797 - Ref: AWS::AccountId
798 - :parameter/bptaaaaf3922/session
799 Version: "2012-10-17"
800 PolicyName: SystemsManagerPermissions
801 RoleName: BPTAAAAF3922DeallocateGamerFn_Role
802 Metadata:
803 aws:cdk:path: BPTAAAAF3922/ProcessingLayer/BPTAAAAF3922DeallocateGamerFn_Role/Resource
804 ProcessingLayerBPTAAAAF3922DeallocateGamerFnAEB265B8:
805 Type: AWS::Lambda::Function
806 Properties:
807 Code:
808 S3Bucket:
809 Ref: AssetParameters812444384e3e1fc0b7c7aca365cf7a548c5b4063252a04fd19792eacdbbe8672S3BucketEEF7A4DF
810 S3Key:
811 Fn::Join:
812 - ""
813 - - Fn::Select:
814 - 0
815 - Fn::Split:
816 - "||"
817 - Ref: AssetParameters812444384e3e1fc0b7c7aca365cf7a548c5b4063252a04fd19792eacdbbe8672S3VersionKey21A93421
818 - Fn::Select:
819 - 1
820 - Fn::Split:
821 - "||"
822 - Ref: AssetParameters812444384e3e1fc0b7c7aca365cf7a548c5b4063252a04fd19792eacdbbe8672S3VersionKey21A93421
823 Handler: index.handler
824 Role:
825 Fn::GetAtt:
826 - ProcessingLayerBPTAAAAF3922DeallocateGamerFnRoleE8B27267
827 - Arn
828 Runtime: nodejs10.x
829 Description: This function deallocates the gamer when a relevant event is identified (sign out, close window etc)
830 Environment:
831 Variables:
832 SESSION_CONTROL_TABLENAME:
833 Ref: DatabaseLayerBPTAAAAF3922SessionControl27181CB9
834 SESSION_PARAMETER: /bptaaaaf3922/session
835 FunctionName: BPTAAAAF3922DeallocateGamerFn
836 MemorySize: 128
837 Timeout: 60
838 DependsOn:
839 - ProcessingLayerBPTAAAAF3922DeallocateGamerFnRoleE8B27267
840 Metadata:
841 aws:cdk:path: BPTAAAAF3922/ProcessingLayer/BPTAAAAF3922DeallocateGamerFn/Resource
842 aws:asset:path: asset.812444384e3e1fc0b7c7aca365cf7a548c5b4063252a04fd19792eacdbbe8672
843 aws:asset:property: Code
844 ProcessingLayerBPTAAAAF3922DLQ8075D7E4:
845 Type: AWS::SQS::Queue
846 Properties:
847 QueueName: BPTAAAAF3922DLQ
848 Metadata:
849 aws:cdk:path: BPTAAAAF3922/ProcessingLayer/BPTAAAAF3922DLQ/Resource
850 ProcessingLayerBPTAAAAF3922ScoreboardFnRole66FC17B2:
851 Type: AWS::IAM::Role
852 Properties:
853 AssumeRolePolicyDocument:
854 Statement:
855 - Action: sts:AssumeRole
856 Effect: Allow
857 Principal:
858 Service: lambda.amazonaws.com
859 Version: "2012-10-17"
860 ManagedPolicyArns:
861 - Fn::Join:
862 - ""
863 - - "arn:"
864 - Ref: AWS::Partition
865 - :iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
866 Policies:
867 - PolicyDocument:
868 Statement:
869 - Action:
870 - dynamodb:GetItem
871 - dynamodb:UpdateItem
872 - dynamodb:Scan
873 - dynamodb:Query
874 - dynamodb:Batch*
875 - dynamodb:PutItem
876 - dynamodb:DeleteItem
877 Effect: Allow
878 Resource:
879 Fn::Join:
880 - ""
881 - - "arn:aws:dynamodb:"
882 - Ref: AWS::Region
883 - ":"
884 - Ref: AWS::AccountId
885 - :table/BPTAAAAF3922*
886 Version: "2012-10-17"
887 PolicyName: DynamoDBPermissions
888 - PolicyDocument:
889 Statement:
890 - Action:
891 - ssm:Get*
892 - ssm:List*
893 Effect: Allow
894 Resource:
895 Fn::Join:
896 - ""
897 - - "arn:aws:ssm:"
898 - Ref: AWS::Region
899 - ":"
900 - Ref: AWS::AccountId
901 - :parameter/bptaaaaf3922*
902 Version: "2012-10-17"
903 PolicyName: SystemsManagerPermissions
904 - PolicyDocument:
905 Statement:
906 - Action: sqs:SendMessage
907 Effect: Allow
908 Resource:
909 Fn::GetAtt:
910 - ProcessingLayerBPTAAAAF3922DLQ8075D7E4
911 - Arn
912 Version: "2012-10-17"
913 PolicyName: SQSPermissions
914 - PolicyDocument:
915 Statement:
916 - Action:
917 - kinesis:SubscribeToShard
918 - kinesis:GetShardIterator
919 - kinesis:GetRecords
920 - kinesis:DescribeStream
921 Effect: Allow
922 Resource: "*"
923 Version: "2012-10-17"
924 PolicyName: KinesisPermissions
925 RoleName: BPTAAAAF3922ScoreboardFn_Role
926 Metadata:
927 aws:cdk:path: BPTAAAAF3922/ProcessingLayer/BPTAAAAF3922ScoreboardFn_Role/Resource
928 ProcessingLayerBPTAAAAF3922ScoreboardFn5B4502B1:
929 Type: AWS::Lambda::Function
930 Properties:
931 Code:
932 S3Bucket:
933 Ref: AssetParameters57d388565f3a49e42342381d6f8a4895d067c92411f69919c88629e942c57154S3BucketE5E2BA38
934 S3Key:
935 Fn::Join:
936 - ""
937 - - Fn::Select:
938 - 0
939 - Fn::Split:
940 - "||"
941 - Ref: AssetParameters57d388565f3a49e42342381d6f8a4895d067c92411f69919c88629e942c57154S3VersionKeyEDDA203F
942 - Fn::Select:
943 - 1
944 - Fn::Split:
945 - "||"
946 - Ref: AssetParameters57d388565f3a49e42342381d6f8a4895d067c92411f69919c88629e942c57154S3VersionKeyEDDA203F
947 Handler: index.handler
948 Role:
949 Fn::GetAtt:
950 - ProcessingLayerBPTAAAAF3922ScoreboardFnRole66FC17B2
951 - Arn
952 Runtime: nodejs10.x
953 Description: This function computes the scoreboard
954 Environment:
955 Variables:
956 DLQ_URL:
957 Ref: ProcessingLayerBPTAAAAF3922DLQ8075D7E4
958 SESSION_PARAMETER: /bptaaaaf3922/session
959 SESSION_TABLENAME:
960 Ref: DatabaseLayerBPTAAAAF3922SessionDC2DF77C
961 SESSION_CONTROL_TABLENAME:
962 Ref: DatabaseLayerBPTAAAAF3922SessionControl27181CB9
963 SESSION_TOPX_TABLENAME:
964 Ref: DatabaseLayerBPTAAAAF3922SessionTopX9B82EB85
965 TopXValue: "10"
966 FunctionName: BPTAAAAF3922ScoreboardFn
967 MemorySize: 128
968 Timeout: 60
969 DependsOn:
970 - ProcessingLayerBPTAAAAF3922ScoreboardFnRole66FC17B2
971 Metadata:
972 aws:cdk:path: BPTAAAAF3922/ProcessingLayer/BPTAAAAF3922ScoreboardFn/Resource
973 aws:asset:path: asset.57d388565f3a49e42342381d6f8a4895d067c92411f69919c88629e942c57154
974 aws:asset:property: Code
975 WebSocketLayerBPTAAAAF3922WebSocketConnectFnRole18615C25:
976 Type: AWS::IAM::Role
977 Properties:
978 AssumeRolePolicyDocument:
979 Statement:
980 - Action: sts:AssumeRole
981 Effect: Allow
982 Principal:
983 Service: lambda.amazonaws.com
984 Version: "2012-10-17"
985 ManagedPolicyArns:
986 - Fn::Join:
987 - ""
988 - - "arn:"
989 - Ref: AWS::Partition
990 - :iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
991 Policies:
992 - PolicyDocument:
993 Statement:
994 - Action: dynamodb:UpdateItem
995 Effect: Allow
996 Resource:
997 Fn::GetAtt:
998 - DatabaseLayerBPTAAAAF3922SessionControl27181CB9
999 - Arn
1000 Version: "2012-10-17"
1001 PolicyName: DynamoDBPermissions
1002 - PolicyDocument:
1003 Statement:
1004 - Action:
1005 - ssm:GetParameter
1006 - ssm:GetParameters
1007 Effect: Allow
1008 Resource:
1009 Fn::Join:
1010 - ""
1011 - - "arn:aws:ssm:"
1012 - Ref: AWS::Region
1013 - ":"
1014 - Ref: AWS::AccountId
1015 - :parameter/bptaaaaf3922/session
1016 Version: "2012-10-17"
1017 PolicyName: SystemsManagerPermissions
1018 RoleName: BPTAAAAF3922WebSocketConnectFn_Role
1019 Metadata:
1020 aws:cdk:path: BPTAAAAF3922/WebSocketLayer/BPTAAAAF3922WebSocketConnectFn_Role/Resource
1021 WebSocketLayerBPTAAAAF3922WebSocketConnect37291610:
1022 Type: AWS::Lambda::Function
1023 Properties:
1024 Code:
1025 S3Bucket:
1026 Ref: AssetParameters9cd8d53b200b978895b9a543ba2d644ea7516ea07dcf143906c26fdbe604f1a0S3Bucket7357E54D
1027 S3Key:
1028 Fn::Join:
1029 - ""
1030 - - Fn::Select:
1031 - 0
1032 - Fn::Split:
1033 - "||"
1034 - Ref: AssetParameters9cd8d53b200b978895b9a543ba2d644ea7516ea07dcf143906c26fdbe604f1a0S3VersionKey102F15C7
1035 - Fn::Select:
1036 - 1
1037 - Fn::Split:
1038 - "||"
1039 - Ref: AssetParameters9cd8d53b200b978895b9a543ba2d644ea7516ea07dcf143906c26fdbe604f1a0S3VersionKey102F15C7
1040 Handler: index.handler
1041 Role:
1042 Fn::GetAtt:
1043 - WebSocketLayerBPTAAAAF3922WebSocketConnectFnRole18615C25
1044 - Arn
1045 Runtime: nodejs10.x
1046 Description: This function stores the connectionID to DynamoDB
1047 Environment:
1048 Variables:
1049 SESSION_CONTROL_TABLENAME:
1050 Ref: DatabaseLayerBPTAAAAF3922SessionControl27181CB9
1051 SESSION_PARAMETER: /bptaaaaf3922/session
1052 FunctionName: BPTAAAAF3922WebSocketConnect
1053 MemorySize: 128
1054 Timeout: 60
1055 DependsOn:
1056 - WebSocketLayerBPTAAAAF3922WebSocketConnectFnRole18615C25
1057 Metadata:
1058 aws:cdk:path: BPTAAAAF3922/WebSocketLayer/BPTAAAAF3922WebSocketConnect/Resource
1059 aws:asset:path: asset.9cd8d53b200b978895b9a543ba2d644ea7516ea07dcf143906c26fdbe604f1a0
1060 aws:asset:property: Code
1061 WebSocketLayerBPTAAAAF3922WebSocketSynchronizeStartFnRole007C8571:
1062 Type: AWS::IAM::Role
1063 Properties:
1064 AssumeRolePolicyDocument:
1065 Statement:
1066 - Action: sts:AssumeRole
1067 Effect: Allow
1068 Principal:
1069 Service: lambda.amazonaws.com
1070 Version: "2012-10-17"
1071 ManagedPolicyArns:
1072 - Fn::Join:
1073 - ""
1074 - - "arn:"
1075 - Ref: AWS::Partition
1076 - :iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
1077 Policies:
1078 - PolicyDocument:
1079 Statement:
1080 - Action:
1081 - dynamodb:UpdateItem
1082 - dynamodb:GetItem
1083 Effect: Allow
1084 Resource:
1085 Fn::GetAtt:
1086 - DatabaseLayerBPTAAAAF3922SessionControl27181CB9
1087 - Arn
1088 Version: "2012-10-17"
1089 PolicyName: DynamoDBPermissions
1090 - PolicyDocument:
1091 Statement:
1092 - Action:
1093 - ssm:GetParameter
1094 - ssm:GetParameters
1095 - ssm:PutParameter
1096 Effect: Allow
1097 Resource:
1098 Fn::Join:
1099 - ""
1100 - - "arn:aws:ssm:"
1101 - Ref: AWS::Region
1102 - ":"
1103 - Ref: AWS::AccountId
1104 - :parameter/bptaaaaf3922/session
1105 Version: "2012-10-17"
1106 PolicyName: SystemsManagerPermissions
1107 RoleName: BPTAAAAF3922WebSocketSynchronizeStartFn_Role
1108 Metadata:
1109 aws:cdk:path: BPTAAAAF3922/WebSocketLayer/BPTAAAAF3922WebSocketSynchronizeStartFn_Role/Resource
1110 WebSocketLayerBPTAAAAF3922WebSocketSynchronizeStartF94CB0E1:
1111 Type: AWS::Lambda::Function
1112 Properties:
1113 Code:
1114 S3Bucket:
1115 Ref: AssetParameters7296b5778da68a473c819c3ad70b46aa1095c22cf5ce0953a575232f2b851617S3Bucket1F4C35DE
1116 S3Key:
1117 Fn::Join:
1118 - ""
1119 - - Fn::Select:
1120 - 0
1121 - Fn::Split:
1122 - "||"
1123 - Ref: AssetParameters7296b5778da68a473c819c3ad70b46aa1095c22cf5ce0953a575232f2b851617S3VersionKey269C6C67
1124 - Fn::Select:
1125 - 1
1126 - Fn::Split:
1127 - "||"
1128 - Ref: AssetParameters7296b5778da68a473c819c3ad70b46aa1095c22cf5ce0953a575232f2b851617S3VersionKey269C6C67
1129 Handler: index.handler
1130 Role:
1131 Fn::GetAtt:
1132 - WebSocketLayerBPTAAAAF3922WebSocketSynchronizeStartFnRole007C8571
1133 - Arn
1134 Runtime: nodejs10.x
1135 Description: This function invokes the WebSocket to start the AAA Game
1136 Environment:
1137 Variables:
1138 SESSION_CONTROL_TABLENAME:
1139 Ref: DatabaseLayerBPTAAAAF3922SessionControl27181CB9
1140 SESSION_PARAMETER: /bptaaaaf3922/session
1141 FunctionName: BPTAAAAF3922WebSocketSynchronizeStart
1142 MemorySize: 128
1143 Timeout: 60
1144 DependsOn:
1145 - WebSocketLayerBPTAAAAF3922WebSocketSynchronizeStartFnRole007C8571
1146 Metadata:
1147 aws:cdk:path: BPTAAAAF3922/WebSocketLayer/BPTAAAAF3922WebSocketSynchronizeStart/Resource
1148 aws:asset:path: asset.7296b5778da68a473c819c3ad70b46aa1095c22cf5ce0953a575232f2b851617
1149 aws:asset:property: Code
1150 WebSocketLayerBPTAAAAF3922WebSocketDisconnectFnRole5B55A92E:
1151 Type: AWS::IAM::Role
1152 Properties:
1153 AssumeRolePolicyDocument:
1154 Statement:
1155 - Action: sts:AssumeRole
1156 Effect: Allow
1157 Principal:
1158 Service: lambda.amazonaws.com
1159 Version: "2012-10-17"
1160 ManagedPolicyArns:
1161 - Fn::Join:
1162 - ""
1163 - - "arn:"
1164 - Ref: AWS::Partition
1165 - :iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
1166 Policies:
1167 - PolicyDocument:
1168 Statement:
1169 - Action:
1170 - dynamodb:UpdateItem
1171 - dynamodb:GetItems
1172 - dynamodb:GetItem
1173 Effect: Allow
1174 Resource:
1175 Fn::GetAtt:
1176 - DatabaseLayerBPTAAAAF3922SessionControl27181CB9
1177 - Arn
1178 Version: "2012-10-17"
1179 PolicyName: DynamoDBPermissions
1180 - PolicyDocument:
1181 Statement:
1182 - Action:
1183 - ssm:GetParameter
1184 - ssm:GetParameters
1185 Effect: Allow
1186 Resource:
1187 Fn::Join:
1188 - ""
1189 - - "arn:aws:ssm:"
1190 - Ref: AWS::Region
1191 - ":"
1192 - Ref: AWS::AccountId
1193 - :parameter/bptaaaaf3922/session
1194 Version: "2012-10-17"
1195 PolicyName: SystemsManagerPermissions
1196 RoleName: BPTAAAAF3922WebSocketDisconnectFn_Role
1197 Metadata:
1198 aws:cdk:path: BPTAAAAF3922/WebSocketLayer/BPTAAAAF3922WebSocketDisconnectFn_Role/Resource
1199 WebSocketLayerBPTAAAAF3922WebSocketDisconnectD63B3CB8:
1200 Type: AWS::Lambda::Function
1201 Properties:
1202 Code:
1203 S3Bucket:
1204 Ref: AssetParameters3ff0c44479677831cb1a9bcdb5f5d3bebee7d7db47a36600dd44691cae18271cS3Bucket761E7A9E
1205 S3Key:
1206 Fn::Join:
1207 - ""
1208 - - Fn::Select:
1209 - 0
1210 - Fn::Split:
1211 - "||"
1212 - Ref: AssetParameters3ff0c44479677831cb1a9bcdb5f5d3bebee7d7db47a36600dd44691cae18271cS3VersionKeyA0D8ACF2
1213 - Fn::Select:
1214 - 1
1215 - Fn::Split:
1216 - "||"
1217 - Ref: AssetParameters3ff0c44479677831cb1a9bcdb5f5d3bebee7d7db47a36600dd44691cae18271cS3VersionKeyA0D8ACF2
1218 Handler: index.handler
1219 Role:
1220 Fn::GetAtt:
1221 - WebSocketLayerBPTAAAAF3922WebSocketDisconnectFnRole5B55A92E
1222 - Arn
1223 Runtime: nodejs10.x
1224 Description: This function deletes the connectionID to DynamoDB
1225 Environment:
1226 Variables:
1227 SESSION_CONTROL_TABLENAME:
1228 Ref: DatabaseLayerBPTAAAAF3922SessionControl27181CB9
1229 SESSION_PARAMETER: /bptaaaaf3922/session
1230 FunctionName: BPTAAAAF3922WebSocketDisconnect
1231 MemorySize: 128
1232 Timeout: 60
1233 DependsOn:
1234 - WebSocketLayerBPTAAAAF3922WebSocketDisconnectFnRole5B55A92E
1235 Metadata:
1236 aws:cdk:path: BPTAAAAF3922/WebSocketLayer/BPTAAAAF3922WebSocketDisconnect/Resource
1237 aws:asset:path: asset.3ff0c44479677831cb1a9bcdb5f5d3bebee7d7db47a36600dd44691cae18271c
1238 aws:asset:property: Code
1239 IngestionConsumptionLayerBPTAAAAF3922InputStreamC54DB631:
1240 Type: AWS::Kinesis::Stream
1241 Properties:
1242 ShardCount: 1
1243 Name: BPTAAAAF3922_InputStream
1244 RetentionPeriodHours: 24
1245 StreamEncryption:
1246 Fn::If:
1247 - AwsCdkKinesisEncryptedStreamsUnsupportedRegions
1248 - Ref: AWS::NoValue
1249 - EncryptionType: KMS
1250 KeyId: alias/aws/kinesis
1251 Metadata:
1252 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922InputStream/Resource
1253 IngestionConsumptionLayerBPTAAAAF3922APIRole07CBB563:
1254 Type: AWS::IAM::Role
1255 Properties:
1256 AssumeRolePolicyDocument:
1257 Statement:
1258 - Action: sts:AssumeRole
1259 Effect: Allow
1260 Principal:
1261 Service: apigateway.amazonaws.com
1262 Version: "2012-10-17"
1263 ManagedPolicyArns:
1264 - Fn::Join:
1265 - ""
1266 - - "arn:"
1267 - Ref: AWS::Partition
1268 - :iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs
1269 RoleName: BPTAAAAF3922API
1270 Metadata:
1271 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIRole/Resource
1272 IngestionConsumptionLayerBPTAAAAF3922APIRoleDefaultPolicy6A87A033:
1273 Type: AWS::IAM::Policy
1274 Properties:
1275 PolicyDocument:
1276 Statement:
1277 - Action:
1278 - lambda:InvokeFunction
1279 - lambda:InvokeAsync
1280 Effect: Allow
1281 Resource:
1282 Fn::Join:
1283 - ""
1284 - - "arn:aws:lambda:"
1285 - Ref: AWS::Region
1286 - ":"
1287 - Ref: AWS::AccountId
1288 - :function:BPTAAAAF3922*
1289 - Action:
1290 - ssm:GetParameterHistory
1291 - ssm:GetParametersByPath
1292 - ssm:GetParameters
1293 - ssm:GetParameter
1294 Effect: Allow
1295 Resource:
1296 Fn::Join:
1297 - ""
1298 - - "arn:aws:ssm:"
1299 - Ref: AWS::Region
1300 - ":"
1301 - Ref: AWS::AccountId
1302 - :parameter/bptaaaaf3922/*
1303 - Action: dynamodb:GetItem
1304 Effect: Allow
1305 Resource:
1306 - Fn::GetAtt:
1307 - DatabaseLayerBPTAAAAF3922SessionDC2DF77C
1308 - Arn
1309 - Fn::GetAtt:
1310 - DatabaseLayerBPTAAAAF3922SessionTopX9B82EB85
1311 - Arn
1312 - Action:
1313 - kinesis:PutRecord
1314 - kinesis:PutRecords
1315 Effect: Allow
1316 Resource:
1317 Fn::GetAtt:
1318 - IngestionConsumptionLayerBPTAAAAF3922InputStreamC54DB631
1319 - Arn
1320 Version: "2012-10-17"
1321 PolicyName: IngestionConsumptionLayerBPTAAAAF3922APIRoleDefaultPolicy6A87A033
1322 Roles:
1323 - Ref: IngestionConsumptionLayerBPTAAAAF3922APIRole07CBB563
1324 Metadata:
1325 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIRole/DefaultPolicy/Resource
1326 IngestionConsumptionLayerBPTAAAAF3922API7B67C35B:
1327 Type: AWS::ApiGateway::RestApi
1328 Properties:
1329 Description: API supporting the application BPTAAAAF3922
1330 Name: bptaaaaf3922
1331 Metadata:
1332 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922API
1333 IngestionConsumptionLayerBPTAAAAF3922GTWResponseCF0204DB:
1334 Type: AWS::ApiGateway::GatewayResponse
1335 Properties:
1336 ResponseType: DEFAULT_4XX
1337 RestApiId:
1338 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1339 ResponseParameters:
1340 gatewayresponse.header.Access-Control-Allow-Headers: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'"
1341 gatewayresponse.header.Access-Control-Allow-Methods: "'*'"
1342 gatewayresponse.header.Access-Control-Allow-Origin: "'*'"
1343 ResponseTemplates:
1344 application/json: '{"message":$context.error.messageString}'
1345 DependsOn:
1346 - IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1347 Metadata:
1348 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922GTWResponse
1349 IngestionConsumptionLayerBPTAAAAF3922Authorizer3C840686:
1350 Type: AWS::ApiGateway::Authorizer
1351 Properties:
1352 RestApiId:
1353 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1354 Type: COGNITO_USER_POOLS
1355 IdentitySource: method.request.header.Authorization
1356 Name: bptaaaaf3922Authorizer
1357 ProviderARNs:
1358 - Fn::GetAtt:
1359 - SecurityLayerBPTAAAAF3922SimpleUserPoolCustomResource76DA732F
1360 - UserPoolArn
1361 Metadata:
1362 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922Authorizer
1363 IngestionConsumptionLayerBPTAAAAF3922APIModelScoreboardResponseModel98AE3046:
1364 Type: AWS::ApiGateway::Model
1365 Properties:
1366 RestApiId:
1367 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1368 ContentType: application/json
1369 Description: Scoreboard response model (for /scoreboard/GET)
1370 Name: ScoreboardResponseModel
1371 Schema:
1372 $schema: http://json-schema.org/draft-04/schema#
1373 title: ScoreboardResponseModel
1374 type: object
1375 properties:
1376 Scoreboard:
1377 type: array
1378 items:
1379 $ref: "#/definitions/GamerScore"
1380 definitions:
1381 GamerScore:
1382 type: object
1383 properties:
1384 Name:
1385 type: integer
1386 Score:
1387 type: integer
1388 Level:
1389 type: integer
1390 Shots:
1391 type: integer
1392 Nickname:
1393 type: string
1394 Lives:
1395 type: integer
1396 Metadata:
1397 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIModelScoreboardResponseModel
1398 IngestionConsumptionLayerBPTAAAAF3922APIModelGetParametersRequest4A988896:
1399 Type: AWS::ApiGateway::Model
1400 Properties:
1401 RestApiId:
1402 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1403 ContentType: application/json
1404 Description: Model to request SSM:GetParameters
1405 Name: GetParametersRequest
1406 Schema:
1407 $schema: http://json-schema.org/draft-04/schema#
1408 title: GetParametersRequest
1409 type: object
1410 properties:
1411 names:
1412 type: array
1413 Metadata:
1414 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIModelGetParametersRequest
1415 IngestionConsumptionLayerBPTAAAAF3922APIv14037AED0:
1416 Type: AWS::ApiGateway::Resource
1417 Properties:
1418 ParentId:
1419 Fn::GetAtt:
1420 - IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1421 - RootResourceId
1422 PathPart: v1
1423 RestApiId:
1424 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1425 Metadata:
1426 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1
1427 IngestionConsumptionLayerBPTAAAAF3922APIv1sessionDC1BF8E7:
1428 Type: AWS::ApiGateway::Resource
1429 Properties:
1430 ParentId:
1431 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv14037AED0
1432 PathPart: session
1433 RestApiId:
1434 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1435 Metadata:
1436 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1session
1437 IngestionConsumptionLayerBPTAAAAF3922APIv1sessionGET91686831:
1438 Type: AWS::ApiGateway::Method
1439 Properties:
1440 HttpMethod: GET
1441 ResourceId:
1442 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1sessionDC1BF8E7
1443 RestApiId:
1444 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1445 AuthorizationType: COGNITO_USER_POOLS
1446 AuthorizerId:
1447 Ref: IngestionConsumptionLayerBPTAAAAF3922Authorizer3C840686
1448 Integration:
1449 Credentials:
1450 Fn::GetAtt:
1451 - IngestionConsumptionLayerBPTAAAAF3922APIRole07CBB563
1452 - Arn
1453 IntegrationHttpMethod: POST
1454 IntegrationResponses:
1455 - ResponseParameters:
1456 method.response.header.Access-Control-Allow-Origin: "'*'"
1457 ResponseTemplates:
1458 application/json: "\"$util.escapeJavaScript(\"$input.path('$').GetParameterResponse.GetParameterResult.Parameter.Value\").replaceAll(\"'\",'\"')\""
1459 StatusCode: "200"
1460 PassthroughBehavior: WHEN_NO_MATCH
1461 RequestParameters:
1462 integration.request.querystring.Name: "'/bptaaaaf3922/session'"
1463 integration.request.header.Authentication: method.request.header.Authentication
1464 Type: AWS
1465 Uri:
1466 Fn::Join:
1467 - ""
1468 - - "arn:aws:apigateway:"
1469 - Ref: AWS::Region
1470 - :ssm:action/GetParameter
1471 MethodResponses:
1472 - ResponseModels:
1473 application/json: Empty
1474 ResponseParameters:
1475 method.response.header.Access-Control-Allow-Origin: false
1476 StatusCode: "200"
1477 RequestParameters:
1478 method.request.querystring.Name: true
1479 method.request.header.Authentication: true
1480 Metadata:
1481 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1sessionGET
1482 IngestionConsumptionLayerBPTAAAAF3922APIv1sessionOPTIONSCB498E91:
1483 Type: AWS::ApiGateway::Method
1484 Properties:
1485 HttpMethod: OPTIONS
1486 ResourceId:
1487 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1sessionDC1BF8E7
1488 RestApiId:
1489 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1490 AuthorizationType: NONE
1491 Integration:
1492 IntegrationResponses:
1493 - ResponseParameters:
1494 method.response.header.Access-Control-Allow-Headers: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'"
1495 method.response.header.Access-Control-Allow-Methods: "'*'"
1496 method.response.header.Access-Control-Allow-Origin: "'*'"
1497 StatusCode: "200"
1498 PassthroughBehavior: WHEN_NO_MATCH
1499 RequestTemplates:
1500 application/json: '{"statusCode": 200}'
1501 Type: MOCK
1502 MethodResponses:
1503 - ResponseModels:
1504 application/json: Empty
1505 ResponseParameters:
1506 method.response.header.Access-Control-Allow-Origin: false
1507 method.response.header.Access-Control-Allow-Methods: false
1508 method.response.header.Access-Control-Allow-Headers: false
1509 StatusCode: "200"
1510 Metadata:
1511 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1sessionOPTIONS
1512 IngestionConsumptionLayerBPTAAAAF3922APIv1websocket4AC52E76:
1513 Type: AWS::ApiGateway::Resource
1514 Properties:
1515 ParentId:
1516 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv14037AED0
1517 PathPart: websocket
1518 RestApiId:
1519 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1520 Metadata:
1521 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1websocket
1522 IngestionConsumptionLayerBPTAAAAF3922APIv1websocketGETF54C85D3:
1523 Type: AWS::ApiGateway::Method
1524 Properties:
1525 HttpMethod: GET
1526 ResourceId:
1527 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1websocket4AC52E76
1528 RestApiId:
1529 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1530 AuthorizationType: COGNITO_USER_POOLS
1531 AuthorizerId:
1532 Ref: IngestionConsumptionLayerBPTAAAAF3922Authorizer3C840686
1533 Integration:
1534 Credentials:
1535 Fn::GetAtt:
1536 - IngestionConsumptionLayerBPTAAAAF3922APIRole07CBB563
1537 - Arn
1538 IntegrationHttpMethod: POST
1539 IntegrationResponses:
1540 - ResponseParameters:
1541 method.response.header.Access-Control-Allow-Origin: "'*'"
1542 ResponseTemplates:
1543 application/json: "\"$util.escapeJavaScript(\"$input.path('$').GetParameterResponse.GetParameterResult.Parameter.Value\").replaceAll(\"'\",'\"')\""
1544 StatusCode: "200"
1545 PassthroughBehavior: WHEN_NO_MATCH
1546 RequestParameters:
1547 integration.request.querystring.Name: "'/bptaaaaf3922/websocket'"
1548 integration.request.header.Authentication: method.request.header.Authentication
1549 Type: AWS
1550 Uri:
1551 Fn::Join:
1552 - ""
1553 - - "arn:aws:apigateway:"
1554 - Ref: AWS::Region
1555 - :ssm:action/GetParameter
1556 MethodResponses:
1557 - ResponseModels:
1558 application/json: Empty
1559 ResponseParameters:
1560 method.response.header.Access-Control-Allow-Origin: false
1561 StatusCode: "200"
1562 RequestParameters:
1563 method.request.querystring.Name: true
1564 method.request.header.Authentication: true
1565 Metadata:
1566 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1websocketGET
1567 IngestionConsumptionLayerBPTAAAAF3922APIv1websocketOPTIONS8EA7B7A9:
1568 Type: AWS::ApiGateway::Method
1569 Properties:
1570 HttpMethod: OPTIONS
1571 ResourceId:
1572 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1websocket4AC52E76
1573 RestApiId:
1574 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1575 AuthorizationType: NONE
1576 Integration:
1577 IntegrationResponses:
1578 - ResponseParameters:
1579 method.response.header.Access-Control-Allow-Headers: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'"
1580 method.response.header.Access-Control-Allow-Methods: "'*'"
1581 method.response.header.Access-Control-Allow-Origin: "'*'"
1582 StatusCode: "200"
1583 PassthroughBehavior: WHEN_NO_MATCH
1584 RequestTemplates:
1585 application/json: '{"statusCode": 200}'
1586 Type: MOCK
1587 MethodResponses:
1588 - ResponseModels:
1589 application/json: Empty
1590 ResponseParameters:
1591 method.response.header.Access-Control-Allow-Origin: false
1592 method.response.header.Access-Control-Allow-Methods: false
1593 method.response.header.Access-Control-Allow-Headers: false
1594 StatusCode: "200"
1595 Metadata:
1596 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1websocketOPTIONS
1597 IngestionConsumptionLayerBPTAAAAF3922APIv1configC92AF6D3:
1598 Type: AWS::ApiGateway::Resource
1599 Properties:
1600 ParentId:
1601 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv14037AED0
1602 PathPart: config
1603 RestApiId:
1604 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1605 Metadata:
1606 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1config
1607 IngestionConsumptionLayerBPTAAAAF3922APIv1configGET47B146B4:
1608 Type: AWS::ApiGateway::Method
1609 Properties:
1610 HttpMethod: GET
1611 ResourceId:
1612 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1configC92AF6D3
1613 RestApiId:
1614 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1615 AuthorizationType: NONE
1616 Integration:
1617 Credentials:
1618 Fn::GetAtt:
1619 - IngestionConsumptionLayerBPTAAAAF3922APIRole07CBB563
1620 - Arn
1621 IntegrationHttpMethod: POST
1622 IntegrationResponses:
1623 - ResponseParameters:
1624 method.response.header.Access-Control-Allow-Origin: "'*'"
1625 ResponseTemplates:
1626 application/json: >-2
1627
1628 #set($inputRoot = $input.path('$'))
1629 {
1630 "Parameters" : [
1631 #foreach($elem in $inputRoot.Parameters)
1632 {
1633 "Name" : "$elem.Name",
1634 "Value" : "$util.escapeJavaScript("$elem.Value").replaceAll("'",'"')"
1635 }
1636 #if($foreach.hasNext),#end
1637 #end
1638 ]
1639 }
1640 StatusCode: "200"
1641 PassthroughBehavior: WHEN_NO_TEMPLATES
1642 RequestParameters:
1643 integration.request.header.Content-Type: "'application/x-amz-json-1.1'"
1644 integration.request.header.X-Amz-Target: "'AmazonSSM.GetParameters'"
1645 RequestTemplates:
1646 application/json: '{"Names" : ["/bptaaaaf3922/userpoolid","/bptaaaaf3922/userpoolurl","/bptaaaaf3922/clientid","/bptaaaaf3922/identitypoolid"]}'
1647 Type: AWS
1648 Uri:
1649 Fn::Join:
1650 - ""
1651 - - "arn:aws:apigateway:"
1652 - Ref: AWS::Region
1653 - :ssm:path//
1654 MethodResponses:
1655 - ResponseModels:
1656 application/json: Empty
1657 ResponseParameters:
1658 method.response.header.Access-Control-Allow-Origin: true
1659 StatusCode: "200"
1660 RequestModels:
1661 application/json:
1662 Ref: IngestionConsumptionLayerBPTAAAAF3922APIModelGetParametersRequest4A988896
1663 RequestParameters:
1664 method.request.header.Content-Type: true
1665 method.request.header.X-Amz-Target: true
1666 Metadata:
1667 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1configGET
1668 IngestionConsumptionLayerBPTAAAAF3922APIv1configOPTIONS4FDA2EF8:
1669 Type: AWS::ApiGateway::Method
1670 Properties:
1671 HttpMethod: OPTIONS
1672 ResourceId:
1673 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1configC92AF6D3
1674 RestApiId:
1675 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1676 AuthorizationType: NONE
1677 Integration:
1678 IntegrationResponses:
1679 - ResponseParameters:
1680 method.response.header.Access-Control-Allow-Origin: "'*'"
1681 method.response.header.Access-Control-Allow-Methods: "'*'"
1682 method.response.header.Access-Control-Allow-Headers: "'Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token'"
1683 StatusCode: "200"
1684 PassthroughBehavior: when_no_match
1685 RequestTemplates:
1686 application/json: '{"statusCode": 200}'
1687 Type: MOCK
1688 MethodResponses:
1689 - ResponseModels:
1690 application/json: Empty
1691 ResponseParameters:
1692 method.response.header.Access-Control-Allow-Origin: true
1693 method.response.header.Access-Control-Allow-Methods: true
1694 method.response.header.Access-Control-Allow-Headers: true
1695 StatusCode: "200"
1696 Metadata:
1697 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1configOPTIONS
1698 IngestionConsumptionLayerBPTAAAAF3922APIv1allocate8EBDF034:
1699 Type: AWS::ApiGateway::Resource
1700 Properties:
1701 ParentId:
1702 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv14037AED0
1703 PathPart: allocate
1704 RestApiId:
1705 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1706 Metadata:
1707 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1allocate
1708 IngestionConsumptionLayerBPTAAAAF3922APIv1allocatePOSTB6EB0E99:
1709 Type: AWS::ApiGateway::Method
1710 Properties:
1711 HttpMethod: POST
1712 ResourceId:
1713 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1allocate8EBDF034
1714 RestApiId:
1715 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1716 AuthorizationType: COGNITO_USER_POOLS
1717 AuthorizerId:
1718 Ref: IngestionConsumptionLayerBPTAAAAF3922Authorizer3C840686
1719 Integration:
1720 Credentials:
1721 Fn::GetAtt:
1722 - IngestionConsumptionLayerBPTAAAAF3922APIRole07CBB563
1723 - Arn
1724 IntegrationHttpMethod: POST
1725 PassthroughBehavior: WHEN_NO_MATCH
1726 Type: AWS_PROXY
1727 Uri:
1728 Fn::Join:
1729 - ""
1730 - - "arn:aws:apigateway:"
1731 - Ref: AWS::Region
1732 - :lambda:path/2015-03-31/functions/
1733 - Fn::GetAtt:
1734 - ProcessingLayerBPTAAAAF3922AllocateGamerFn032EB3F0
1735 - Arn
1736 - /invocations
1737 MethodResponses:
1738 - StatusCode: "200"
1739 Metadata:
1740 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1allocatePOST
1741 IngestionConsumptionLayerBPTAAAAF3922APIv1allocateOPTIONS76632D25:
1742 Type: AWS::ApiGateway::Method
1743 Properties:
1744 HttpMethod: OPTIONS
1745 ResourceId:
1746 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1allocate8EBDF034
1747 RestApiId:
1748 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1749 AuthorizationType: NONE
1750 Integration:
1751 IntegrationResponses:
1752 - ResponseParameters:
1753 method.response.header.Access-Control-Allow-Origin: "'*'"
1754 method.response.header.Access-Control-Allow-Methods: "'*'"
1755 method.response.header.Access-Control-Allow-Headers: "'Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token'"
1756 StatusCode: "200"
1757 PassthroughBehavior: WHEN_NO_MATCH
1758 RequestTemplates:
1759 application/json: '{"statusCode": 200}'
1760 Type: MOCK
1761 MethodResponses:
1762 - ResponseModels:
1763 application/json: Empty
1764 ResponseParameters:
1765 method.response.header.Access-Control-Allow-Origin: true
1766 method.response.header.Access-Control-Allow-Methods: true
1767 method.response.header.Access-Control-Allow-Headers: true
1768 StatusCode: "200"
1769 Metadata:
1770 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1allocateOPTIONS
1771 IngestionConsumptionLayerBPTAAAAF3922APIv1deallocate860C9FA9:
1772 Type: AWS::ApiGateway::Resource
1773 Properties:
1774 ParentId:
1775 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv14037AED0
1776 PathPart: deallocate
1777 RestApiId:
1778 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1779 Metadata:
1780 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1deallocate
1781 IngestionConsumptionLayerBPTAAAAF3922APIv1deallocatePOST5231FB0C:
1782 Type: AWS::ApiGateway::Method
1783 Properties:
1784 HttpMethod: POST
1785 ResourceId:
1786 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1deallocate860C9FA9
1787 RestApiId:
1788 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1789 AuthorizationType: COGNITO_USER_POOLS
1790 AuthorizerId:
1791 Ref: IngestionConsumptionLayerBPTAAAAF3922Authorizer3C840686
1792 Integration:
1793 ContentHandling: CONVERT_TO_TEXT
1794 Credentials:
1795 Fn::GetAtt:
1796 - IngestionConsumptionLayerBPTAAAAF3922APIRole07CBB563
1797 - Arn
1798 IntegrationHttpMethod: POST
1799 Type: AWS_PROXY
1800 Uri:
1801 Fn::Join:
1802 - ""
1803 - - "arn:aws:apigateway:"
1804 - Ref: AWS::Region
1805 - :lambda:path/2015-03-31/functions/
1806 - Fn::GetAtt:
1807 - ProcessingLayerBPTAAAAF3922DeallocateGamerFnAEB265B8
1808 - Arn
1809 - /invocations
1810 MethodResponses:
1811 - StatusCode: "200"
1812 Metadata:
1813 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1deallocatePOST
1814 IngestionConsumptionLayerBPTAAAAF3922APIv1deallocateOPTIONSCE096006:
1815 Type: AWS::ApiGateway::Method
1816 Properties:
1817 HttpMethod: OPTIONS
1818 ResourceId:
1819 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1deallocate860C9FA9
1820 RestApiId:
1821 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1822 AuthorizationType: NONE
1823 Integration:
1824 IntegrationResponses:
1825 - ResponseParameters:
1826 method.response.header.Access-Control-Allow-Origin: "'*'"
1827 method.response.header.Access-Control-Allow-Methods: "'*'"
1828 method.response.header.Access-Control-Allow-Headers: "'Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token'"
1829 StatusCode: "200"
1830 PassthroughBehavior: when_no_match
1831 RequestTemplates:
1832 application/json: '{"statusCode": 200}'
1833 Type: MOCK
1834 MethodResponses:
1835 - ResponseModels:
1836 application/json: Empty
1837 ResponseParameters:
1838 method.response.header.Access-Control-Allow-Origin: true
1839 method.response.header.Access-Control-Allow-Methods: true
1840 method.response.header.Access-Control-Allow-Headers: true
1841 StatusCode: "200"
1842 Metadata:
1843 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1deallocateOPTIONS
1844 IngestionConsumptionLayerBPTAAAAF3922APIv1scoreboard955EF336:
1845 Type: AWS::ApiGateway::Resource
1846 Properties:
1847 ParentId:
1848 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv14037AED0
1849 PathPart: scoreboard
1850 RestApiId:
1851 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1852 Metadata:
1853 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1scoreboard
1854 IngestionConsumptionLayerBPTAAAAF3922APIv1scoreboardPOSTE8BEC992:
1855 Type: AWS::ApiGateway::Method
1856 Properties:
1857 HttpMethod: GET
1858 ResourceId:
1859 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1scoreboard955EF336
1860 RestApiId:
1861 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1862 AuthorizationType: COGNITO_USER_POOLS
1863 AuthorizerId:
1864 Ref: IngestionConsumptionLayerBPTAAAAF3922Authorizer3C840686
1865 Integration:
1866 Credentials:
1867 Fn::GetAtt:
1868 - IngestionConsumptionLayerBPTAAAAF3922APIRole07CBB563
1869 - Arn
1870 IntegrationHttpMethod: POST
1871 IntegrationResponses:
1872 - ResponseParameters:
1873 method.response.header.Access-Control-Allow-Origin: "'*'"
1874 ResponseTemplates:
1875 application/json: >-
1876 #set($scoreboard = $input.path('$.Item.TopX.L'))
1877 {
1878 "Scoreboard" : [
1879 #foreach($gamerScore in $scoreboard)
1880 {
1881 "Score" : $gamerScore.M.Score.N ,
1882 "Level" : $gamerScore.M.Level.N ,
1883 "Shots" : $gamerScore.M.Shots.N ,
1884 "Nickname" : "$gamerScore.M.Nickname.S" ,
1885 "Lives" : $gamerScore.M.Lives.N
1886 }#if($foreach.hasNext),#end
1887
1888 #end
1889 ]
1890 }
1891 StatusCode: "200"
1892 PassthroughBehavior: WHEN_NO_TEMPLATES
1893 RequestParameters:
1894 integration.request.querystring.sessionId: method.request.querystring.sessionId
1895 RequestTemplates:
1896 application/json:
1897 Fn::Join:
1898 - ""
1899 - - >-
1900 {
1901 "TableName" : "
1902 - Ref: DatabaseLayerBPTAAAAF3922SessionTopX9B82EB85
1903 - >-
1904 ",
1905 "Key" : {
1906 "SessionId" : {
1907 "S" : "$input.params('sessionId')"
1908 }
1909 }
1910 }
1911 Type: AWS
1912 Uri:
1913 Fn::Join:
1914 - ""
1915 - - "arn:aws:apigateway:"
1916 - Ref: AWS::Region
1917 - :dynamodb:action/GetItem
1918 MethodResponses:
1919 - ResponseModels:
1920 application/json:
1921 Ref: IngestionConsumptionLayerBPTAAAAF3922APIModelScoreboardResponseModel98AE3046
1922 ResponseParameters:
1923 method.response.header.Access-Control-Allow-Origin: true
1924 StatusCode: "200"
1925 RequestParameters:
1926 method.request.querystring.sessionId: true
1927 Metadata:
1928 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1scoreboardPOST
1929 IngestionConsumptionLayerBPTAAAAF3922APIv1scoreboardOPTIONSDA7AD3AD:
1930 Type: AWS::ApiGateway::Method
1931 Properties:
1932 HttpMethod: OPTIONS
1933 ResourceId:
1934 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1scoreboard955EF336
1935 RestApiId:
1936 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1937 AuthorizationType: NONE
1938 Integration:
1939 IntegrationResponses:
1940 - ResponseParameters:
1941 method.response.header.Access-Control-Allow-Origin: "'*'"
1942 method.response.header.Access-Control-Allow-Methods: "'*'"
1943 method.response.header.Access-Control-Allow-Headers: "'Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token'"
1944 StatusCode: "200"
1945 PassthroughBehavior: when_no_match
1946 RequestTemplates:
1947 application/json: '{"statusCode": 200}'
1948 Type: MOCK
1949 MethodResponses:
1950 - ResponseModels:
1951 application/json: Empty
1952 ResponseParameters:
1953 method.response.header.Access-Control-Allow-Origin: true
1954 method.response.header.Access-Control-Allow-Methods: true
1955 method.response.header.Access-Control-Allow-Headers: true
1956 StatusCode: "200"
1957 Metadata:
1958 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1scoreboardOPTIONS
1959 IngestionConsumptionLayerBPTAAAAF3922APIv1updatestatusDBC3879A:
1960 Type: AWS::ApiGateway::Resource
1961 Properties:
1962 ParentId:
1963 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv14037AED0
1964 PathPart: updatestatus
1965 RestApiId:
1966 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1967 Metadata:
1968 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1updatestatus
1969 IngestionConsumptionLayerBPTAAAAF3922APIv1updatestatusPOSTBD94CABD:
1970 Type: AWS::ApiGateway::Method
1971 Properties:
1972 HttpMethod: POST
1973 ResourceId:
1974 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1updatestatusDBC3879A
1975 RestApiId:
1976 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
1977 AuthorizationType: COGNITO_USER_POOLS
1978 AuthorizerId:
1979 Ref: IngestionConsumptionLayerBPTAAAAF3922Authorizer3C840686
1980 Integration:
1981 Credentials:
1982 Fn::GetAtt:
1983 - IngestionConsumptionLayerBPTAAAAF3922APIRole07CBB563
1984 - Arn
1985 IntegrationHttpMethod: POST
1986 IntegrationResponses:
1987 - ResponseParameters:
1988 method.response.header.Access-Control-Allow-Origin: "'*'"
1989 StatusCode: "200"
1990 PassthroughBehavior: WHEN_NO_TEMPLATES
1991 RequestTemplates:
1992 application/json:
1993 Fn::Join:
1994 - ""
1995 - - >-
1996 #set($inputRoot = $input.path('$'))
1997 {
1998 "Data" : "$util.base64Encode("$input.json('$')")",
1999 "PartitionKey" : $input.json('$.SessionId'),
2000 "StreamName" : "
2001 - Ref: IngestionConsumptionLayerBPTAAAAF3922InputStreamC54DB631
2002 - >-
2003 "
2004 }
2005 Type: AWS
2006 Uri:
2007 Fn::Join:
2008 - ""
2009 - - "arn:aws:apigateway:"
2010 - Ref: AWS::Region
2011 - :kinesis:action/PutRecord
2012 MethodResponses:
2013 - ResponseModels:
2014 application/json: Empty
2015 ResponseParameters:
2016 method.response.header.Access-Control-Allow-Origin: true
2017 StatusCode: "200"
2018 RequestParameters:
2019 method.request.header.Authentication: true
2020 Metadata:
2021 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1updatestatusPOST
2022 IngestionConsumptionLayerBPTAAAAF3922APIv1updateStatusOPTIONS61B75A7E:
2023 Type: AWS::ApiGateway::Method
2024 Properties:
2025 HttpMethod: OPTIONS
2026 ResourceId:
2027 Ref: IngestionConsumptionLayerBPTAAAAF3922APIv1updatestatusDBC3879A
2028 RestApiId:
2029 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
2030 AuthorizationType: NONE
2031 Integration:
2032 IntegrationResponses:
2033 - ResponseParameters:
2034 method.response.header.Access-Control-Allow-Origin: "'*'"
2035 method.response.header.Access-Control-Allow-Methods: "'*'"
2036 method.response.header.Access-Control-Allow-Headers: "'Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token'"
2037 StatusCode: "200"
2038 PassthroughBehavior: when_no_match
2039 RequestTemplates:
2040 application/json: '{"statusCode": 200}'
2041 Type: MOCK
2042 MethodResponses:
2043 - ResponseModels:
2044 application/json: Empty
2045 ResponseParameters:
2046 method.response.header.Access-Control-Allow-Origin: true
2047 method.response.header.Access-Control-Allow-Methods: true
2048 method.response.header.Access-Control-Allow-Headers: true
2049 StatusCode: "200"
2050 Metadata:
2051 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIv1updateStatusOPTIONS
2052 IngestionConsumptionLayerBPTAAAAF3922APIDeployment9CC716AC:
2053 Type: AWS::ApiGateway::Deployment
2054 Properties:
2055 RestApiId:
2056 Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
2057 Description: Production deployment
2058 StageName: prod
2059 DependsOn:
2060 - IngestionConsumptionLayerBPTAAAAF3922APIv1allocateOPTIONS76632D25
2061 - IngestionConsumptionLayerBPTAAAAF3922APIv1allocatePOSTB6EB0E99
2062 - IngestionConsumptionLayerBPTAAAAF3922APIv1configGET47B146B4
2063 - IngestionConsumptionLayerBPTAAAAF3922APIv1configOPTIONS4FDA2EF8
2064 - IngestionConsumptionLayerBPTAAAAF3922APIv1deallocateOPTIONSCE096006
2065 - IngestionConsumptionLayerBPTAAAAF3922APIv1deallocatePOST5231FB0C
2066 - IngestionConsumptionLayerBPTAAAAF3922APIv1scoreboardOPTIONSDA7AD3AD
2067 - IngestionConsumptionLayerBPTAAAAF3922APIv1scoreboardPOSTE8BEC992
2068 - IngestionConsumptionLayerBPTAAAAF3922APIv1sessionGET91686831
2069 - IngestionConsumptionLayerBPTAAAAF3922APIv1sessionOPTIONSCB498E91
2070 - IngestionConsumptionLayerBPTAAAAF3922APIv1updateStatusOPTIONS61B75A7E
2071 - IngestionConsumptionLayerBPTAAAAF3922APIv1updatestatusPOSTBD94CABD
2072 - IngestionConsumptionLayerBPTAAAAF3922APIv1websocketGETF54C85D3
2073 - IngestionConsumptionLayerBPTAAAAF3922APIv1websocketOPTIONS8EA7B7A9
2074 Metadata:
2075 aws:cdk:path: BPTAAAAF3922/IngestionConsumptionLayer/BPTAAAAF3922APIDeployment
2076 CDKMetadata:
2077 Type: AWS::CDK::Metadata
2078 Properties:
2079 Modules: aws-cdk=1.73.0,@aws-cdk/assets=1.77.0,@aws-cdk/aws-apigateway=1.77.0,@aws-cdk/aws-applicationautoscaling=1.77.0,@aws-cdk/aws-autoscaling-common=1.77.0,@aws-cdk/aws-certificatemanager=1.77.0,@aws-cdk/aws-cloudformation=1.77.0,@aws-cdk/aws-cloudfront=1.77.0,@aws-cdk/aws-cloudwatch=1.77.0,@aws-cdk/aws-codeguruprofiler=1.77.0,@aws-cdk/aws-cognito=1.77.0,@aws-cdk/aws-dynamodb=1.77.0,@aws-cdk/aws-ec2=1.77.0,@aws-cdk/aws-ecr=1.77.0,@aws-cdk/aws-ecr-assets=1.77.0,@aws-cdk/aws-events=1.77.0,@aws-cdk/aws-iam=1.77.0,@aws-cdk/aws-kinesis=1.77.0,@aws-cdk/aws-kinesisfirehose=1.77.0,@aws-cdk/aws-kms=1.77.0,@aws-cdk/aws-lambda=1.77.0,@aws-cdk/aws-lambda-event-sources=1.77.0,@aws-cdk/aws-logs=1.77.0,@aws-cdk/aws-s3=1.77.0,@aws-cdk/aws-s3-assets=1.77.0,@aws-cdk/aws-s3-notifications=1.77.0,@aws-cdk/aws-sns=1.77.0,@aws-cdk/aws-sns-subscriptions=1.77.0,@aws-cdk/aws-sqs=1.77.0,@aws-cdk/aws-ssm=1.77.0,@aws-cdk/cloud-assembly-schema=1.77.0,@aws-cdk/core=1.77.0,@aws-cdk/custom-resources=1.77.0,@aws-cdk/cx-api=1.77.0,@aws-cdk/region-info=1.77.0,jsii-runtime=node.js/v10.15.3
2080 Metadata:
2081 aws:cdk:path: BPTAAAAF3922/CDKMetadata/Default
2082 Condition: CDKMetadataAvailable
2083Parameters:
2084 AssetParameters434dd0a53085c0be4bb7da22acacaff0973b977a604f20a3e36fd8e7fef55246S3BucketEAF4DE0B:
2085 Type: String
2086 Description: S3 bucket for asset "434dd0a53085c0be4bb7da22acacaff0973b977a604f20a3e36fd8e7fef55246"
2087 AssetParameters434dd0a53085c0be4bb7da22acacaff0973b977a604f20a3e36fd8e7fef55246S3VersionKey3A057471:
2088 Type: String
2089 Description: S3 key for asset version "434dd0a53085c0be4bb7da22acacaff0973b977a604f20a3e36fd8e7fef55246"
2090 AssetParameters434dd0a53085c0be4bb7da22acacaff0973b977a604f20a3e36fd8e7fef55246ArtifactHash37170D1A:
2091 Type: String
2092 Description: Artifact hash for asset "434dd0a53085c0be4bb7da22acacaff0973b977a604f20a3e36fd8e7fef55246"
2093 AssetParametersd8bd52a6c8c58bbae9050eda1ae3ce128816963c7a4516bdf76701a645570243S3Bucket8F7ACFB1:
2094 Type: String
2095 Description: S3 bucket for asset "d8bd52a6c8c58bbae9050eda1ae3ce128816963c7a4516bdf76701a645570243"
2096 AssetParametersd8bd52a6c8c58bbae9050eda1ae3ce128816963c7a4516bdf76701a645570243S3VersionKey2571601F:
2097 Type: String
2098 Description: S3 key for asset version "d8bd52a6c8c58bbae9050eda1ae3ce128816963c7a4516bdf76701a645570243"
2099 AssetParametersd8bd52a6c8c58bbae9050eda1ae3ce128816963c7a4516bdf76701a645570243ArtifactHashE7E8E52E:
2100 Type: String
2101 Description: Artifact hash for asset "d8bd52a6c8c58bbae9050eda1ae3ce128816963c7a4516bdf76701a645570243"
2102 AssetParameters7e80e9e15e945e25395fd97cc16c88e811504061002bbc555b1cc332ecba28b4S3Bucket32103B62:
2103 Type: String
2104 Description: S3 bucket for asset "7e80e9e15e945e25395fd97cc16c88e811504061002bbc555b1cc332ecba28b4"
2105 AssetParameters7e80e9e15e945e25395fd97cc16c88e811504061002bbc555b1cc332ecba28b4S3VersionKeyC56086D5:
2106 Type: String
2107 Description: S3 key for asset version "7e80e9e15e945e25395fd97cc16c88e811504061002bbc555b1cc332ecba28b4"
2108 AssetParameters7e80e9e15e945e25395fd97cc16c88e811504061002bbc555b1cc332ecba28b4ArtifactHashE282E931:
2109 Type: String
2110 Description: Artifact hash for asset "7e80e9e15e945e25395fd97cc16c88e811504061002bbc555b1cc332ecba28b4"
2111 AssetParameters812444384e3e1fc0b7c7aca365cf7a548c5b4063252a04fd19792eacdbbe8672S3BucketEEF7A4DF:
2112 Type: String
2113 Description: S3 bucket for asset "812444384e3e1fc0b7c7aca365cf7a548c5b4063252a04fd19792eacdbbe8672"
2114 AssetParameters812444384e3e1fc0b7c7aca365cf7a548c5b4063252a04fd19792eacdbbe8672S3VersionKey21A93421:
2115 Type: String
2116 Description: S3 key for asset version "812444384e3e1fc0b7c7aca365cf7a548c5b4063252a04fd19792eacdbbe8672"
2117 AssetParameters812444384e3e1fc0b7c7aca365cf7a548c5b4063252a04fd19792eacdbbe8672ArtifactHash96D5EB03:
2118 Type: String
2119 Description: Artifact hash for asset "812444384e3e1fc0b7c7aca365cf7a548c5b4063252a04fd19792eacdbbe8672"
2120 AssetParameters57d388565f3a49e42342381d6f8a4895d067c92411f69919c88629e942c57154S3BucketE5E2BA38:
2121 Type: String
2122 Description: S3 bucket for asset "57d388565f3a49e42342381d6f8a4895d067c92411f69919c88629e942c57154"
2123 AssetParameters57d388565f3a49e42342381d6f8a4895d067c92411f69919c88629e942c57154S3VersionKeyEDDA203F:
2124 Type: String
2125 Description: S3 key for asset version "57d388565f3a49e42342381d6f8a4895d067c92411f69919c88629e942c57154"
2126 AssetParameters57d388565f3a49e42342381d6f8a4895d067c92411f69919c88629e942c57154ArtifactHash70178732:
2127 Type: String
2128 Description: Artifact hash for asset "57d388565f3a49e42342381d6f8a4895d067c92411f69919c88629e942c57154"
2129 AssetParameters9cd8d53b200b978895b9a543ba2d644ea7516ea07dcf143906c26fdbe604f1a0S3Bucket7357E54D:
2130 Type: String
2131 Description: S3 bucket for asset "9cd8d53b200b978895b9a543ba2d644ea7516ea07dcf143906c26fdbe604f1a0"
2132 AssetParameters9cd8d53b200b978895b9a543ba2d644ea7516ea07dcf143906c26fdbe604f1a0S3VersionKey102F15C7:
2133 Type: String
2134 Description: S3 key for asset version "9cd8d53b200b978895b9a543ba2d644ea7516ea07dcf143906c26fdbe604f1a0"
2135 AssetParameters9cd8d53b200b978895b9a543ba2d644ea7516ea07dcf143906c26fdbe604f1a0ArtifactHashE3E14AF0:
2136 Type: String
2137 Description: Artifact hash for asset "9cd8d53b200b978895b9a543ba2d644ea7516ea07dcf143906c26fdbe604f1a0"
2138 AssetParameters7296b5778da68a473c819c3ad70b46aa1095c22cf5ce0953a575232f2b851617S3Bucket1F4C35DE:
2139 Type: String
2140 Description: S3 bucket for asset "7296b5778da68a473c819c3ad70b46aa1095c22cf5ce0953a575232f2b851617"
2141 AssetParameters7296b5778da68a473c819c3ad70b46aa1095c22cf5ce0953a575232f2b851617S3VersionKey269C6C67:
2142 Type: String
2143 Description: S3 key for asset version "7296b5778da68a473c819c3ad70b46aa1095c22cf5ce0953a575232f2b851617"
2144 AssetParameters7296b5778da68a473c819c3ad70b46aa1095c22cf5ce0953a575232f2b851617ArtifactHashF5A87472:
2145 Type: String
2146 Description: Artifact hash for asset "7296b5778da68a473c819c3ad70b46aa1095c22cf5ce0953a575232f2b851617"
2147 AssetParameters3ff0c44479677831cb1a9bcdb5f5d3bebee7d7db47a36600dd44691cae18271cS3Bucket761E7A9E:
2148 Type: String
2149 Description: S3 bucket for asset "3ff0c44479677831cb1a9bcdb5f5d3bebee7d7db47a36600dd44691cae18271c"
2150 AssetParameters3ff0c44479677831cb1a9bcdb5f5d3bebee7d7db47a36600dd44691cae18271cS3VersionKeyA0D8ACF2:
2151 Type: String
2152 Description: S3 key for asset version "3ff0c44479677831cb1a9bcdb5f5d3bebee7d7db47a36600dd44691cae18271c"
2153 AssetParameters3ff0c44479677831cb1a9bcdb5f5d3bebee7d7db47a36600dd44691cae18271cArtifactHash0FFEA530:
2154 Type: String
2155 Description: Artifact hash for asset "3ff0c44479677831cb1a9bcdb5f5d3bebee7d7db47a36600dd44691cae18271c"
2156Conditions:
2157 AwsCdkKinesisEncryptedStreamsUnsupportedRegions:
2158 Fn::Or:
2159 - Fn::Equals:
2160 - Ref: AWS::Region
2161 - cn-north-1
2162 - Fn::Equals:
2163 - Ref: AWS::Region
2164 - cn-northwest-1
2165 CDKMetadataAvailable:
2166 Fn::Or:
2167 - Fn::Or:
2168 - Fn::Equals:
2169 - Ref: AWS::Region
2170 - ap-east-1
2171 - Fn::Equals:
2172 - Ref: AWS::Region
2173 - ap-northeast-1
2174 - Fn::Equals:
2175 - Ref: AWS::Region
2176 - ap-northeast-2
2177 - Fn::Equals:
2178 - Ref: AWS::Region
2179 - ap-south-1
2180 - Fn::Equals:
2181 - Ref: AWS::Region
2182 - ap-southeast-1
2183 - Fn::Equals:
2184 - Ref: AWS::Region
2185 - ap-southeast-2
2186 - Fn::Equals:
2187 - Ref: AWS::Region
2188 - ca-central-1
2189 - Fn::Equals:
2190 - Ref: AWS::Region
2191 - cn-north-1
2192 - Fn::Equals:
2193 - Ref: AWS::Region
2194 - cn-northwest-1
2195 - Fn::Equals:
2196 - Ref: AWS::Region
2197 - eu-central-1
2198 - Fn::Or:
2199 - Fn::Equals:
2200 - Ref: AWS::Region
2201 - eu-north-1
2202 - Fn::Equals:
2203 - Ref: AWS::Region
2204 - eu-west-1
2205 - Fn::Equals:
2206 - Ref: AWS::Region
2207 - eu-west-2
2208 - Fn::Equals:
2209 - Ref: AWS::Region
2210 - eu-west-3
2211 - Fn::Equals:
2212 - Ref: AWS::Region
2213 - me-south-1
2214 - Fn::Equals:
2215 - Ref: AWS::Region
2216 - sa-east-1
2217 - Fn::Equals:
2218 - Ref: AWS::Region
2219 - us-east-1
2220 - Fn::Equals:
2221 - Ref: AWS::Region
2222 - us-east-2
2223 - Fn::Equals:
2224 - Ref: AWS::Region
2225 - us-west-1
2226 - Fn::Equals:
2227 - Ref: AWS::Region
2228 - us-west-2
2229Outputs:
2230 apigtw:
2231 Description: API Gateway URL
2232 Value:
2233 Fn::Join:
2234 - ""
2235 - - https://
2236 - Ref: IngestionConsumptionLayerBPTAAAAF3922API7B67C35B
2237 - .execute-api.
2238 - Ref: AWS::Region
2239 - .amazonaws.com/prod/v1/
2240 Export:
2241 Name: bptaaaaf3922:apigtw
2242 region:
2243 Description: region
2244 Value:
2245 Ref: AWS::Region
2246 Export:
2247 Name: bptaaaaf3922:region
2248 envname:
2249 Description: Environment name
2250 Value: BPTAAAAF3922
2251 Export:
2252 Name: bptaaaaf3922:envname
2253
2254