@aws-solutions-constructs/aws-cloudfront-apigateway-lambda 2.50.0 → 2.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/.eslintignore +2 -0
  2. package/.jsii +51 -6
  3. package/integ.config.json +7 -0
  4. package/lib/index.js +1 -1
  5. package/package.json +14 -13
  6. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js +6 -3
  7. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/asset.42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c/index.js +10 -0
  8. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6/index.js +1 -0
  9. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/cdk.out +1 -0
  10. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/cftaplam-customCloudfrontLoggingBucket.assets.json +45 -0
  11. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/cftaplam-customCloudfrontLoggingBucket.template.json +1348 -0
  12. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/cftaplamcustomCloudfrontLoggingBucketIntegDefaultTestDeployAssert35A683E0.assets.json +19 -0
  13. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/cftaplamcustomCloudfrontLoggingBucketIntegDefaultTestDeployAssert35A683E0.template.json +36 -0
  14. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/integ.json +12 -0
  15. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/manifest.json +299 -0
  16. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/tree.json +1775 -0
  17. package/test/integ.cftaplam-no-arguments.js +6 -3
  18. package/test/integ.cftaplam-no-arguments.js.snapshot/asset.42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c/index.js +10 -0
  19. package/test/integ.cftaplam-no-arguments.js.snapshot/asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6/index.js +1 -0
  20. package/test/integ.cftaplam-no-arguments.js.snapshot/cdk.out +1 -0
  21. package/test/integ.cftaplam-no-arguments.js.snapshot/cftaplam-no-arguments.assets.json +45 -0
  22. package/test/integ.cftaplam-no-arguments.js.snapshot/cftaplam-no-arguments.template.json +1348 -0
  23. package/test/integ.cftaplam-no-arguments.js.snapshot/cftaplamnoargumentsIntegDefaultTestDeployAssertACC32F59.assets.json +19 -0
  24. package/test/integ.cftaplam-no-arguments.js.snapshot/cftaplamnoargumentsIntegDefaultTestDeployAssertACC32F59.template.json +36 -0
  25. package/test/integ.cftaplam-no-arguments.js.snapshot/integ.json +12 -0
  26. package/test/integ.cftaplam-no-arguments.js.snapshot/manifest.json +299 -0
  27. package/test/integ.cftaplam-no-arguments.js.snapshot/tree.json +1775 -0
  28. package/test/integ.cftaplam-override-behavior.js +6 -3
  29. package/test/integ.cftaplam-override-behavior.js.snapshot/asset.42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c/index.js +10 -0
  30. package/test/integ.cftaplam-override-behavior.js.snapshot/asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6/index.js +1 -0
  31. package/test/integ.cftaplam-override-behavior.js.snapshot/cdk.out +1 -0
  32. package/test/integ.cftaplam-override-behavior.js.snapshot/cftaplam-override-behavior.assets.json +45 -0
  33. package/test/integ.cftaplam-override-behavior.js.snapshot/cftaplam-override-behavior.template.json +1407 -0
  34. package/test/integ.cftaplam-override-behavior.js.snapshot/cftaplamoverridebehaviorIntegDefaultTestDeployAssert3DC30427.assets.json +19 -0
  35. package/test/integ.cftaplam-override-behavior.js.snapshot/cftaplamoverridebehaviorIntegDefaultTestDeployAssert3DC30427.template.json +36 -0
  36. package/test/integ.cftaplam-override-behavior.js.snapshot/integ.json +12 -0
  37. package/test/integ.cftaplam-override-behavior.js.snapshot/manifest.json +305 -0
  38. package/test/integ.cftaplam-override-behavior.js.snapshot/tree.json +1859 -0
  39. package/test/integ.cftaplam-customCloudfrontLoggingBucket.expected.json +0 -1347
  40. package/test/integ.cftaplam-no-arguments.expected.json +0 -1347
  41. package/test/integ.cftaplam-override-behavior.expected.json +0 -1406
@@ -1,1406 +0,0 @@
1
- {
2
- "Description": "Integration Test for aws-cloudfront-apigateway-lambda",
3
- "Resources": {
4
- "SomeCachePolicy40B9E4D4": {
5
- "Type": "AWS::CloudFront::CachePolicy",
6
- "Properties": {
7
- "CachePolicyConfig": {
8
- "DefaultTTL": 28800,
9
- "MaxTTL": 36000,
10
- "MinTTL": 18000,
11
- "Name": "SomeCachePolicy",
12
- "ParametersInCacheKeyAndForwardedToOrigin": {
13
- "CookiesConfig": {
14
- "CookieBehavior": "none"
15
- },
16
- "EnableAcceptEncodingBrotli": false,
17
- "EnableAcceptEncodingGzip": false,
18
- "HeadersConfig": {
19
- "HeaderBehavior": "none"
20
- },
21
- "QueryStringsConfig": {
22
- "QueryStringBehavior": "none"
23
- }
24
- }
25
- }
26
- }
27
- },
28
- "NoCachePolicy1F71EC46": {
29
- "Type": "AWS::CloudFront::CachePolicy",
30
- "Properties": {
31
- "CachePolicyConfig": {
32
- "DefaultTTL": 0,
33
- "MaxTTL": 0,
34
- "MinTTL": 0,
35
- "Name": "NoCachePolicy",
36
- "ParametersInCacheKeyAndForwardedToOrigin": {
37
- "CookiesConfig": {
38
- "CookieBehavior": "none"
39
- },
40
- "EnableAcceptEncodingBrotli": false,
41
- "EnableAcceptEncodingGzip": false,
42
- "HeadersConfig": {
43
- "HeaderBehavior": "none"
44
- },
45
- "QueryStringsConfig": {
46
- "QueryStringBehavior": "none"
47
- }
48
- }
49
- }
50
- }
51
- },
52
- "cftaplamoverridebehaviorauthorizerAuthFunctionServiceRoleA606974F": {
53
- "Type": "AWS::IAM::Role",
54
- "Properties": {
55
- "AssumeRolePolicyDocument": {
56
- "Statement": [
57
- {
58
- "Action": "sts:AssumeRole",
59
- "Effect": "Allow",
60
- "Principal": {
61
- "Service": "lambda.amazonaws.com"
62
- }
63
- }
64
- ],
65
- "Version": "2012-10-17"
66
- },
67
- "ManagedPolicyArns": [
68
- {
69
- "Fn::Join": [
70
- "",
71
- [
72
- "arn:",
73
- {
74
- "Ref": "AWS::Partition"
75
- },
76
- ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
77
- ]
78
- ]
79
- }
80
- ]
81
- }
82
- },
83
- "cftaplamoverridebehaviorauthorizerAuthFunction9DD827D6": {
84
- "Type": "AWS::Lambda::Function",
85
- "Properties": {
86
- "Code": {
87
- "S3Bucket": {
88
- "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
89
- },
90
- "S3Key": "42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c.zip"
91
- },
92
- "Handler": ".handler",
93
- "Role": {
94
- "Fn::GetAtt": [
95
- "cftaplamoverridebehaviorauthorizerAuthFunctionServiceRoleA606974F",
96
- "Arn"
97
- ]
98
- },
99
- "Runtime": "nodejs16.x"
100
- },
101
- "DependsOn": [
102
- "cftaplamoverridebehaviorauthorizerAuthFunctionServiceRoleA606974F"
103
- ],
104
- "Metadata": {
105
- "cfn_nag": {
106
- "rules_to_suppress": [
107
- {
108
- "id": "W58",
109
- "reason": "Test Resource"
110
- },
111
- {
112
- "id": "W89",
113
- "reason": "Test Resource"
114
- },
115
- {
116
- "id": "W92",
117
- "reason": "Test Resource"
118
- }
119
- ]
120
- }
121
- }
122
- },
123
- "cftaplamoverridebehaviorauthorizerAuthFunctioncftaplamoverridebehaviorcftaplamoverridebehaviorauthorizer3042C32CPermissions33B8870B": {
124
- "Type": "AWS::Lambda::Permission",
125
- "Properties": {
126
- "Action": "lambda:InvokeFunction",
127
- "FunctionName": {
128
- "Fn::GetAtt": [
129
- "cftaplamoverridebehaviorauthorizerAuthFunction9DD827D6",
130
- "Arn"
131
- ]
132
- },
133
- "Principal": "apigateway.amazonaws.com",
134
- "SourceArn": {
135
- "Fn::Join": [
136
- "",
137
- [
138
- "arn:",
139
- {
140
- "Ref": "AWS::Partition"
141
- },
142
- ":execute-api:",
143
- {
144
- "Ref": "AWS::Region"
145
- },
146
- ":",
147
- {
148
- "Ref": "AWS::AccountId"
149
- },
150
- ":",
151
- {
152
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
153
- },
154
- "/authorizers/",
155
- {
156
- "Ref": "cftaplamoverridebehaviorauthorizer74D77225"
157
- }
158
- ]
159
- ]
160
- }
161
- }
162
- },
163
- "cftaplamoverridebehaviorauthorizer74D77225": {
164
- "Type": "AWS::ApiGateway::Authorizer",
165
- "Properties": {
166
- "AuthorizerResultTtlInSeconds": 300,
167
- "AuthorizerUri": {
168
- "Fn::Join": [
169
- "",
170
- [
171
- "arn:",
172
- {
173
- "Fn::Select": [
174
- 1,
175
- {
176
- "Fn::Split": [
177
- ":",
178
- {
179
- "Fn::GetAtt": [
180
- "cftaplamoverridebehaviorauthorizerAuthFunction9DD827D6",
181
- "Arn"
182
- ]
183
- }
184
- ]
185
- }
186
- ]
187
- },
188
- ":apigateway:",
189
- {
190
- "Fn::Select": [
191
- 3,
192
- {
193
- "Fn::Split": [
194
- ":",
195
- {
196
- "Fn::GetAtt": [
197
- "cftaplamoverridebehaviorauthorizerAuthFunction9DD827D6",
198
- "Arn"
199
- ]
200
- }
201
- ]
202
- }
203
- ]
204
- },
205
- ":lambda:path/2015-03-31/functions/",
206
- {
207
- "Fn::GetAtt": [
208
- "cftaplamoverridebehaviorauthorizerAuthFunction9DD827D6",
209
- "Arn"
210
- ]
211
- },
212
- "/invocations"
213
- ]
214
- ]
215
- },
216
- "IdentitySource": "method.request.header.Authorization",
217
- "Name": "cftaplamoverridebehaviorcftaplamoverridebehaviorauthorizer3042C32C",
218
- "RestApiId": {
219
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
220
- },
221
- "Type": "REQUEST"
222
- }
223
- },
224
- "cfapilambdaoverrideLambdaFunctionServiceRole4B1A4043": {
225
- "Type": "AWS::IAM::Role",
226
- "Properties": {
227
- "AssumeRolePolicyDocument": {
228
- "Statement": [
229
- {
230
- "Action": "sts:AssumeRole",
231
- "Effect": "Allow",
232
- "Principal": {
233
- "Service": "lambda.amazonaws.com"
234
- }
235
- }
236
- ],
237
- "Version": "2012-10-17"
238
- },
239
- "Policies": [
240
- {
241
- "PolicyDocument": {
242
- "Statement": [
243
- {
244
- "Action": [
245
- "logs:CreateLogGroup",
246
- "logs:CreateLogStream",
247
- "logs:PutLogEvents"
248
- ],
249
- "Effect": "Allow",
250
- "Resource": {
251
- "Fn::Join": [
252
- "",
253
- [
254
- "arn:",
255
- {
256
- "Ref": "AWS::Partition"
257
- },
258
- ":logs:",
259
- {
260
- "Ref": "AWS::Region"
261
- },
262
- ":",
263
- {
264
- "Ref": "AWS::AccountId"
265
- },
266
- ":log-group:/aws/lambda/*"
267
- ]
268
- ]
269
- }
270
- }
271
- ],
272
- "Version": "2012-10-17"
273
- },
274
- "PolicyName": "LambdaFunctionServiceRolePolicy"
275
- }
276
- ]
277
- }
278
- },
279
- "cfapilambdaoverrideLambdaFunctionServiceRoleDefaultPolicy1A3D9202": {
280
- "Type": "AWS::IAM::Policy",
281
- "Properties": {
282
- "PolicyDocument": {
283
- "Statement": [
284
- {
285
- "Action": [
286
- "xray:PutTraceSegments",
287
- "xray:PutTelemetryRecords"
288
- ],
289
- "Effect": "Allow",
290
- "Resource": "*"
291
- }
292
- ],
293
- "Version": "2012-10-17"
294
- },
295
- "PolicyName": "cfapilambdaoverrideLambdaFunctionServiceRoleDefaultPolicy1A3D9202",
296
- "Roles": [
297
- {
298
- "Ref": "cfapilambdaoverrideLambdaFunctionServiceRole4B1A4043"
299
- }
300
- ]
301
- },
302
- "Metadata": {
303
- "cfn_nag": {
304
- "rules_to_suppress": [
305
- {
306
- "id": "W12",
307
- "reason": "Lambda needs the following minimum required permissions to send trace data to X-Ray and access ENIs in a VPC."
308
- }
309
- ]
310
- }
311
- }
312
- },
313
- "cfapilambdaoverrideLambdaFunction74CE466F": {
314
- "Type": "AWS::Lambda::Function",
315
- "Properties": {
316
- "Code": {
317
- "S3Bucket": {
318
- "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
319
- },
320
- "S3Key": "42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c.zip"
321
- },
322
- "Environment": {
323
- "Variables": {
324
- "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
325
- }
326
- },
327
- "Handler": "index.handler",
328
- "Role": {
329
- "Fn::GetAtt": [
330
- "cfapilambdaoverrideLambdaFunctionServiceRole4B1A4043",
331
- "Arn"
332
- ]
333
- },
334
- "Runtime": "nodejs16.x",
335
- "TracingConfig": {
336
- "Mode": "Active"
337
- }
338
- },
339
- "DependsOn": [
340
- "cfapilambdaoverrideLambdaFunctionServiceRoleDefaultPolicy1A3D9202",
341
- "cfapilambdaoverrideLambdaFunctionServiceRole4B1A4043"
342
- ],
343
- "Metadata": {
344
- "cfn_nag": {
345
- "rules_to_suppress": [
346
- {
347
- "id": "W58",
348
- "reason": "Lambda functions has the required permission to write CloudWatch Logs. It uses custom policy instead of arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole with tighter permissions."
349
- },
350
- {
351
- "id": "W89",
352
- "reason": "This is not a rule for the general case, just for specific use cases/industries"
353
- },
354
- {
355
- "id": "W92",
356
- "reason": "Impossible for us to define the correct concurrency for clients"
357
- }
358
- ]
359
- }
360
- }
361
- },
362
- "cfapilambdaoverrideApiAccessLogGroup2665068D": {
363
- "Type": "AWS::Logs::LogGroup",
364
- "UpdateReplacePolicy": "Retain",
365
- "DeletionPolicy": "Retain",
366
- "Metadata": {
367
- "cfn_nag": {
368
- "rules_to_suppress": [
369
- {
370
- "id": "W86",
371
- "reason": "Retention period for CloudWatchLogs LogGroups are set to 'Never Expire' to preserve customer data indefinitely"
372
- },
373
- {
374
- "id": "W84",
375
- "reason": "By default CloudWatchLogs LogGroups data is encrypted using the CloudWatch server-side encryption keys (AWS Managed Keys)"
376
- }
377
- ]
378
- }
379
- }
380
- },
381
- "cfapilambdaoverrideLambdaRestApi6E7952FC": {
382
- "Type": "AWS::ApiGateway::RestApi",
383
- "Properties": {
384
- "EndpointConfiguration": {
385
- "Types": [
386
- "REGIONAL"
387
- ]
388
- },
389
- "Name": "LambdaRestApi"
390
- }
391
- },
392
- "cfapilambdaoverrideLambdaRestApiDeployment82ACBB00a88f54114ca67f75c1f46116226ebd9d": {
393
- "Type": "AWS::ApiGateway::Deployment",
394
- "Properties": {
395
- "Description": "Automatically created by the RestApi construct",
396
- "RestApiId": {
397
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
398
- }
399
- },
400
- "DependsOn": [
401
- "cfapilambdaoverrideLambdaRestApidynamicGET15050D54",
402
- "cfapilambdaoverrideLambdaRestApidynamic88206171",
403
- "cfapilambdaoverrideLambdaRestApistaticGET81EF9C24",
404
- "cfapilambdaoverrideLambdaRestApistaticC2ECB649"
405
- ],
406
- "Metadata": {
407
- "cfn_nag": {
408
- "rules_to_suppress": [
409
- {
410
- "id": "W45",
411
- "reason": "ApiGateway has AccessLogging enabled in AWS::ApiGateway::Stage resource, but cfn_nag checks for it in AWS::ApiGateway::Deployment resource"
412
- }
413
- ]
414
- }
415
- }
416
- },
417
- "cfapilambdaoverrideLambdaRestApiDeploymentStageprodC4F6FBB5": {
418
- "Type": "AWS::ApiGateway::Stage",
419
- "Properties": {
420
- "AccessLogSetting": {
421
- "DestinationArn": {
422
- "Fn::GetAtt": [
423
- "cfapilambdaoverrideApiAccessLogGroup2665068D",
424
- "Arn"
425
- ]
426
- },
427
- "Format": "{\"requestId\":\"$context.requestId\",\"ip\":\"$context.identity.sourceIp\",\"user\":\"$context.identity.user\",\"caller\":\"$context.identity.caller\",\"requestTime\":\"$context.requestTime\",\"httpMethod\":\"$context.httpMethod\",\"resourcePath\":\"$context.resourcePath\",\"status\":\"$context.status\",\"protocol\":\"$context.protocol\",\"responseLength\":\"$context.responseLength\"}"
428
- },
429
- "DeploymentId": {
430
- "Ref": "cfapilambdaoverrideLambdaRestApiDeployment82ACBB00a88f54114ca67f75c1f46116226ebd9d"
431
- },
432
- "MethodSettings": [
433
- {
434
- "DataTraceEnabled": false,
435
- "HttpMethod": "*",
436
- "LoggingLevel": "INFO",
437
- "ResourcePath": "/*"
438
- }
439
- ],
440
- "RestApiId": {
441
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
442
- },
443
- "StageName": "prod",
444
- "TracingEnabled": true
445
- }
446
- },
447
- "cfapilambdaoverrideLambdaRestApistaticC2ECB649": {
448
- "Type": "AWS::ApiGateway::Resource",
449
- "Properties": {
450
- "ParentId": {
451
- "Fn::GetAtt": [
452
- "cfapilambdaoverrideLambdaRestApi6E7952FC",
453
- "RootResourceId"
454
- ]
455
- },
456
- "PathPart": "static",
457
- "RestApiId": {
458
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
459
- }
460
- }
461
- },
462
- "cfapilambdaoverrideLambdaRestApistaticGET81EF9C24": {
463
- "Type": "AWS::ApiGateway::Method",
464
- "Properties": {
465
- "AuthorizationType": "CUSTOM",
466
- "AuthorizerId": {
467
- "Ref": "cftaplamoverridebehaviorauthorizer74D77225"
468
- },
469
- "HttpMethod": "GET",
470
- "Integration": {
471
- "IntegrationHttpMethod": "GET",
472
- "Type": "HTTP_PROXY",
473
- "Uri": "http://amazon.com"
474
- },
475
- "ResourceId": {
476
- "Ref": "cfapilambdaoverrideLambdaRestApistaticC2ECB649"
477
- },
478
- "RestApiId": {
479
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
480
- }
481
- },
482
- "Metadata": {
483
- "cfn_nag": {
484
- "rules_to_suppress": [
485
- {
486
- "id": "W59",
487
- "reason": "AWS::ApiGateway::Method AuthorizationType is set to 'NONE' because API Gateway behind CloudFront does not support AWS_IAM authentication"
488
- }
489
- ]
490
- }
491
- }
492
- },
493
- "cfapilambdaoverrideLambdaRestApidynamic88206171": {
494
- "Type": "AWS::ApiGateway::Resource",
495
- "Properties": {
496
- "ParentId": {
497
- "Fn::GetAtt": [
498
- "cfapilambdaoverrideLambdaRestApi6E7952FC",
499
- "RootResourceId"
500
- ]
501
- },
502
- "PathPart": "dynamic",
503
- "RestApiId": {
504
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
505
- }
506
- }
507
- },
508
- "cfapilambdaoverrideLambdaRestApidynamicGETApiPermissioncftaplamoverridebehaviorcfapilambdaoverrideLambdaRestApiE3676062GETdynamic9C58B7B8": {
509
- "Type": "AWS::Lambda::Permission",
510
- "Properties": {
511
- "Action": "lambda:InvokeFunction",
512
- "FunctionName": {
513
- "Fn::GetAtt": [
514
- "cfapilambdaoverrideLambdaFunction74CE466F",
515
- "Arn"
516
- ]
517
- },
518
- "Principal": "apigateway.amazonaws.com",
519
- "SourceArn": {
520
- "Fn::Join": [
521
- "",
522
- [
523
- "arn:",
524
- {
525
- "Ref": "AWS::Partition"
526
- },
527
- ":execute-api:",
528
- {
529
- "Ref": "AWS::Region"
530
- },
531
- ":",
532
- {
533
- "Ref": "AWS::AccountId"
534
- },
535
- ":",
536
- {
537
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
538
- },
539
- "/",
540
- {
541
- "Ref": "cfapilambdaoverrideLambdaRestApiDeploymentStageprodC4F6FBB5"
542
- },
543
- "/GET/dynamic"
544
- ]
545
- ]
546
- }
547
- }
548
- },
549
- "cfapilambdaoverrideLambdaRestApidynamicGETApiPermissionTestcftaplamoverridebehaviorcfapilambdaoverrideLambdaRestApiE3676062GETdynamic5810873D": {
550
- "Type": "AWS::Lambda::Permission",
551
- "Properties": {
552
- "Action": "lambda:InvokeFunction",
553
- "FunctionName": {
554
- "Fn::GetAtt": [
555
- "cfapilambdaoverrideLambdaFunction74CE466F",
556
- "Arn"
557
- ]
558
- },
559
- "Principal": "apigateway.amazonaws.com",
560
- "SourceArn": {
561
- "Fn::Join": [
562
- "",
563
- [
564
- "arn:",
565
- {
566
- "Ref": "AWS::Partition"
567
- },
568
- ":execute-api:",
569
- {
570
- "Ref": "AWS::Region"
571
- },
572
- ":",
573
- {
574
- "Ref": "AWS::AccountId"
575
- },
576
- ":",
577
- {
578
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
579
- },
580
- "/test-invoke-stage/GET/dynamic"
581
- ]
582
- ]
583
- }
584
- }
585
- },
586
- "cfapilambdaoverrideLambdaRestApidynamicGET15050D54": {
587
- "Type": "AWS::ApiGateway::Method",
588
- "Properties": {
589
- "AuthorizationType": "CUSTOM",
590
- "AuthorizerId": {
591
- "Ref": "cftaplamoverridebehaviorauthorizer74D77225"
592
- },
593
- "HttpMethod": "GET",
594
- "Integration": {
595
- "IntegrationHttpMethod": "POST",
596
- "Type": "AWS_PROXY",
597
- "Uri": {
598
- "Fn::Join": [
599
- "",
600
- [
601
- "arn:",
602
- {
603
- "Ref": "AWS::Partition"
604
- },
605
- ":apigateway:",
606
- {
607
- "Ref": "AWS::Region"
608
- },
609
- ":lambda:path/2015-03-31/functions/",
610
- {
611
- "Fn::GetAtt": [
612
- "cfapilambdaoverrideLambdaFunction74CE466F",
613
- "Arn"
614
- ]
615
- },
616
- "/invocations"
617
- ]
618
- ]
619
- }
620
- },
621
- "ResourceId": {
622
- "Ref": "cfapilambdaoverrideLambdaRestApidynamic88206171"
623
- },
624
- "RestApiId": {
625
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
626
- }
627
- },
628
- "Metadata": {
629
- "cfn_nag": {
630
- "rules_to_suppress": [
631
- {
632
- "id": "W59",
633
- "reason": "AWS::ApiGateway::Method AuthorizationType is set to 'NONE' because API Gateway behind CloudFront does not support AWS_IAM authentication"
634
- }
635
- ]
636
- }
637
- }
638
- },
639
- "cfapilambdaoverrideLambdaRestApiUsagePlanCF4B0BE0": {
640
- "Type": "AWS::ApiGateway::UsagePlan",
641
- "Properties": {
642
- "ApiStages": [
643
- {
644
- "ApiId": {
645
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
646
- },
647
- "Stage": {
648
- "Ref": "cfapilambdaoverrideLambdaRestApiDeploymentStageprodC4F6FBB5"
649
- },
650
- "Throttle": {}
651
- }
652
- ]
653
- }
654
- },
655
- "cfapilambdaoverrideLambdaRestApiCloudWatchRole0F1F3559": {
656
- "Type": "AWS::IAM::Role",
657
- "Properties": {
658
- "AssumeRolePolicyDocument": {
659
- "Statement": [
660
- {
661
- "Action": "sts:AssumeRole",
662
- "Effect": "Allow",
663
- "Principal": {
664
- "Service": "apigateway.amazonaws.com"
665
- }
666
- }
667
- ],
668
- "Version": "2012-10-17"
669
- },
670
- "Policies": [
671
- {
672
- "PolicyDocument": {
673
- "Statement": [
674
- {
675
- "Action": [
676
- "logs:CreateLogGroup",
677
- "logs:CreateLogStream",
678
- "logs:DescribeLogGroups",
679
- "logs:DescribeLogStreams",
680
- "logs:PutLogEvents",
681
- "logs:GetLogEvents",
682
- "logs:FilterLogEvents"
683
- ],
684
- "Effect": "Allow",
685
- "Resource": {
686
- "Fn::Join": [
687
- "",
688
- [
689
- "arn:",
690
- {
691
- "Ref": "AWS::Partition"
692
- },
693
- ":logs:",
694
- {
695
- "Ref": "AWS::Region"
696
- },
697
- ":",
698
- {
699
- "Ref": "AWS::AccountId"
700
- },
701
- ":*"
702
- ]
703
- ]
704
- }
705
- }
706
- ],
707
- "Version": "2012-10-17"
708
- },
709
- "PolicyName": "LambdaRestApiCloudWatchRolePolicy"
710
- }
711
- ]
712
- }
713
- },
714
- "cfapilambdaoverrideLambdaRestApiAccountFB480D92": {
715
- "Type": "AWS::ApiGateway::Account",
716
- "Properties": {
717
- "CloudWatchRoleArn": {
718
- "Fn::GetAtt": [
719
- "cfapilambdaoverrideLambdaRestApiCloudWatchRole0F1F3559",
720
- "Arn"
721
- ]
722
- }
723
- },
724
- "DependsOn": [
725
- "cfapilambdaoverrideLambdaRestApi6E7952FC"
726
- ]
727
- },
728
- "cfapilambdaoverrideCloudFrontToApiGatewaySetHttpSecurityHeaders67E61E6E": {
729
- "Type": "AWS::CloudFront::Function",
730
- "Properties": {
731
- "AutoPublish": true,
732
- "FunctionCode": "function handler(event) { var response = event.response; var headers = response.headers; headers['strict-transport-security'] = { value: 'max-age=63072000; includeSubdomains; preload'}; headers['content-security-policy'] = { value: \"default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'\"}; headers['x-content-type-options'] = { value: 'nosniff'}; headers['x-frame-options'] = {value: 'DENY'}; headers['x-xss-protection'] = {value: '1; mode=block'}; return response; }",
733
- "FunctionConfig": {
734
- "Comment": "SetHttpSecurityHeadersc826c2a6a3ffe209aed33765f37752084820de0d3b",
735
- "Runtime": "cloudfront-js-1.0"
736
- },
737
- "Name": "SetHttpSecurityHeadersc826c2a6a3ffe209aed33765f37752084820de0d3b"
738
- }
739
- },
740
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog9CEB5CD9": {
741
- "Type": "AWS::S3::Bucket",
742
- "Properties": {
743
- "BucketEncryption": {
744
- "ServerSideEncryptionConfiguration": [
745
- {
746
- "ServerSideEncryptionByDefault": {
747
- "SSEAlgorithm": "AES256"
748
- }
749
- }
750
- ]
751
- },
752
- "OwnershipControls": {
753
- "Rules": [
754
- {
755
- "ObjectOwnership": "ObjectWriter"
756
- }
757
- ]
758
- },
759
- "PublicAccessBlockConfiguration": {
760
- "BlockPublicAcls": true,
761
- "BlockPublicPolicy": true,
762
- "IgnorePublicAcls": true,
763
- "RestrictPublicBuckets": true
764
- },
765
- "Tags": [
766
- {
767
- "Key": "aws-cdk:auto-delete-objects",
768
- "Value": "true"
769
- }
770
- ],
771
- "VersioningConfiguration": {
772
- "Status": "Enabled"
773
- }
774
- },
775
- "UpdateReplacePolicy": "Delete",
776
- "DeletionPolicy": "Delete",
777
- "Metadata": {
778
- "cfn_nag": {
779
- "rules_to_suppress": [
780
- {
781
- "id": "W35",
782
- "reason": "This S3 bucket is used as the access logging bucket for another bucket"
783
- }
784
- ]
785
- }
786
- }
787
- },
788
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLogPolicy53DB42E0": {
789
- "Type": "AWS::S3::BucketPolicy",
790
- "Properties": {
791
- "Bucket": {
792
- "Ref": "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog9CEB5CD9"
793
- },
794
- "PolicyDocument": {
795
- "Statement": [
796
- {
797
- "Action": "s3:*",
798
- "Condition": {
799
- "Bool": {
800
- "aws:SecureTransport": "false"
801
- }
802
- },
803
- "Effect": "Deny",
804
- "Principal": {
805
- "AWS": "*"
806
- },
807
- "Resource": [
808
- {
809
- "Fn::GetAtt": [
810
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog9CEB5CD9",
811
- "Arn"
812
- ]
813
- },
814
- {
815
- "Fn::Join": [
816
- "",
817
- [
818
- {
819
- "Fn::GetAtt": [
820
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog9CEB5CD9",
821
- "Arn"
822
- ]
823
- },
824
- "/*"
825
- ]
826
- ]
827
- }
828
- ]
829
- },
830
- {
831
- "Action": [
832
- "s3:PutBucketPolicy",
833
- "s3:GetBucket*",
834
- "s3:List*",
835
- "s3:DeleteObject*"
836
- ],
837
- "Effect": "Allow",
838
- "Principal": {
839
- "AWS": {
840
- "Fn::GetAtt": [
841
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
842
- "Arn"
843
- ]
844
- }
845
- },
846
- "Resource": [
847
- {
848
- "Fn::GetAtt": [
849
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog9CEB5CD9",
850
- "Arn"
851
- ]
852
- },
853
- {
854
- "Fn::Join": [
855
- "",
856
- [
857
- {
858
- "Fn::GetAtt": [
859
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog9CEB5CD9",
860
- "Arn"
861
- ]
862
- },
863
- "/*"
864
- ]
865
- ]
866
- }
867
- ]
868
- },
869
- {
870
- "Action": "s3:PutObject",
871
- "Condition": {
872
- "ArnLike": {
873
- "aws:SourceArn": {
874
- "Fn::GetAtt": [
875
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0",
876
- "Arn"
877
- ]
878
- }
879
- },
880
- "StringEquals": {
881
- "aws:SourceAccount": {
882
- "Ref": "AWS::AccountId"
883
- }
884
- }
885
- },
886
- "Effect": "Allow",
887
- "Principal": {
888
- "Service": "logging.s3.amazonaws.com"
889
- },
890
- "Resource": {
891
- "Fn::Join": [
892
- "",
893
- [
894
- {
895
- "Fn::GetAtt": [
896
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog9CEB5CD9",
897
- "Arn"
898
- ]
899
- },
900
- "/*"
901
- ]
902
- ]
903
- }
904
- }
905
- ],
906
- "Version": "2012-10-17"
907
- }
908
- }
909
- },
910
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLogAutoDeleteObjectsCustomResource33279C95": {
911
- "Type": "Custom::S3AutoDeleteObjects",
912
- "Properties": {
913
- "ServiceToken": {
914
- "Fn::GetAtt": [
915
- "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
916
- "Arn"
917
- ]
918
- },
919
- "BucketName": {
920
- "Ref": "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog9CEB5CD9"
921
- }
922
- },
923
- "DependsOn": [
924
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLogPolicy53DB42E0"
925
- ],
926
- "UpdateReplacePolicy": "Delete",
927
- "DeletionPolicy": "Delete"
928
- },
929
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0": {
930
- "Type": "AWS::S3::Bucket",
931
- "Properties": {
932
- "AccessControl": "LogDeliveryWrite",
933
- "BucketEncryption": {
934
- "ServerSideEncryptionConfiguration": [
935
- {
936
- "ServerSideEncryptionByDefault": {
937
- "SSEAlgorithm": "AES256"
938
- }
939
- }
940
- ]
941
- },
942
- "LoggingConfiguration": {
943
- "DestinationBucketName": {
944
- "Ref": "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog9CEB5CD9"
945
- }
946
- },
947
- "OwnershipControls": {
948
- "Rules": [
949
- {
950
- "ObjectOwnership": "ObjectWriter"
951
- }
952
- ]
953
- },
954
- "PublicAccessBlockConfiguration": {
955
- "BlockPublicAcls": true,
956
- "BlockPublicPolicy": true,
957
- "IgnorePublicAcls": true,
958
- "RestrictPublicBuckets": true
959
- },
960
- "Tags": [
961
- {
962
- "Key": "aws-cdk:auto-delete-objects",
963
- "Value": "true"
964
- }
965
- ],
966
- "VersioningConfiguration": {
967
- "Status": "Enabled"
968
- }
969
- },
970
- "UpdateReplacePolicy": "Delete",
971
- "DeletionPolicy": "Delete"
972
- },
973
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketPolicyC3092436": {
974
- "Type": "AWS::S3::BucketPolicy",
975
- "Properties": {
976
- "Bucket": {
977
- "Ref": "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0"
978
- },
979
- "PolicyDocument": {
980
- "Statement": [
981
- {
982
- "Action": "s3:*",
983
- "Condition": {
984
- "Bool": {
985
- "aws:SecureTransport": "false"
986
- }
987
- },
988
- "Effect": "Deny",
989
- "Principal": {
990
- "AWS": "*"
991
- },
992
- "Resource": [
993
- {
994
- "Fn::GetAtt": [
995
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0",
996
- "Arn"
997
- ]
998
- },
999
- {
1000
- "Fn::Join": [
1001
- "",
1002
- [
1003
- {
1004
- "Fn::GetAtt": [
1005
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0",
1006
- "Arn"
1007
- ]
1008
- },
1009
- "/*"
1010
- ]
1011
- ]
1012
- }
1013
- ]
1014
- },
1015
- {
1016
- "Action": [
1017
- "s3:PutBucketPolicy",
1018
- "s3:GetBucket*",
1019
- "s3:List*",
1020
- "s3:DeleteObject*"
1021
- ],
1022
- "Effect": "Allow",
1023
- "Principal": {
1024
- "AWS": {
1025
- "Fn::GetAtt": [
1026
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
1027
- "Arn"
1028
- ]
1029
- }
1030
- },
1031
- "Resource": [
1032
- {
1033
- "Fn::GetAtt": [
1034
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0",
1035
- "Arn"
1036
- ]
1037
- },
1038
- {
1039
- "Fn::Join": [
1040
- "",
1041
- [
1042
- {
1043
- "Fn::GetAtt": [
1044
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0",
1045
- "Arn"
1046
- ]
1047
- },
1048
- "/*"
1049
- ]
1050
- ]
1051
- }
1052
- ]
1053
- }
1054
- ],
1055
- "Version": "2012-10-17"
1056
- }
1057
- }
1058
- },
1059
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAutoDeleteObjectsCustomResource028E07CD": {
1060
- "Type": "Custom::S3AutoDeleteObjects",
1061
- "Properties": {
1062
- "ServiceToken": {
1063
- "Fn::GetAtt": [
1064
- "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
1065
- "Arn"
1066
- ]
1067
- },
1068
- "BucketName": {
1069
- "Ref": "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0"
1070
- }
1071
- },
1072
- "DependsOn": [
1073
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketPolicyC3092436"
1074
- ],
1075
- "UpdateReplacePolicy": "Delete",
1076
- "DeletionPolicy": "Delete"
1077
- },
1078
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudFrontDistribution94A35932": {
1079
- "Type": "AWS::CloudFront::Distribution",
1080
- "Properties": {
1081
- "DistributionConfig": {
1082
- "CacheBehaviors": [
1083
- {
1084
- "CachePolicyId": {
1085
- "Ref": "NoCachePolicy1F71EC46"
1086
- },
1087
- "Compress": true,
1088
- "PathPattern": "/dynamic",
1089
- "TargetOriginId": "cftaplamoverridebehaviorcfapilambdaoverrideCloudFrontToApiGatewayCloudFrontDistributionOrigin2D0C9421C",
1090
- "ViewerProtocolPolicy": "allow-all"
1091
- }
1092
- ],
1093
- "DefaultCacheBehavior": {
1094
- "CachePolicyId": {
1095
- "Ref": "SomeCachePolicy40B9E4D4"
1096
- },
1097
- "Compress": true,
1098
- "FunctionAssociations": [
1099
- {
1100
- "EventType": "viewer-response",
1101
- "FunctionARN": {
1102
- "Fn::GetAtt": [
1103
- "cfapilambdaoverrideCloudFrontToApiGatewaySetHttpSecurityHeaders67E61E6E",
1104
- "FunctionARN"
1105
- ]
1106
- }
1107
- }
1108
- ],
1109
- "TargetOriginId": "cftaplamoverridebehaviorcfapilambdaoverrideCloudFrontToApiGatewayCloudFrontDistributionOrigin14C42522D",
1110
- "ViewerProtocolPolicy": "redirect-to-https"
1111
- },
1112
- "Enabled": true,
1113
- "HttpVersion": "http2",
1114
- "IPV6Enabled": true,
1115
- "Logging": {
1116
- "Bucket": {
1117
- "Fn::GetAtt": [
1118
- "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0",
1119
- "RegionalDomainName"
1120
- ]
1121
- }
1122
- },
1123
- "Origins": [
1124
- {
1125
- "CustomOriginConfig": {
1126
- "OriginProtocolPolicy": "https-only",
1127
- "OriginSSLProtocols": [
1128
- "TLSv1.2"
1129
- ]
1130
- },
1131
- "DomainName": {
1132
- "Fn::Select": [
1133
- 0,
1134
- {
1135
- "Fn::Split": [
1136
- "/",
1137
- {
1138
- "Fn::Select": [
1139
- 1,
1140
- {
1141
- "Fn::Split": [
1142
- "://",
1143
- {
1144
- "Fn::Join": [
1145
- "",
1146
- [
1147
- "https://",
1148
- {
1149
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
1150
- },
1151
- ".execute-api.",
1152
- {
1153
- "Ref": "AWS::Region"
1154
- },
1155
- ".",
1156
- {
1157
- "Ref": "AWS::URLSuffix"
1158
- },
1159
- "/",
1160
- {
1161
- "Ref": "cfapilambdaoverrideLambdaRestApiDeploymentStageprodC4F6FBB5"
1162
- },
1163
- "/"
1164
- ]
1165
- ]
1166
- }
1167
- ]
1168
- }
1169
- ]
1170
- }
1171
- ]
1172
- }
1173
- ]
1174
- },
1175
- "Id": "cftaplamoverridebehaviorcfapilambdaoverrideCloudFrontToApiGatewayCloudFrontDistributionOrigin14C42522D",
1176
- "OriginPath": {
1177
- "Fn::Join": [
1178
- "",
1179
- [
1180
- "/",
1181
- {
1182
- "Ref": "cfapilambdaoverrideLambdaRestApiDeploymentStageprodC4F6FBB5"
1183
- }
1184
- ]
1185
- ]
1186
- }
1187
- },
1188
- {
1189
- "CustomOriginConfig": {
1190
- "OriginProtocolPolicy": "https-only",
1191
- "OriginSSLProtocols": [
1192
- "TLSv1.2"
1193
- ]
1194
- },
1195
- "DomainName": {
1196
- "Fn::Select": [
1197
- 0,
1198
- {
1199
- "Fn::Split": [
1200
- "/",
1201
- {
1202
- "Fn::Select": [
1203
- 1,
1204
- {
1205
- "Fn::Split": [
1206
- "://",
1207
- {
1208
- "Fn::Join": [
1209
- "",
1210
- [
1211
- "https://",
1212
- {
1213
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
1214
- },
1215
- ".execute-api.",
1216
- {
1217
- "Ref": "AWS::Region"
1218
- },
1219
- ".",
1220
- {
1221
- "Ref": "AWS::URLSuffix"
1222
- },
1223
- "/",
1224
- {
1225
- "Ref": "cfapilambdaoverrideLambdaRestApiDeploymentStageprodC4F6FBB5"
1226
- },
1227
- "/"
1228
- ]
1229
- ]
1230
- }
1231
- ]
1232
- }
1233
- ]
1234
- }
1235
- ]
1236
- }
1237
- ]
1238
- },
1239
- "Id": "cftaplamoverridebehaviorcfapilambdaoverrideCloudFrontToApiGatewayCloudFrontDistributionOrigin2D0C9421C",
1240
- "OriginPath": {
1241
- "Fn::Join": [
1242
- "",
1243
- [
1244
- "/",
1245
- {
1246
- "Ref": "cfapilambdaoverrideLambdaRestApiDeploymentStageprodC4F6FBB5"
1247
- },
1248
- "/dynamic"
1249
- ]
1250
- ]
1251
- }
1252
- }
1253
- ]
1254
- }
1255
- },
1256
- "Metadata": {
1257
- "cfn_nag": {
1258
- "rules_to_suppress": [
1259
- {
1260
- "id": "W70",
1261
- "reason": "Since the distribution uses the CloudFront domain name, CloudFront automatically sets the security policy to TLSv1 regardless of the value of MinimumProtocolVersion"
1262
- }
1263
- ]
1264
- }
1265
- }
1266
- },
1267
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
1268
- "Type": "AWS::IAM::Role",
1269
- "Properties": {
1270
- "AssumeRolePolicyDocument": {
1271
- "Version": "2012-10-17",
1272
- "Statement": [
1273
- {
1274
- "Action": "sts:AssumeRole",
1275
- "Effect": "Allow",
1276
- "Principal": {
1277
- "Service": "lambda.amazonaws.com"
1278
- }
1279
- }
1280
- ]
1281
- },
1282
- "ManagedPolicyArns": [
1283
- {
1284
- "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
1285
- }
1286
- ]
1287
- }
1288
- },
1289
- "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
1290
- "Type": "AWS::Lambda::Function",
1291
- "Properties": {
1292
- "Code": {
1293
- "S3Bucket": {
1294
- "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
1295
- },
1296
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
1297
- },
1298
- "Timeout": 900,
1299
- "MemorySize": 128,
1300
- "Handler": "index.handler",
1301
- "Role": {
1302
- "Fn::GetAtt": [
1303
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
1304
- "Arn"
1305
- ]
1306
- },
1307
- "Runtime": "nodejs18.x",
1308
- "Description": {
1309
- "Fn::Join": [
1310
- "",
1311
- [
1312
- "Lambda function for auto-deleting objects in ",
1313
- {
1314
- "Ref": "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog9CEB5CD9"
1315
- },
1316
- " S3 bucket."
1317
- ]
1318
- ]
1319
- }
1320
- },
1321
- "DependsOn": [
1322
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092"
1323
- ],
1324
- "Metadata": {
1325
- "cfn_nag": {
1326
- "rules_to_suppress": [
1327
- {
1328
- "id": "W58",
1329
- "reason": "CDK generated custom resource"
1330
- },
1331
- {
1332
- "id": "W89",
1333
- "reason": "CDK generated custom resource"
1334
- },
1335
- {
1336
- "id": "W92",
1337
- "reason": "CDK generated custom resource"
1338
- }
1339
- ]
1340
- }
1341
- }
1342
- }
1343
- },
1344
- "Outputs": {
1345
- "cfapilambdaoverrideLambdaRestApiEndpointF8A561AB": {
1346
- "Value": {
1347
- "Fn::Join": [
1348
- "",
1349
- [
1350
- "https://",
1351
- {
1352
- "Ref": "cfapilambdaoverrideLambdaRestApi6E7952FC"
1353
- },
1354
- ".execute-api.",
1355
- {
1356
- "Ref": "AWS::Region"
1357
- },
1358
- ".",
1359
- {
1360
- "Ref": "AWS::URLSuffix"
1361
- },
1362
- "/",
1363
- {
1364
- "Ref": "cfapilambdaoverrideLambdaRestApiDeploymentStageprodC4F6FBB5"
1365
- },
1366
- "/"
1367
- ]
1368
- ]
1369
- }
1370
- }
1371
- },
1372
- "Parameters": {
1373
- "BootstrapVersion": {
1374
- "Type": "AWS::SSM::Parameter::Value<String>",
1375
- "Default": "/cdk-bootstrap/hnb659fds/version",
1376
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
1377
- }
1378
- },
1379
- "Rules": {
1380
- "CheckBootstrapVersion": {
1381
- "Assertions": [
1382
- {
1383
- "Assert": {
1384
- "Fn::Not": [
1385
- {
1386
- "Fn::Contains": [
1387
- [
1388
- "1",
1389
- "2",
1390
- "3",
1391
- "4",
1392
- "5"
1393
- ],
1394
- {
1395
- "Ref": "BootstrapVersion"
1396
- }
1397
- ]
1398
- }
1399
- ]
1400
- },
1401
- "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
1402
- }
1403
- ]
1404
- }
1405
- }
1406
- }