@aws-solutions-constructs/aws-cloudfront-s3 2.63.0 → 2.65.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 (37) hide show
  1. package/.jsii +7 -7
  2. package/lib/index.js +4 -3
  3. package/package.json +8 -8
  4. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b/cfn-response.js +1 -0
  5. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b/framework.js +3 -0
  6. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.assets.json +5 -5
  7. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.template.json +8 -1
  8. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/manifest.json +1 -1
  9. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/tree.json +70 -70
  10. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b/cfn-response.js +1 -0
  11. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b/framework.js +3 -0
  12. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/cfts3-cmk-provided-as-bucket-prop.assets.json +5 -5
  13. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/cfts3-cmk-provided-as-bucket-prop.template.json +8 -1
  14. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/manifest.json +1 -1
  15. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/tree.json +68 -68
  16. package/test/integ.cfts3-no-cloudfront-s3-access-logs.d.ts +13 -0
  17. package/test/integ.cfts3-no-cloudfront-s3-access-logs.js +60 -0
  18. package/test/integ.cfts3-no-cloudfront-s3-access-logs.js.snapshot/asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6/index.js +1 -0
  19. package/test/integ.cfts3-no-cloudfront-s3-access-logs.js.snapshot/cdk.out +1 -0
  20. package/test/integ.cfts3-no-cloudfront-s3-access-logs.js.snapshot/cfts3-no-cloudfront-s3-access-logs.assets.json +32 -0
  21. package/test/integ.cfts3-no-cloudfront-s3-access-logs.js.snapshot/cfts3-no-cloudfront-s3-access-logs.template.json +733 -0
  22. package/test/integ.cfts3-no-cloudfront-s3-access-logs.js.snapshot/cfts3nocloudfronts3accesslogsIntegDefaultTestDeployAssertAD28C87A.assets.json +19 -0
  23. package/test/integ.cfts3-no-cloudfront-s3-access-logs.js.snapshot/cfts3nocloudfronts3accesslogsIntegDefaultTestDeployAssertAD28C87A.template.json +36 -0
  24. package/test/integ.cfts3-no-cloudfront-s3-access-logs.js.snapshot/integ.json +12 -0
  25. package/test/integ.cfts3-no-cloudfront-s3-access-logs.js.snapshot/manifest.json +179 -0
  26. package/test/integ.cfts3-no-cloudfront-s3-access-logs.js.snapshot/tree.json +698 -0
  27. package/test/test.cloudfront-s3.test.js +12 -1
  28. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/asset.3542be390685e0c8353d92ccb5796d343cd93ca946b6b0de798004206a199adc/cfn-response.js +0 -1
  29. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/asset.3542be390685e0c8353d92ccb5796d343cd93ca946b6b0de798004206a199adc/framework.js +0 -3
  30. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/asset.3542be390685e0c8353d92ccb5796d343cd93ca946b6b0de798004206a199adc/cfn-response.js +0 -1
  31. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/asset.3542be390685e0c8353d92ccb5796d343cd93ca946b6b0de798004206a199adc/framework.js +0 -3
  32. /package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/{asset.3542be390685e0c8353d92ccb5796d343cd93ca946b6b0de798004206a199adc → asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b}/consts.js +0 -0
  33. /package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/{asset.3542be390685e0c8353d92ccb5796d343cd93ca946b6b0de798004206a199adc → asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b}/outbound.js +0 -0
  34. /package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/{asset.3542be390685e0c8353d92ccb5796d343cd93ca946b6b0de798004206a199adc → asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b}/util.js +0 -0
  35. /package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/{asset.3542be390685e0c8353d92ccb5796d343cd93ca946b6b0de798004206a199adc → asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b}/consts.js +0 -0
  36. /package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/{asset.3542be390685e0c8353d92ccb5796d343cd93ca946b6b0de798004206a199adc → asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b}/outbound.js +0 -0
  37. /package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/{asset.3542be390685e0c8353d92ccb5796d343cd93ca946b6b0de798004206a199adc → asset.d9861ea7a45affd23e47a614acb2fddc6e45c20a891284c958187dafbf9ee36b}/util.js +0 -0
@@ -0,0 +1,733 @@
1
+ {
2
+ "Description": "Integration Test for aws-cloudfront-s3",
3
+ "Resources": {
4
+ "testcloudfronts3S3BucketE0C5F76E": {
5
+ "Type": "AWS::S3::Bucket",
6
+ "Properties": {
7
+ "BucketEncryption": {
8
+ "ServerSideEncryptionConfiguration": [
9
+ {
10
+ "ServerSideEncryptionByDefault": {
11
+ "SSEAlgorithm": "AES256"
12
+ }
13
+ }
14
+ ]
15
+ },
16
+ "LifecycleConfiguration": {
17
+ "Rules": [
18
+ {
19
+ "NoncurrentVersionTransitions": [
20
+ {
21
+ "StorageClass": "GLACIER",
22
+ "TransitionInDays": 90
23
+ }
24
+ ],
25
+ "Status": "Enabled"
26
+ }
27
+ ]
28
+ },
29
+ "PublicAccessBlockConfiguration": {
30
+ "BlockPublicAcls": true,
31
+ "BlockPublicPolicy": true,
32
+ "IgnorePublicAcls": true,
33
+ "RestrictPublicBuckets": true
34
+ },
35
+ "Tags": [
36
+ {
37
+ "Key": "aws-cdk:auto-delete-objects",
38
+ "Value": "true"
39
+ }
40
+ ],
41
+ "VersioningConfiguration": {
42
+ "Status": "Enabled"
43
+ }
44
+ },
45
+ "UpdateReplacePolicy": "Delete",
46
+ "DeletionPolicy": "Delete",
47
+ "Metadata": {
48
+ "cfn_nag": {
49
+ "rules_to_suppress": [
50
+ {
51
+ "id": "W35",
52
+ "reason": "Test case only"
53
+ }
54
+ ]
55
+ }
56
+ }
57
+ },
58
+ "testcloudfronts3S3BucketPolicy250F1F61": {
59
+ "Type": "AWS::S3::BucketPolicy",
60
+ "Properties": {
61
+ "Bucket": {
62
+ "Ref": "testcloudfronts3S3BucketE0C5F76E"
63
+ },
64
+ "PolicyDocument": {
65
+ "Statement": [
66
+ {
67
+ "Action": "s3:*",
68
+ "Condition": {
69
+ "Bool": {
70
+ "aws:SecureTransport": "false"
71
+ }
72
+ },
73
+ "Effect": "Deny",
74
+ "Principal": {
75
+ "AWS": "*"
76
+ },
77
+ "Resource": [
78
+ {
79
+ "Fn::GetAtt": [
80
+ "testcloudfronts3S3BucketE0C5F76E",
81
+ "Arn"
82
+ ]
83
+ },
84
+ {
85
+ "Fn::Join": [
86
+ "",
87
+ [
88
+ {
89
+ "Fn::GetAtt": [
90
+ "testcloudfronts3S3BucketE0C5F76E",
91
+ "Arn"
92
+ ]
93
+ },
94
+ "/*"
95
+ ]
96
+ ]
97
+ }
98
+ ]
99
+ },
100
+ {
101
+ "Action": [
102
+ "s3:DeleteObject*",
103
+ "s3:GetBucket*",
104
+ "s3:List*",
105
+ "s3:PutBucketPolicy"
106
+ ],
107
+ "Effect": "Allow",
108
+ "Principal": {
109
+ "AWS": {
110
+ "Fn::GetAtt": [
111
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
112
+ "Arn"
113
+ ]
114
+ }
115
+ },
116
+ "Resource": [
117
+ {
118
+ "Fn::GetAtt": [
119
+ "testcloudfronts3S3BucketE0C5F76E",
120
+ "Arn"
121
+ ]
122
+ },
123
+ {
124
+ "Fn::Join": [
125
+ "",
126
+ [
127
+ {
128
+ "Fn::GetAtt": [
129
+ "testcloudfronts3S3BucketE0C5F76E",
130
+ "Arn"
131
+ ]
132
+ },
133
+ "/*"
134
+ ]
135
+ ]
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "Action": "s3:GetObject",
141
+ "Condition": {
142
+ "StringEquals": {
143
+ "AWS:SourceArn": {
144
+ "Fn::Join": [
145
+ "",
146
+ [
147
+ "arn:aws:cloudfront::",
148
+ {
149
+ "Ref": "AWS::AccountId"
150
+ },
151
+ ":distribution/",
152
+ {
153
+ "Ref": "testcloudfronts3CloudFrontDistribution0565DEE8"
154
+ }
155
+ ]
156
+ ]
157
+ }
158
+ }
159
+ },
160
+ "Effect": "Allow",
161
+ "Principal": {
162
+ "Service": "cloudfront.amazonaws.com"
163
+ },
164
+ "Resource": {
165
+ "Fn::Join": [
166
+ "",
167
+ [
168
+ {
169
+ "Fn::GetAtt": [
170
+ "testcloudfronts3S3BucketE0C5F76E",
171
+ "Arn"
172
+ ]
173
+ },
174
+ "/*"
175
+ ]
176
+ ]
177
+ }
178
+ }
179
+ ],
180
+ "Version": "2012-10-17"
181
+ }
182
+ },
183
+ "Metadata": {
184
+ "cfn_nag": {
185
+ "rules_to_suppress": [
186
+ {
187
+ "id": "F16",
188
+ "reason": "Public website bucket policy requires a wildcard principal"
189
+ }
190
+ ]
191
+ }
192
+ }
193
+ },
194
+ "testcloudfronts3S3BucketAutoDeleteObjectsCustomResourceA13DD8F7": {
195
+ "Type": "Custom::S3AutoDeleteObjects",
196
+ "Properties": {
197
+ "ServiceToken": {
198
+ "Fn::GetAtt": [
199
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
200
+ "Arn"
201
+ ]
202
+ },
203
+ "BucketName": {
204
+ "Ref": "testcloudfronts3S3BucketE0C5F76E"
205
+ }
206
+ },
207
+ "DependsOn": [
208
+ "testcloudfronts3S3BucketPolicy250F1F61"
209
+ ],
210
+ "UpdateReplacePolicy": "Delete",
211
+ "DeletionPolicy": "Delete"
212
+ },
213
+ "testcloudfronts3SetHttpSecurityHeaders6C5A1E69": {
214
+ "Type": "AWS::CloudFront::Function",
215
+ "Properties": {
216
+ "AutoPublish": true,
217
+ "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; }",
218
+ "FunctionConfig": {
219
+ "Comment": "SetHttpSecurityHeadersc896d796f10191989f85dc3c04e0c09684d72fb250",
220
+ "Runtime": "cloudfront-js-1.0"
221
+ },
222
+ "Name": "SetHttpSecurityHeadersc896d796f10191989f85dc3c04e0c09684d72fb250"
223
+ }
224
+ },
225
+ "testcloudfronts3CloudfrontLoggingBucket985C0FE8": {
226
+ "Type": "AWS::S3::Bucket",
227
+ "Properties": {
228
+ "AccessControl": "LogDeliveryWrite",
229
+ "BucketEncryption": {
230
+ "ServerSideEncryptionConfiguration": [
231
+ {
232
+ "ServerSideEncryptionByDefault": {
233
+ "SSEAlgorithm": "AES256"
234
+ }
235
+ }
236
+ ]
237
+ },
238
+ "OwnershipControls": {
239
+ "Rules": [
240
+ {
241
+ "ObjectOwnership": "ObjectWriter"
242
+ }
243
+ ]
244
+ },
245
+ "PublicAccessBlockConfiguration": {
246
+ "BlockPublicAcls": true,
247
+ "BlockPublicPolicy": true,
248
+ "IgnorePublicAcls": true,
249
+ "RestrictPublicBuckets": true
250
+ },
251
+ "Tags": [
252
+ {
253
+ "Key": "aws-cdk:auto-delete-objects",
254
+ "Value": "true"
255
+ }
256
+ ],
257
+ "VersioningConfiguration": {
258
+ "Status": "Enabled"
259
+ }
260
+ },
261
+ "UpdateReplacePolicy": "Delete",
262
+ "DeletionPolicy": "Delete",
263
+ "Metadata": {
264
+ "cfn_nag": {
265
+ "rules_to_suppress": [
266
+ {
267
+ "id": "W35",
268
+ "reason": "Test case only"
269
+ }
270
+ ]
271
+ },
272
+ "guard": {
273
+ "SuppressedRules": [
274
+ "S3_BUCKET_LOGGING_ENABLED"
275
+ ]
276
+ }
277
+ }
278
+ },
279
+ "testcloudfronts3CloudfrontLoggingBucketPolicyDF55851B": {
280
+ "Type": "AWS::S3::BucketPolicy",
281
+ "Properties": {
282
+ "Bucket": {
283
+ "Ref": "testcloudfronts3CloudfrontLoggingBucket985C0FE8"
284
+ },
285
+ "PolicyDocument": {
286
+ "Statement": [
287
+ {
288
+ "Action": "s3:*",
289
+ "Condition": {
290
+ "Bool": {
291
+ "aws:SecureTransport": "false"
292
+ }
293
+ },
294
+ "Effect": "Deny",
295
+ "Principal": {
296
+ "AWS": "*"
297
+ },
298
+ "Resource": [
299
+ {
300
+ "Fn::GetAtt": [
301
+ "testcloudfronts3CloudfrontLoggingBucket985C0FE8",
302
+ "Arn"
303
+ ]
304
+ },
305
+ {
306
+ "Fn::Join": [
307
+ "",
308
+ [
309
+ {
310
+ "Fn::GetAtt": [
311
+ "testcloudfronts3CloudfrontLoggingBucket985C0FE8",
312
+ "Arn"
313
+ ]
314
+ },
315
+ "/*"
316
+ ]
317
+ ]
318
+ }
319
+ ]
320
+ },
321
+ {
322
+ "Action": [
323
+ "s3:DeleteObject*",
324
+ "s3:GetBucket*",
325
+ "s3:List*",
326
+ "s3:PutBucketPolicy"
327
+ ],
328
+ "Effect": "Allow",
329
+ "Principal": {
330
+ "AWS": {
331
+ "Fn::GetAtt": [
332
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
333
+ "Arn"
334
+ ]
335
+ }
336
+ },
337
+ "Resource": [
338
+ {
339
+ "Fn::GetAtt": [
340
+ "testcloudfronts3CloudfrontLoggingBucket985C0FE8",
341
+ "Arn"
342
+ ]
343
+ },
344
+ {
345
+ "Fn::Join": [
346
+ "",
347
+ [
348
+ {
349
+ "Fn::GetAtt": [
350
+ "testcloudfronts3CloudfrontLoggingBucket985C0FE8",
351
+ "Arn"
352
+ ]
353
+ },
354
+ "/*"
355
+ ]
356
+ ]
357
+ }
358
+ ]
359
+ }
360
+ ],
361
+ "Version": "2012-10-17"
362
+ }
363
+ }
364
+ },
365
+ "testcloudfronts3CloudfrontLoggingBucketAutoDeleteObjectsCustomResource19604D88": {
366
+ "Type": "Custom::S3AutoDeleteObjects",
367
+ "Properties": {
368
+ "ServiceToken": {
369
+ "Fn::GetAtt": [
370
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
371
+ "Arn"
372
+ ]
373
+ },
374
+ "BucketName": {
375
+ "Ref": "testcloudfronts3CloudfrontLoggingBucket985C0FE8"
376
+ }
377
+ },
378
+ "DependsOn": [
379
+ "testcloudfronts3CloudfrontLoggingBucketPolicyDF55851B"
380
+ ],
381
+ "UpdateReplacePolicy": "Delete",
382
+ "DeletionPolicy": "Delete"
383
+ },
384
+ "testcloudfronts3CloudFrontOac7A951AA6": {
385
+ "Type": "AWS::CloudFront::OriginAccessControl",
386
+ "Properties": {
387
+ "OriginAccessControlConfig": {
388
+ "Description": "Origin access control provisioned by aws-cloudfront-s3",
389
+ "Name": {
390
+ "Fn::Join": [
391
+ "",
392
+ [
393
+ "aws-cloudfront-s3-testnt-s3-",
394
+ {
395
+ "Fn::Select": [
396
+ 2,
397
+ {
398
+ "Fn::Split": [
399
+ "/",
400
+ {
401
+ "Ref": "AWS::StackId"
402
+ }
403
+ ]
404
+ }
405
+ ]
406
+ }
407
+ ]
408
+ ]
409
+ },
410
+ "OriginAccessControlOriginType": "s3",
411
+ "SigningBehavior": "always",
412
+ "SigningProtocol": "sigv4"
413
+ }
414
+ }
415
+ },
416
+ "testcloudfronts3CloudFrontDistribution0565DEE8": {
417
+ "Type": "AWS::CloudFront::Distribution",
418
+ "Properties": {
419
+ "DistributionConfig": {
420
+ "DefaultCacheBehavior": {
421
+ "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6",
422
+ "Compress": true,
423
+ "FunctionAssociations": [
424
+ {
425
+ "EventType": "viewer-response",
426
+ "FunctionARN": {
427
+ "Fn::GetAtt": [
428
+ "testcloudfronts3SetHttpSecurityHeaders6C5A1E69",
429
+ "FunctionARN"
430
+ ]
431
+ }
432
+ }
433
+ ],
434
+ "TargetOriginId": "cfts3nocloudfronts3accesslogstestcloudfronts3CloudFrontDistributionOrigin1D23B555C",
435
+ "ViewerProtocolPolicy": "redirect-to-https"
436
+ },
437
+ "DefaultRootObject": "index.html",
438
+ "Enabled": true,
439
+ "HttpVersion": "http2",
440
+ "IPV6Enabled": true,
441
+ "Logging": {
442
+ "Bucket": {
443
+ "Fn::GetAtt": [
444
+ "testcloudfronts3CloudfrontLoggingBucket985C0FE8",
445
+ "RegionalDomainName"
446
+ ]
447
+ }
448
+ },
449
+ "Origins": [
450
+ {
451
+ "DomainName": {
452
+ "Fn::GetAtt": [
453
+ "testcloudfronts3S3BucketE0C5F76E",
454
+ "RegionalDomainName"
455
+ ]
456
+ },
457
+ "Id": "cfts3nocloudfronts3accesslogstestcloudfronts3CloudFrontDistributionOrigin1D23B555C",
458
+ "OriginAccessControlId": {
459
+ "Fn::GetAtt": [
460
+ "testcloudfronts3CloudFrontOac7A951AA6",
461
+ "Id"
462
+ ]
463
+ },
464
+ "S3OriginConfig": {
465
+ "OriginAccessIdentity": ""
466
+ }
467
+ }
468
+ ]
469
+ }
470
+ },
471
+ "Metadata": {
472
+ "cfn_nag": {
473
+ "rules_to_suppress": [
474
+ {
475
+ "id": "W70",
476
+ "reason": "Since the distribution uses the CloudFront domain name, CloudFront automatically sets the security policy to TLSv1 regardless of the value of MinimumProtocolVersion"
477
+ },
478
+ {
479
+ "id": "W10",
480
+ "reason": "Test case only"
481
+ },
482
+ {
483
+ "id": "W35",
484
+ "reason": "Test case only"
485
+ }
486
+ ]
487
+ }
488
+ }
489
+ },
490
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
491
+ "Type": "AWS::IAM::Role",
492
+ "Properties": {
493
+ "AssumeRolePolicyDocument": {
494
+ "Version": "2012-10-17",
495
+ "Statement": [
496
+ {
497
+ "Action": "sts:AssumeRole",
498
+ "Effect": "Allow",
499
+ "Principal": {
500
+ "Service": "lambda.amazonaws.com"
501
+ }
502
+ }
503
+ ]
504
+ },
505
+ "ManagedPolicyArns": [
506
+ {
507
+ "Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
508
+ }
509
+ ]
510
+ }
511
+ },
512
+ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
513
+ "Type": "AWS::Lambda::Function",
514
+ "Properties": {
515
+ "Code": {
516
+ "S3Bucket": {
517
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
518
+ },
519
+ "S3Key": "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6.zip"
520
+ },
521
+ "Timeout": 900,
522
+ "MemorySize": 128,
523
+ "Handler": "index.handler",
524
+ "Role": {
525
+ "Fn::GetAtt": [
526
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
527
+ "Arn"
528
+ ]
529
+ },
530
+ "Runtime": {
531
+ "Fn::FindInMap": [
532
+ "LatestNodeRuntimeMap",
533
+ {
534
+ "Ref": "AWS::Region"
535
+ },
536
+ "value"
537
+ ]
538
+ },
539
+ "Description": {
540
+ "Fn::Join": [
541
+ "",
542
+ [
543
+ "Lambda function for auto-deleting objects in ",
544
+ {
545
+ "Ref": "testcloudfronts3S3BucketE0C5F76E"
546
+ },
547
+ " S3 bucket."
548
+ ]
549
+ ]
550
+ }
551
+ },
552
+ "DependsOn": [
553
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092"
554
+ ],
555
+ "Metadata": {
556
+ "cfn_nag": {
557
+ "rules_to_suppress": [
558
+ {
559
+ "id": "W58",
560
+ "reason": "CDK generated custom resource"
561
+ },
562
+ {
563
+ "id": "W89",
564
+ "reason": "CDK generated custom resource"
565
+ },
566
+ {
567
+ "id": "W92",
568
+ "reason": "CDK generated custom resource"
569
+ }
570
+ ]
571
+ }
572
+ }
573
+ }
574
+ },
575
+ "Mappings": {
576
+ "LatestNodeRuntimeMap": {
577
+ "af-south-1": {
578
+ "value": "nodejs20.x"
579
+ },
580
+ "ap-east-1": {
581
+ "value": "nodejs20.x"
582
+ },
583
+ "ap-northeast-1": {
584
+ "value": "nodejs20.x"
585
+ },
586
+ "ap-northeast-2": {
587
+ "value": "nodejs20.x"
588
+ },
589
+ "ap-northeast-3": {
590
+ "value": "nodejs20.x"
591
+ },
592
+ "ap-south-1": {
593
+ "value": "nodejs20.x"
594
+ },
595
+ "ap-south-2": {
596
+ "value": "nodejs20.x"
597
+ },
598
+ "ap-southeast-1": {
599
+ "value": "nodejs20.x"
600
+ },
601
+ "ap-southeast-2": {
602
+ "value": "nodejs20.x"
603
+ },
604
+ "ap-southeast-3": {
605
+ "value": "nodejs20.x"
606
+ },
607
+ "ap-southeast-4": {
608
+ "value": "nodejs20.x"
609
+ },
610
+ "ap-southeast-5": {
611
+ "value": "nodejs20.x"
612
+ },
613
+ "ap-southeast-7": {
614
+ "value": "nodejs20.x"
615
+ },
616
+ "ca-central-1": {
617
+ "value": "nodejs20.x"
618
+ },
619
+ "ca-west-1": {
620
+ "value": "nodejs20.x"
621
+ },
622
+ "cn-north-1": {
623
+ "value": "nodejs18.x"
624
+ },
625
+ "cn-northwest-1": {
626
+ "value": "nodejs18.x"
627
+ },
628
+ "eu-central-1": {
629
+ "value": "nodejs20.x"
630
+ },
631
+ "eu-central-2": {
632
+ "value": "nodejs20.x"
633
+ },
634
+ "eu-isoe-west-1": {
635
+ "value": "nodejs18.x"
636
+ },
637
+ "eu-north-1": {
638
+ "value": "nodejs20.x"
639
+ },
640
+ "eu-south-1": {
641
+ "value": "nodejs20.x"
642
+ },
643
+ "eu-south-2": {
644
+ "value": "nodejs20.x"
645
+ },
646
+ "eu-west-1": {
647
+ "value": "nodejs20.x"
648
+ },
649
+ "eu-west-2": {
650
+ "value": "nodejs20.x"
651
+ },
652
+ "eu-west-3": {
653
+ "value": "nodejs20.x"
654
+ },
655
+ "il-central-1": {
656
+ "value": "nodejs20.x"
657
+ },
658
+ "me-central-1": {
659
+ "value": "nodejs20.x"
660
+ },
661
+ "me-south-1": {
662
+ "value": "nodejs20.x"
663
+ },
664
+ "mx-central-1": {
665
+ "value": "nodejs20.x"
666
+ },
667
+ "sa-east-1": {
668
+ "value": "nodejs20.x"
669
+ },
670
+ "us-east-1": {
671
+ "value": "nodejs20.x"
672
+ },
673
+ "us-east-2": {
674
+ "value": "nodejs20.x"
675
+ },
676
+ "us-gov-east-1": {
677
+ "value": "nodejs18.x"
678
+ },
679
+ "us-gov-west-1": {
680
+ "value": "nodejs18.x"
681
+ },
682
+ "us-iso-east-1": {
683
+ "value": "nodejs18.x"
684
+ },
685
+ "us-iso-west-1": {
686
+ "value": "nodejs18.x"
687
+ },
688
+ "us-isob-east-1": {
689
+ "value": "nodejs18.x"
690
+ },
691
+ "us-west-1": {
692
+ "value": "nodejs20.x"
693
+ },
694
+ "us-west-2": {
695
+ "value": "nodejs20.x"
696
+ }
697
+ }
698
+ },
699
+ "Parameters": {
700
+ "BootstrapVersion": {
701
+ "Type": "AWS::SSM::Parameter::Value<String>",
702
+ "Default": "/cdk-bootstrap/hnb659fds/version",
703
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
704
+ }
705
+ },
706
+ "Rules": {
707
+ "CheckBootstrapVersion": {
708
+ "Assertions": [
709
+ {
710
+ "Assert": {
711
+ "Fn::Not": [
712
+ {
713
+ "Fn::Contains": [
714
+ [
715
+ "1",
716
+ "2",
717
+ "3",
718
+ "4",
719
+ "5"
720
+ ],
721
+ {
722
+ "Ref": "BootstrapVersion"
723
+ }
724
+ ]
725
+ }
726
+ ]
727
+ },
728
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
729
+ }
730
+ ]
731
+ }
732
+ }
733
+ }