@aws-solutions-constructs/aws-cloudfront-oai-s3 2.84.0 → 2.85.1

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 (66) hide show
  1. package/.jsii +6 -6
  2. package/lib/index.js +1 -1
  3. package/package.json +8 -8
  4. package/test/integ.cftoais3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/cdk.out +1 -1
  5. package/test/integ.cftoais3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/cftoais3-bucket-encrypted-with-managed-key-provided-as-existingbucket.assets.json +5 -3
  6. package/test/integ.cftoais3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/cftoais3-bucket-encrypted-with-managed-key-provided-as-existingbucket.template.json +3 -0
  7. package/test/integ.cftoais3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/cftoais3bucketencryptedwithmanagedkeyprovidedasexistingbucketIntegDefaultTestDeployAssert105E804F.assets.json +2 -1
  8. package/test/integ.cftoais3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/integ.json +3 -2
  9. package/test/integ.cftoais3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/manifest.json +4 -3
  10. package/test/integ.cftoais3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/tree.json +1 -1214
  11. package/test/integ.cftoais3-custom-headers.js.snapshot/cdk.out +1 -1
  12. package/test/integ.cftoais3-custom-headers.js.snapshot/cftoais3-custom-headers.assets.json +5 -3
  13. package/test/integ.cftoais3-custom-headers.js.snapshot/cftoais3-custom-headers.template.json +3 -0
  14. package/test/integ.cftoais3-custom-headers.js.snapshot/cftoais3customheadersIntegDefaultTestDeployAssert5AA11BA9.assets.json +2 -1
  15. package/test/integ.cftoais3-custom-headers.js.snapshot/integ.json +3 -2
  16. package/test/integ.cftoais3-custom-headers.js.snapshot/manifest.json +4 -3
  17. package/test/integ.cftoais3-custom-headers.js.snapshot/tree.json +1 -1322
  18. package/test/integ.cftoais3-custom-originPath.js.snapshot/cdk.out +1 -1
  19. package/test/integ.cftoais3-custom-originPath.js.snapshot/cftoais3-custom-originPath.assets.json +5 -3
  20. package/test/integ.cftoais3-custom-originPath.js.snapshot/cftoais3-custom-originPath.template.json +3 -0
  21. package/test/integ.cftoais3-custom-originPath.js.snapshot/cftoais3customoriginPathIntegDefaultTestDeployAssert1C351914.assets.json +2 -1
  22. package/test/integ.cftoais3-custom-originPath.js.snapshot/integ.json +3 -2
  23. package/test/integ.cftoais3-custom-originPath.js.snapshot/manifest.json +4 -3
  24. package/test/integ.cftoais3-custom-originPath.js.snapshot/tree.json +1 -1268
  25. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/cdk.out +1 -1
  26. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/cftoais3-customLoggingBuckets.assets.json +5 -3
  27. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/cftoais3-customLoggingBuckets.template.json +3 -0
  28. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/cftoais3customLoggingBucketsIntegDefaultTestDeployAssert8F33EF2A.assets.json +2 -1
  29. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/integ.json +3 -2
  30. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/manifest.json +4 -3
  31. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/tree.json +1 -1325
  32. package/test/integ.cftoais3-existing-bucket.js.snapshot/cdk.out +1 -1
  33. package/test/integ.cftoais3-existing-bucket.js.snapshot/cftoais3-existing-bucket.assets.json +5 -3
  34. package/test/integ.cftoais3-existing-bucket.js.snapshot/cftoais3-existing-bucket.template.json +3 -0
  35. package/test/integ.cftoais3-existing-bucket.js.snapshot/cftoais3existingbucketIntegDefaultTestDeployAssertB7627F26.assets.json +2 -1
  36. package/test/integ.cftoais3-existing-bucket.js.snapshot/integ.json +3 -2
  37. package/test/integ.cftoais3-existing-bucket.js.snapshot/manifest.json +4 -3
  38. package/test/integ.cftoais3-existing-bucket.js.snapshot/tree.json +1 -1357
  39. package/test/integ.cftoais3-no-arguments.js.snapshot/cdk.out +1 -1
  40. package/test/integ.cftoais3-no-arguments.js.snapshot/cftoais3-no-arguments.assets.json +5 -3
  41. package/test/integ.cftoais3-no-arguments.js.snapshot/cftoais3-no-arguments.template.json +3 -0
  42. package/test/integ.cftoais3-no-arguments.js.snapshot/cftoais3noargumentsIntegDefaultTestDeployAssert5CF03E3D.assets.json +2 -1
  43. package/test/integ.cftoais3-no-arguments.js.snapshot/integ.json +3 -2
  44. package/test/integ.cftoais3-no-arguments.js.snapshot/manifest.json +4 -3
  45. package/test/integ.cftoais3-no-arguments.js.snapshot/tree.json +1 -1267
  46. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/cdk.out +1 -1
  47. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/cftoais3-no-cloudfront-s3-access-logs.assets.json +5 -3
  48. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/cftoais3-no-cloudfront-s3-access-logs.template.json +3 -0
  49. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/cftoais3nocloudfronts3accesslogsIntegDefaultTestDeployAssert6D810275.assets.json +2 -1
  50. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/integ.json +3 -2
  51. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/manifest.json +4 -3
  52. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/tree.json +1 -809
  53. package/test/integ.cftoais3-no-logging.js.snapshot/cdk.out +1 -1
  54. package/test/integ.cftoais3-no-logging.js.snapshot/cftoais3-no-logging.assets.json +5 -3
  55. package/test/integ.cftoais3-no-logging.js.snapshot/cftoais3-no-logging.template.json +3 -0
  56. package/test/integ.cftoais3-no-logging.js.snapshot/cftoais3nologgingIntegDefaultTestDeployAssertCED06EE4.assets.json +2 -1
  57. package/test/integ.cftoais3-no-logging.js.snapshot/integ.json +3 -2
  58. package/test/integ.cftoais3-no-logging.js.snapshot/manifest.json +4 -3
  59. package/test/integ.cftoais3-no-logging.js.snapshot/tree.json +1 -606
  60. package/test/integ.cftoais3-no-security-headers.js.snapshot/cdk.out +1 -1
  61. package/test/integ.cftoais3-no-security-headers.js.snapshot/cftoais3-no-security-headers.assets.json +5 -3
  62. package/test/integ.cftoais3-no-security-headers.js.snapshot/cftoais3-no-security-headers.template.json +3 -0
  63. package/test/integ.cftoais3-no-security-headers.js.snapshot/cftoais3nosecurityheadersIntegDefaultTestDeployAssertAB4B2F28.assets.json +2 -1
  64. package/test/integ.cftoais3-no-security-headers.js.snapshot/integ.json +3 -2
  65. package/test/integ.cftoais3-no-security-headers.js.snapshot/manifest.json +4 -3
  66. package/test/integ.cftoais3-no-security-headers.js.snapshot/tree.json +1 -1214
@@ -1,1322 +1 @@
1
- {
2
- "version": "tree-0.1",
3
- "tree": {
4
- "id": "App",
5
- "path": "",
6
- "children": {
7
- "cftoais3-custom-headers": {
8
- "id": "cftoais3-custom-headers",
9
- "path": "cftoais3-custom-headers",
10
- "children": {
11
- "MyFunction": {
12
- "id": "MyFunction",
13
- "path": "cftoais3-custom-headers/MyFunction",
14
- "children": {
15
- "Resource": {
16
- "id": "Resource",
17
- "path": "cftoais3-custom-headers/MyFunction/Resource",
18
- "attributes": {
19
- "aws:cdk:cloudformation:type": "AWS::CloudFront::Function",
20
- "aws:cdk:cloudformation:props": {
21
- "autoPublish": true,
22
- "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'; base-uri 'self'; img-src 'self'; script-src 'self'; style-src 'self' https:; object-src 'none'; frame-ancestors 'none'; font-src 'self' https:; form-action 'self'; manifest-src 'self'; connect-src 'self'\" }; headers['x-content-type-options'] = { value: 'nosniff'}; headers['x-frame-options'] = {value: 'DENY'}; headers['x-xss-protection'] = {value: '1; mode=block'}; headers['referrer-policy'] = { value: 'same-origin' }; return response; }",
23
- "functionConfig": {
24
- "comment": {
25
- "Fn::Join": [
26
- "",
27
- [
28
- {
29
- "Ref": "AWS::Region"
30
- },
31
- "cftoais3customheadersMyFunction8E246289"
32
- ]
33
- ]
34
- },
35
- "runtime": "cloudfront-js-1.0"
36
- },
37
- "name": {
38
- "Fn::Join": [
39
- "",
40
- [
41
- {
42
- "Ref": "AWS::Region"
43
- },
44
- "cftoais3customheadersMyFunction8E246289"
45
- ]
46
- ]
47
- }
48
- }
49
- },
50
- "constructInfo": {
51
- "fqn": "aws-cdk-lib.aws_cloudfront.CfnFunction",
52
- "version": "2.179.0"
53
- }
54
- }
55
- },
56
- "constructInfo": {
57
- "fqn": "aws-cdk-lib.aws_cloudfront.Function",
58
- "version": "2.179.0",
59
- "metadata": [
60
- {
61
- "code": "*"
62
- }
63
- ]
64
- }
65
- },
66
- "test-cloudfront-oai-s3": {
67
- "id": "test-cloudfront-oai-s3",
68
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3",
69
- "children": {
70
- "S3LoggingBucket": {
71
- "id": "S3LoggingBucket",
72
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket",
73
- "children": {
74
- "Resource": {
75
- "id": "Resource",
76
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/Resource",
77
- "attributes": {
78
- "aws:cdk:cloudformation:type": "AWS::S3::Bucket",
79
- "aws:cdk:cloudformation:props": {
80
- "bucketEncryption": {
81
- "serverSideEncryptionConfiguration": [
82
- {
83
- "serverSideEncryptionByDefault": {
84
- "sseAlgorithm": "AES256"
85
- }
86
- }
87
- ]
88
- },
89
- "publicAccessBlockConfiguration": {
90
- "blockPublicAcls": true,
91
- "blockPublicPolicy": true,
92
- "ignorePublicAcls": true,
93
- "restrictPublicBuckets": true
94
- },
95
- "tags": [
96
- {
97
- "key": "aws-cdk:auto-delete-objects",
98
- "value": "true"
99
- }
100
- ],
101
- "versioningConfiguration": {
102
- "status": "Enabled"
103
- }
104
- }
105
- },
106
- "constructInfo": {
107
- "fqn": "aws-cdk-lib.aws_s3.CfnBucket",
108
- "version": "2.179.0"
109
- }
110
- },
111
- "Policy": {
112
- "id": "Policy",
113
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/Policy",
114
- "children": {
115
- "Resource": {
116
- "id": "Resource",
117
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/Policy/Resource",
118
- "attributes": {
119
- "aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy",
120
- "aws:cdk:cloudformation:props": {
121
- "bucket": {
122
- "Ref": "testcloudfrontoais3S3LoggingBucketC8A21DD9"
123
- },
124
- "policyDocument": {
125
- "Statement": [
126
- {
127
- "Action": "s3:*",
128
- "Condition": {
129
- "Bool": {
130
- "aws:SecureTransport": "false"
131
- }
132
- },
133
- "Effect": "Deny",
134
- "Principal": {
135
- "AWS": "*"
136
- },
137
- "Resource": [
138
- {
139
- "Fn::GetAtt": [
140
- "testcloudfrontoais3S3LoggingBucketC8A21DD9",
141
- "Arn"
142
- ]
143
- },
144
- {
145
- "Fn::Join": [
146
- "",
147
- [
148
- {
149
- "Fn::GetAtt": [
150
- "testcloudfrontoais3S3LoggingBucketC8A21DD9",
151
- "Arn"
152
- ]
153
- },
154
- "/*"
155
- ]
156
- ]
157
- }
158
- ]
159
- },
160
- {
161
- "Action": [
162
- "s3:DeleteObject*",
163
- "s3:GetBucket*",
164
- "s3:List*",
165
- "s3:PutBucketPolicy"
166
- ],
167
- "Effect": "Allow",
168
- "Principal": {
169
- "AWS": {
170
- "Fn::GetAtt": [
171
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
172
- "Arn"
173
- ]
174
- }
175
- },
176
- "Resource": [
177
- {
178
- "Fn::GetAtt": [
179
- "testcloudfrontoais3S3LoggingBucketC8A21DD9",
180
- "Arn"
181
- ]
182
- },
183
- {
184
- "Fn::Join": [
185
- "",
186
- [
187
- {
188
- "Fn::GetAtt": [
189
- "testcloudfrontoais3S3LoggingBucketC8A21DD9",
190
- "Arn"
191
- ]
192
- },
193
- "/*"
194
- ]
195
- ]
196
- }
197
- ]
198
- },
199
- {
200
- "Action": "s3:PutObject",
201
- "Condition": {
202
- "ArnLike": {
203
- "aws:SourceArn": {
204
- "Fn::GetAtt": [
205
- "testcloudfrontoais3S3Bucket578AB9F3",
206
- "Arn"
207
- ]
208
- }
209
- },
210
- "StringEquals": {
211
- "aws:SourceAccount": {
212
- "Ref": "AWS::AccountId"
213
- }
214
- }
215
- },
216
- "Effect": "Allow",
217
- "Principal": {
218
- "Service": "logging.s3.amazonaws.com"
219
- },
220
- "Resource": {
221
- "Fn::Join": [
222
- "",
223
- [
224
- {
225
- "Fn::GetAtt": [
226
- "testcloudfrontoais3S3LoggingBucketC8A21DD9",
227
- "Arn"
228
- ]
229
- },
230
- "/*"
231
- ]
232
- ]
233
- }
234
- }
235
- ],
236
- "Version": "2012-10-17"
237
- }
238
- }
239
- },
240
- "constructInfo": {
241
- "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
242
- "version": "2.179.0"
243
- }
244
- }
245
- },
246
- "constructInfo": {
247
- "fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
248
- "version": "2.179.0",
249
- "metadata": [
250
- {
251
- "bucket": "*"
252
- }
253
- ]
254
- }
255
- },
256
- "AutoDeleteObjectsCustomResource": {
257
- "id": "AutoDeleteObjectsCustomResource",
258
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/AutoDeleteObjectsCustomResource",
259
- "children": {
260
- "Default": {
261
- "id": "Default",
262
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/AutoDeleteObjectsCustomResource/Default",
263
- "constructInfo": {
264
- "fqn": "aws-cdk-lib.CfnResource",
265
- "version": "2.179.0"
266
- }
267
- }
268
- },
269
- "constructInfo": {
270
- "fqn": "aws-cdk-lib.CustomResource",
271
- "version": "2.179.0",
272
- "metadata": [
273
- "*"
274
- ]
275
- }
276
- }
277
- },
278
- "constructInfo": {
279
- "fqn": "aws-cdk-lib.aws_s3.Bucket",
280
- "version": "2.179.0",
281
- "metadata": [
282
- {
283
- "encryption": "S3_MANAGED",
284
- "versioned": true,
285
- "blockPublicAccess": "*",
286
- "removalPolicy": "destroy",
287
- "enforceSSL": true,
288
- "autoDeleteObjects": true
289
- }
290
- ]
291
- }
292
- },
293
- "S3Bucket": {
294
- "id": "S3Bucket",
295
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket",
296
- "children": {
297
- "Resource": {
298
- "id": "Resource",
299
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/Resource",
300
- "attributes": {
301
- "aws:cdk:cloudformation:type": "AWS::S3::Bucket",
302
- "aws:cdk:cloudformation:props": {
303
- "bucketEncryption": {
304
- "serverSideEncryptionConfiguration": [
305
- {
306
- "serverSideEncryptionByDefault": {
307
- "sseAlgorithm": "AES256"
308
- }
309
- }
310
- ]
311
- },
312
- "lifecycleConfiguration": {
313
- "rules": [
314
- {
315
- "noncurrentVersionTransitions": [
316
- {
317
- "storageClass": "GLACIER",
318
- "transitionInDays": 90
319
- }
320
- ],
321
- "status": "Enabled"
322
- }
323
- ]
324
- },
325
- "loggingConfiguration": {
326
- "destinationBucketName": {
327
- "Ref": "testcloudfrontoais3S3LoggingBucketC8A21DD9"
328
- }
329
- },
330
- "publicAccessBlockConfiguration": {
331
- "blockPublicAcls": true,
332
- "blockPublicPolicy": true,
333
- "ignorePublicAcls": true,
334
- "restrictPublicBuckets": true
335
- },
336
- "tags": [
337
- {
338
- "key": "aws-cdk:auto-delete-objects",
339
- "value": "true"
340
- }
341
- ],
342
- "versioningConfiguration": {
343
- "status": "Enabled"
344
- }
345
- }
346
- },
347
- "constructInfo": {
348
- "fqn": "aws-cdk-lib.aws_s3.CfnBucket",
349
- "version": "2.179.0"
350
- }
351
- },
352
- "Policy": {
353
- "id": "Policy",
354
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/Policy",
355
- "children": {
356
- "Resource": {
357
- "id": "Resource",
358
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/Policy/Resource",
359
- "attributes": {
360
- "aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy",
361
- "aws:cdk:cloudformation:props": {
362
- "bucket": {
363
- "Ref": "testcloudfrontoais3S3Bucket578AB9F3"
364
- },
365
- "policyDocument": {
366
- "Statement": [
367
- {
368
- "Action": "s3:*",
369
- "Condition": {
370
- "Bool": {
371
- "aws:SecureTransport": "false"
372
- }
373
- },
374
- "Effect": "Deny",
375
- "Principal": {
376
- "AWS": "*"
377
- },
378
- "Resource": [
379
- {
380
- "Fn::GetAtt": [
381
- "testcloudfrontoais3S3Bucket578AB9F3",
382
- "Arn"
383
- ]
384
- },
385
- {
386
- "Fn::Join": [
387
- "",
388
- [
389
- {
390
- "Fn::GetAtt": [
391
- "testcloudfrontoais3S3Bucket578AB9F3",
392
- "Arn"
393
- ]
394
- },
395
- "/*"
396
- ]
397
- ]
398
- }
399
- ]
400
- },
401
- {
402
- "Action": [
403
- "s3:DeleteObject*",
404
- "s3:GetBucket*",
405
- "s3:List*",
406
- "s3:PutBucketPolicy"
407
- ],
408
- "Effect": "Allow",
409
- "Principal": {
410
- "AWS": {
411
- "Fn::GetAtt": [
412
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
413
- "Arn"
414
- ]
415
- }
416
- },
417
- "Resource": [
418
- {
419
- "Fn::GetAtt": [
420
- "testcloudfrontoais3S3Bucket578AB9F3",
421
- "Arn"
422
- ]
423
- },
424
- {
425
- "Fn::Join": [
426
- "",
427
- [
428
- {
429
- "Fn::GetAtt": [
430
- "testcloudfrontoais3S3Bucket578AB9F3",
431
- "Arn"
432
- ]
433
- },
434
- "/*"
435
- ]
436
- ]
437
- }
438
- ]
439
- },
440
- {
441
- "Action": "s3:GetObject",
442
- "Effect": "Allow",
443
- "Principal": {
444
- "CanonicalUser": {
445
- "Fn::GetAtt": [
446
- "testcloudfrontoais3constructsGeneratedOaiA468F478",
447
- "S3CanonicalUserId"
448
- ]
449
- }
450
- },
451
- "Resource": {
452
- "Fn::Join": [
453
- "",
454
- [
455
- {
456
- "Fn::GetAtt": [
457
- "testcloudfrontoais3S3Bucket578AB9F3",
458
- "Arn"
459
- ]
460
- },
461
- "/*"
462
- ]
463
- ]
464
- }
465
- },
466
- {
467
- "Action": "s3:GetObject",
468
- "Condition": {
469
- "StringEquals": {
470
- "AWS:SourceArn": {
471
- "Fn::Join": [
472
- "",
473
- [
474
- "arn:",
475
- {
476
- "Ref": "AWS::Partition"
477
- },
478
- ":cloudfront::",
479
- {
480
- "Ref": "AWS::AccountId"
481
- },
482
- ":distribution/",
483
- {
484
- "Ref": "testcloudfrontoais3CloudFrontDistribution0E089CC5"
485
- }
486
- ]
487
- ]
488
- }
489
- }
490
- },
491
- "Effect": "Allow",
492
- "Principal": {
493
- "Service": "cloudfront.amazonaws.com"
494
- },
495
- "Resource": {
496
- "Fn::Join": [
497
- "",
498
- [
499
- {
500
- "Fn::GetAtt": [
501
- "testcloudfrontoais3S3Bucket578AB9F3",
502
- "Arn"
503
- ]
504
- },
505
- "/*"
506
- ]
507
- ]
508
- }
509
- }
510
- ],
511
- "Version": "2012-10-17"
512
- }
513
- }
514
- },
515
- "constructInfo": {
516
- "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
517
- "version": "2.179.0"
518
- }
519
- }
520
- },
521
- "constructInfo": {
522
- "fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
523
- "version": "2.179.0",
524
- "metadata": [
525
- {
526
- "bucket": "*"
527
- }
528
- ]
529
- }
530
- },
531
- "AutoDeleteObjectsCustomResource": {
532
- "id": "AutoDeleteObjectsCustomResource",
533
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/AutoDeleteObjectsCustomResource",
534
- "children": {
535
- "Default": {
536
- "id": "Default",
537
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/AutoDeleteObjectsCustomResource/Default",
538
- "constructInfo": {
539
- "fqn": "aws-cdk-lib.CfnResource",
540
- "version": "2.179.0"
541
- }
542
- }
543
- },
544
- "constructInfo": {
545
- "fqn": "aws-cdk-lib.CustomResource",
546
- "version": "2.179.0",
547
- "metadata": [
548
- "*"
549
- ]
550
- }
551
- }
552
- },
553
- "constructInfo": {
554
- "fqn": "aws-cdk-lib.aws_s3.Bucket",
555
- "version": "2.179.0",
556
- "metadata": [
557
- {
558
- "encryption": "S3_MANAGED",
559
- "versioned": true,
560
- "blockPublicAccess": "*",
561
- "removalPolicy": "destroy",
562
- "enforceSSL": true,
563
- "lifecycleRules": [
564
- {
565
- "noncurrentVersionTransitions": [
566
- {
567
- "storageClass": "*"
568
- }
569
- ]
570
- }
571
- ],
572
- "serverAccessLogsBucket": "*",
573
- "autoDeleteObjects": true
574
- },
575
- {
576
- "addLifecycleRule": [
577
- {
578
- "noncurrentVersionTransitions": [
579
- {
580
- "storageClass": "*"
581
- }
582
- ]
583
- },
584
- "*",
585
- "*"
586
- ]
587
- }
588
- ]
589
- }
590
- },
591
- "SetHttpSecurityHeaders": {
592
- "id": "SetHttpSecurityHeaders",
593
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/SetHttpSecurityHeaders",
594
- "children": {
595
- "Resource": {
596
- "id": "Resource",
597
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/SetHttpSecurityHeaders/Resource",
598
- "attributes": {
599
- "aws:cdk:cloudformation:type": "AWS::CloudFront::Function",
600
- "aws:cdk:cloudformation:props": {
601
- "autoPublish": true,
602
- "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; }",
603
- "functionConfig": {
604
- "comment": "SetHttpSecurityHeadersc87f22b85fa5318062da066fa89121f6ede9f39b90",
605
- "runtime": "cloudfront-js-1.0"
606
- },
607
- "name": "SetHttpSecurityHeadersc87f22b85fa5318062da066fa89121f6ede9f39b90"
608
- }
609
- },
610
- "constructInfo": {
611
- "fqn": "aws-cdk-lib.aws_cloudfront.CfnFunction",
612
- "version": "2.179.0"
613
- }
614
- }
615
- },
616
- "constructInfo": {
617
- "fqn": "aws-cdk-lib.aws_cloudfront.Function",
618
- "version": "2.179.0",
619
- "metadata": [
620
- {
621
- "functionName": "*",
622
- "code": "*"
623
- }
624
- ]
625
- }
626
- },
627
- "CloudfrontLoggingBucketAccessLog": {
628
- "id": "CloudfrontLoggingBucketAccessLog",
629
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog",
630
- "children": {
631
- "Resource": {
632
- "id": "Resource",
633
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/Resource",
634
- "attributes": {
635
- "aws:cdk:cloudformation:type": "AWS::S3::Bucket",
636
- "aws:cdk:cloudformation:props": {
637
- "bucketEncryption": {
638
- "serverSideEncryptionConfiguration": [
639
- {
640
- "serverSideEncryptionByDefault": {
641
- "sseAlgorithm": "AES256"
642
- }
643
- }
644
- ]
645
- },
646
- "publicAccessBlockConfiguration": {
647
- "blockPublicAcls": true,
648
- "blockPublicPolicy": true,
649
- "ignorePublicAcls": true,
650
- "restrictPublicBuckets": true
651
- },
652
- "tags": [
653
- {
654
- "key": "aws-cdk:auto-delete-objects",
655
- "value": "true"
656
- }
657
- ],
658
- "versioningConfiguration": {
659
- "status": "Enabled"
660
- }
661
- }
662
- },
663
- "constructInfo": {
664
- "fqn": "aws-cdk-lib.aws_s3.CfnBucket",
665
- "version": "2.179.0"
666
- }
667
- },
668
- "Policy": {
669
- "id": "Policy",
670
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/Policy",
671
- "children": {
672
- "Resource": {
673
- "id": "Resource",
674
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/Policy/Resource",
675
- "attributes": {
676
- "aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy",
677
- "aws:cdk:cloudformation:props": {
678
- "bucket": {
679
- "Ref": "testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80"
680
- },
681
- "policyDocument": {
682
- "Statement": [
683
- {
684
- "Action": "s3:*",
685
- "Condition": {
686
- "Bool": {
687
- "aws:SecureTransport": "false"
688
- }
689
- },
690
- "Effect": "Deny",
691
- "Principal": {
692
- "AWS": "*"
693
- },
694
- "Resource": [
695
- {
696
- "Fn::GetAtt": [
697
- "testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80",
698
- "Arn"
699
- ]
700
- },
701
- {
702
- "Fn::Join": [
703
- "",
704
- [
705
- {
706
- "Fn::GetAtt": [
707
- "testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80",
708
- "Arn"
709
- ]
710
- },
711
- "/*"
712
- ]
713
- ]
714
- }
715
- ]
716
- },
717
- {
718
- "Action": [
719
- "s3:DeleteObject*",
720
- "s3:GetBucket*",
721
- "s3:List*",
722
- "s3:PutBucketPolicy"
723
- ],
724
- "Effect": "Allow",
725
- "Principal": {
726
- "AWS": {
727
- "Fn::GetAtt": [
728
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
729
- "Arn"
730
- ]
731
- }
732
- },
733
- "Resource": [
734
- {
735
- "Fn::GetAtt": [
736
- "testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80",
737
- "Arn"
738
- ]
739
- },
740
- {
741
- "Fn::Join": [
742
- "",
743
- [
744
- {
745
- "Fn::GetAtt": [
746
- "testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80",
747
- "Arn"
748
- ]
749
- },
750
- "/*"
751
- ]
752
- ]
753
- }
754
- ]
755
- },
756
- {
757
- "Action": "s3:PutObject",
758
- "Condition": {
759
- "ArnLike": {
760
- "aws:SourceArn": {
761
- "Fn::GetAtt": [
762
- "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC",
763
- "Arn"
764
- ]
765
- }
766
- },
767
- "StringEquals": {
768
- "aws:SourceAccount": {
769
- "Ref": "AWS::AccountId"
770
- }
771
- }
772
- },
773
- "Effect": "Allow",
774
- "Principal": {
775
- "Service": "logging.s3.amazonaws.com"
776
- },
777
- "Resource": {
778
- "Fn::Join": [
779
- "",
780
- [
781
- {
782
- "Fn::GetAtt": [
783
- "testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80",
784
- "Arn"
785
- ]
786
- },
787
- "/*"
788
- ]
789
- ]
790
- }
791
- }
792
- ],
793
- "Version": "2012-10-17"
794
- }
795
- }
796
- },
797
- "constructInfo": {
798
- "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
799
- "version": "2.179.0"
800
- }
801
- }
802
- },
803
- "constructInfo": {
804
- "fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
805
- "version": "2.179.0",
806
- "metadata": [
807
- {
808
- "bucket": "*"
809
- }
810
- ]
811
- }
812
- },
813
- "AutoDeleteObjectsCustomResource": {
814
- "id": "AutoDeleteObjectsCustomResource",
815
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/AutoDeleteObjectsCustomResource",
816
- "children": {
817
- "Default": {
818
- "id": "Default",
819
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/AutoDeleteObjectsCustomResource/Default",
820
- "constructInfo": {
821
- "fqn": "aws-cdk-lib.CfnResource",
822
- "version": "2.179.0"
823
- }
824
- }
825
- },
826
- "constructInfo": {
827
- "fqn": "aws-cdk-lib.CustomResource",
828
- "version": "2.179.0",
829
- "metadata": [
830
- "*"
831
- ]
832
- }
833
- }
834
- },
835
- "constructInfo": {
836
- "fqn": "aws-cdk-lib.aws_s3.Bucket",
837
- "version": "2.179.0",
838
- "metadata": [
839
- {
840
- "encryption": "S3_MANAGED",
841
- "versioned": true,
842
- "blockPublicAccess": "*",
843
- "removalPolicy": "destroy",
844
- "enforceSSL": true,
845
- "autoDeleteObjects": true
846
- }
847
- ]
848
- }
849
- },
850
- "CloudfrontLoggingBucket": {
851
- "id": "CloudfrontLoggingBucket",
852
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket",
853
- "children": {
854
- "Resource": {
855
- "id": "Resource",
856
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Resource",
857
- "attributes": {
858
- "aws:cdk:cloudformation:type": "AWS::S3::Bucket",
859
- "aws:cdk:cloudformation:props": {
860
- "bucketEncryption": {
861
- "serverSideEncryptionConfiguration": [
862
- {
863
- "serverSideEncryptionByDefault": {
864
- "sseAlgorithm": "AES256"
865
- }
866
- }
867
- ]
868
- },
869
- "loggingConfiguration": {
870
- "destinationBucketName": {
871
- "Ref": "testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80"
872
- }
873
- },
874
- "ownershipControls": {
875
- "rules": [
876
- {
877
- "objectOwnership": "ObjectWriter"
878
- }
879
- ]
880
- },
881
- "publicAccessBlockConfiguration": {
882
- "blockPublicAcls": true,
883
- "blockPublicPolicy": true,
884
- "ignorePublicAcls": true,
885
- "restrictPublicBuckets": true
886
- },
887
- "tags": [
888
- {
889
- "key": "aws-cdk:auto-delete-objects",
890
- "value": "true"
891
- }
892
- ],
893
- "versioningConfiguration": {
894
- "status": "Enabled"
895
- }
896
- }
897
- },
898
- "constructInfo": {
899
- "fqn": "aws-cdk-lib.aws_s3.CfnBucket",
900
- "version": "2.179.0"
901
- }
902
- },
903
- "Policy": {
904
- "id": "Policy",
905
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Policy",
906
- "children": {
907
- "Resource": {
908
- "id": "Resource",
909
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Policy/Resource",
910
- "attributes": {
911
- "aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy",
912
- "aws:cdk:cloudformation:props": {
913
- "bucket": {
914
- "Ref": "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC"
915
- },
916
- "policyDocument": {
917
- "Statement": [
918
- {
919
- "Action": "s3:*",
920
- "Condition": {
921
- "Bool": {
922
- "aws:SecureTransport": "false"
923
- }
924
- },
925
- "Effect": "Deny",
926
- "Principal": {
927
- "AWS": "*"
928
- },
929
- "Resource": [
930
- {
931
- "Fn::GetAtt": [
932
- "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC",
933
- "Arn"
934
- ]
935
- },
936
- {
937
- "Fn::Join": [
938
- "",
939
- [
940
- {
941
- "Fn::GetAtt": [
942
- "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC",
943
- "Arn"
944
- ]
945
- },
946
- "/*"
947
- ]
948
- ]
949
- }
950
- ]
951
- },
952
- {
953
- "Action": [
954
- "s3:DeleteObject*",
955
- "s3:GetBucket*",
956
- "s3:List*",
957
- "s3:PutBucketPolicy"
958
- ],
959
- "Effect": "Allow",
960
- "Principal": {
961
- "AWS": {
962
- "Fn::GetAtt": [
963
- "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
964
- "Arn"
965
- ]
966
- }
967
- },
968
- "Resource": [
969
- {
970
- "Fn::GetAtt": [
971
- "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC",
972
- "Arn"
973
- ]
974
- },
975
- {
976
- "Fn::Join": [
977
- "",
978
- [
979
- {
980
- "Fn::GetAtt": [
981
- "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC",
982
- "Arn"
983
- ]
984
- },
985
- "/*"
986
- ]
987
- ]
988
- }
989
- ]
990
- }
991
- ],
992
- "Version": "2012-10-17"
993
- }
994
- }
995
- },
996
- "constructInfo": {
997
- "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
998
- "version": "2.179.0"
999
- }
1000
- }
1001
- },
1002
- "constructInfo": {
1003
- "fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
1004
- "version": "2.179.0",
1005
- "metadata": [
1006
- {
1007
- "bucket": "*"
1008
- }
1009
- ]
1010
- }
1011
- },
1012
- "AutoDeleteObjectsCustomResource": {
1013
- "id": "AutoDeleteObjectsCustomResource",
1014
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/AutoDeleteObjectsCustomResource",
1015
- "children": {
1016
- "Default": {
1017
- "id": "Default",
1018
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/AutoDeleteObjectsCustomResource/Default",
1019
- "constructInfo": {
1020
- "fqn": "aws-cdk-lib.CfnResource",
1021
- "version": "2.179.0"
1022
- }
1023
- }
1024
- },
1025
- "constructInfo": {
1026
- "fqn": "aws-cdk-lib.CustomResource",
1027
- "version": "2.179.0",
1028
- "metadata": [
1029
- "*"
1030
- ]
1031
- }
1032
- }
1033
- },
1034
- "constructInfo": {
1035
- "fqn": "aws-cdk-lib.aws_s3.Bucket",
1036
- "version": "2.179.0",
1037
- "metadata": [
1038
- {
1039
- "encryption": "S3_MANAGED",
1040
- "versioned": true,
1041
- "blockPublicAccess": "*",
1042
- "removalPolicy": "destroy",
1043
- "enforceSSL": true,
1044
- "autoDeleteObjects": true,
1045
- "objectOwnership": "ObjectWriter",
1046
- "serverAccessLogsBucket": "*"
1047
- }
1048
- ]
1049
- }
1050
- },
1051
- "constructsGeneratedOai": {
1052
- "id": "constructsGeneratedOai",
1053
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/constructsGeneratedOai",
1054
- "children": {
1055
- "Resource": {
1056
- "id": "Resource",
1057
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/constructsGeneratedOai/Resource",
1058
- "attributes": {
1059
- "aws:cdk:cloudformation:type": "AWS::CloudFront::CloudFrontOriginAccessIdentity",
1060
- "aws:cdk:cloudformation:props": {
1061
- "cloudFrontOriginAccessIdentityConfig": {
1062
- "comment": "Allows CloudFront to reach the bucket"
1063
- }
1064
- }
1065
- },
1066
- "constructInfo": {
1067
- "fqn": "aws-cdk-lib.aws_cloudfront.CfnCloudFrontOriginAccessIdentity",
1068
- "version": "2.179.0"
1069
- }
1070
- }
1071
- },
1072
- "constructInfo": {
1073
- "fqn": "aws-cdk-lib.aws_cloudfront.OriginAccessIdentity",
1074
- "version": "2.179.0",
1075
- "metadata": [
1076
- "*"
1077
- ]
1078
- }
1079
- },
1080
- "CloudFrontDistribution": {
1081
- "id": "CloudFrontDistribution",
1082
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudFrontDistribution",
1083
- "children": {
1084
- "Origin1": {
1085
- "id": "Origin1",
1086
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudFrontDistribution/Origin1",
1087
- "constructInfo": {
1088
- "fqn": "constructs.Construct",
1089
- "version": "10.4.2"
1090
- }
1091
- },
1092
- "Resource": {
1093
- "id": "Resource",
1094
- "path": "cftoais3-custom-headers/test-cloudfront-oai-s3/CloudFrontDistribution/Resource",
1095
- "attributes": {
1096
- "aws:cdk:cloudformation:type": "AWS::CloudFront::Distribution",
1097
- "aws:cdk:cloudformation:props": {
1098
- "distributionConfig": {
1099
- "enabled": true,
1100
- "origins": [
1101
- {
1102
- "domainName": {
1103
- "Fn::GetAtt": [
1104
- "testcloudfrontoais3S3Bucket578AB9F3",
1105
- "RegionalDomainName"
1106
- ]
1107
- },
1108
- "id": "cftoais3customheaderstestcloudfrontoais3CloudFrontDistributionOrigin10B386180",
1109
- "s3OriginConfig": {
1110
- "originAccessIdentity": {
1111
- "Fn::Join": [
1112
- "",
1113
- [
1114
- "origin-access-identity/cloudfront/",
1115
- {
1116
- "Ref": "testcloudfrontoais3constructsGeneratedOaiA468F478"
1117
- }
1118
- ]
1119
- ]
1120
- }
1121
- }
1122
- }
1123
- ],
1124
- "defaultCacheBehavior": {
1125
- "pathPattern": "*",
1126
- "targetOriginId": "cftoais3customheaderstestcloudfrontoais3CloudFrontDistributionOrigin10B386180",
1127
- "cachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6",
1128
- "compress": true,
1129
- "viewerProtocolPolicy": "redirect-to-https",
1130
- "functionAssociations": [
1131
- {
1132
- "functionArn": {
1133
- "Fn::GetAtt": [
1134
- "MyFunction3BAA72D1",
1135
- "FunctionARN"
1136
- ]
1137
- },
1138
- "eventType": "viewer-response"
1139
- }
1140
- ]
1141
- },
1142
- "defaultRootObject": "index.html",
1143
- "httpVersion": "http2",
1144
- "ipv6Enabled": true,
1145
- "logging": {
1146
- "bucket": {
1147
- "Fn::GetAtt": [
1148
- "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC",
1149
- "RegionalDomainName"
1150
- ]
1151
- }
1152
- }
1153
- }
1154
- }
1155
- },
1156
- "constructInfo": {
1157
- "fqn": "aws-cdk-lib.aws_cloudfront.CfnDistribution",
1158
- "version": "2.179.0"
1159
- }
1160
- }
1161
- },
1162
- "constructInfo": {
1163
- "fqn": "aws-cdk-lib.aws_cloudfront.Distribution",
1164
- "version": "2.179.0",
1165
- "metadata": [
1166
- {
1167
- "defaultBehavior": {
1168
- "origin": "*",
1169
- "viewerProtocolPolicy": "redirect-to-https",
1170
- "functionAssociations": [
1171
- {
1172
- "eventType": "viewer-response",
1173
- "function": "*"
1174
- }
1175
- ]
1176
- },
1177
- "enableLogging": true,
1178
- "logBucket": "*",
1179
- "defaultRootObject": "*"
1180
- }
1181
- ]
1182
- }
1183
- }
1184
- },
1185
- "constructInfo": {
1186
- "fqn": "@aws-solutions-constructs/aws-cloudfront-oai-s3.CloudFrontToOaiToS3",
1187
- "version": "2.79.1"
1188
- }
1189
- },
1190
- "LatestNodeRuntimeMap": {
1191
- "id": "LatestNodeRuntimeMap",
1192
- "path": "cftoais3-custom-headers/LatestNodeRuntimeMap",
1193
- "constructInfo": {
1194
- "fqn": "aws-cdk-lib.CfnMapping",
1195
- "version": "2.179.0"
1196
- }
1197
- },
1198
- "Custom::S3AutoDeleteObjectsCustomResourceProvider": {
1199
- "id": "Custom::S3AutoDeleteObjectsCustomResourceProvider",
1200
- "path": "cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider",
1201
- "children": {
1202
- "Staging": {
1203
- "id": "Staging",
1204
- "path": "cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging",
1205
- "constructInfo": {
1206
- "fqn": "aws-cdk-lib.AssetStaging",
1207
- "version": "2.179.0"
1208
- }
1209
- },
1210
- "Role": {
1211
- "id": "Role",
1212
- "path": "cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role",
1213
- "constructInfo": {
1214
- "fqn": "aws-cdk-lib.CfnResource",
1215
- "version": "2.179.0"
1216
- }
1217
- },
1218
- "Handler": {
1219
- "id": "Handler",
1220
- "path": "cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler",
1221
- "constructInfo": {
1222
- "fqn": "aws-cdk-lib.CfnResource",
1223
- "version": "2.179.0"
1224
- }
1225
- }
1226
- },
1227
- "constructInfo": {
1228
- "fqn": "aws-cdk-lib.CustomResourceProviderBase",
1229
- "version": "2.179.0"
1230
- }
1231
- },
1232
- "Integ": {
1233
- "id": "Integ",
1234
- "path": "cftoais3-custom-headers/Integ",
1235
- "children": {
1236
- "DefaultTest": {
1237
- "id": "DefaultTest",
1238
- "path": "cftoais3-custom-headers/Integ/DefaultTest",
1239
- "children": {
1240
- "Default": {
1241
- "id": "Default",
1242
- "path": "cftoais3-custom-headers/Integ/DefaultTest/Default",
1243
- "constructInfo": {
1244
- "fqn": "constructs.Construct",
1245
- "version": "10.4.2"
1246
- }
1247
- },
1248
- "DeployAssert": {
1249
- "id": "DeployAssert",
1250
- "path": "cftoais3-custom-headers/Integ/DefaultTest/DeployAssert",
1251
- "children": {
1252
- "BootstrapVersion": {
1253
- "id": "BootstrapVersion",
1254
- "path": "cftoais3-custom-headers/Integ/DefaultTest/DeployAssert/BootstrapVersion",
1255
- "constructInfo": {
1256
- "fqn": "aws-cdk-lib.CfnParameter",
1257
- "version": "2.179.0"
1258
- }
1259
- },
1260
- "CheckBootstrapVersion": {
1261
- "id": "CheckBootstrapVersion",
1262
- "path": "cftoais3-custom-headers/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion",
1263
- "constructInfo": {
1264
- "fqn": "aws-cdk-lib.CfnRule",
1265
- "version": "2.179.0"
1266
- }
1267
- }
1268
- },
1269
- "constructInfo": {
1270
- "fqn": "aws-cdk-lib.Stack",
1271
- "version": "2.179.0"
1272
- }
1273
- }
1274
- },
1275
- "constructInfo": {
1276
- "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase",
1277
- "version": "2.179.0-alpha.0"
1278
- }
1279
- }
1280
- },
1281
- "constructInfo": {
1282
- "fqn": "@aws-cdk/integ-tests-alpha.IntegTest",
1283
- "version": "2.179.0-alpha.0"
1284
- }
1285
- },
1286
- "BootstrapVersion": {
1287
- "id": "BootstrapVersion",
1288
- "path": "cftoais3-custom-headers/BootstrapVersion",
1289
- "constructInfo": {
1290
- "fqn": "aws-cdk-lib.CfnParameter",
1291
- "version": "2.179.0"
1292
- }
1293
- },
1294
- "CheckBootstrapVersion": {
1295
- "id": "CheckBootstrapVersion",
1296
- "path": "cftoais3-custom-headers/CheckBootstrapVersion",
1297
- "constructInfo": {
1298
- "fqn": "aws-cdk-lib.CfnRule",
1299
- "version": "2.179.0"
1300
- }
1301
- }
1302
- },
1303
- "constructInfo": {
1304
- "fqn": "aws-cdk-lib.Stack",
1305
- "version": "2.179.0"
1306
- }
1307
- },
1308
- "Tree": {
1309
- "id": "Tree",
1310
- "path": "Tree",
1311
- "constructInfo": {
1312
- "fqn": "constructs.Construct",
1313
- "version": "10.4.2"
1314
- }
1315
- }
1316
- },
1317
- "constructInfo": {
1318
- "fqn": "aws-cdk-lib.App",
1319
- "version": "2.179.0"
1320
- }
1321
- }
1322
- }
1
+ {"version":"tree-0.1","tree":{"id":"App","path":"","children":{"cftoais3-custom-headers":{"id":"cftoais3-custom-headers","path":"cftoais3-custom-headers","children":{"MyFunction":{"id":"MyFunction","path":"cftoais3-custom-headers/MyFunction","children":{"Resource":{"id":"Resource","path":"cftoais3-custom-headers/MyFunction/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CloudFront::Function","aws:cdk:cloudformation:props":{"autoPublish":true,"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'; base-uri 'self'; img-src 'self'; script-src 'self'; style-src 'self' https:; object-src 'none'; frame-ancestors 'none'; font-src 'self' https:; form-action 'self'; manifest-src 'self'; connect-src 'self'\" }; headers['x-content-type-options'] = { value: 'nosniff'}; headers['x-frame-options'] = {value: 'DENY'}; headers['x-xss-protection'] = {value: '1; mode=block'}; headers['referrer-policy'] = { value: 'same-origin' }; return response; }","functionConfig":{"comment":{"Fn::Join":["",[{"Ref":"AWS::Region"},"cftoais3customheadersMyFunction8E246289"]]},"runtime":"cloudfront-js-1.0"},"name":{"Fn::Join":["",[{"Ref":"AWS::Region"},"cftoais3customheadersMyFunction8E246289"]]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.CfnFunction","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.Function","version":"2.193.0","metadata":[{"code":"*"}]}},"test-cloudfront-oai-s3":{"id":"test-cloudfront-oai-s3","path":"cftoais3-custom-headers/test-cloudfront-oai-s3","children":{"S3LoggingBucket":{"id":"S3LoggingBucket","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket","children":{"Resource":{"id":"Resource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"bucketEncryption":{"serverSideEncryptionConfiguration":[{"serverSideEncryptionByDefault":{"sseAlgorithm":"AES256"}}]},"publicAccessBlockConfiguration":{"blockPublicAcls":true,"blockPublicPolicy":true,"ignorePublicAcls":true,"restrictPublicBuckets":true},"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}],"versioningConfiguration":{"status":"Enabled"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"2.193.0"}},"Policy":{"id":"Policy","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/Policy","children":{"Resource":{"id":"Resource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/Policy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"testcloudfrontoais3S3LoggingBucketC8A21DD9"},"policyDocument":{"Statement":[{"Action":"s3:*","Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":[{"Fn::GetAtt":["testcloudfrontoais3S3LoggingBucketC8A21DD9","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3S3LoggingBucketC8A21DD9","Arn"]},"/*"]]}]},{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["testcloudfrontoais3S3LoggingBucketC8A21DD9","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3S3LoggingBucketC8A21DD9","Arn"]},"/*"]]}]},{"Action":"s3:PutObject","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["testcloudfrontoais3S3Bucket578AB9F3","Arn"]}},"StringEquals":{"aws:SourceAccount":{"Ref":"AWS::AccountId"}}},"Effect":"Allow","Principal":{"Service":"logging.s3.amazonaws.com"},"Resource":{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3S3LoggingBucketC8A21DD9","Arn"]},"/*"]]}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"2.193.0","metadata":[{"bucket":"*"}]}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/AutoDeleteObjectsCustomResource","children":{"Default":{"id":"Default","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.193.0","metadata":["*"]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"2.193.0","metadata":[{"encryption":"S3_MANAGED","versioned":true,"blockPublicAccess":"*","removalPolicy":"destroy","enforceSSL":true,"autoDeleteObjects":true}]}},"S3Bucket":{"id":"S3Bucket","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket","children":{"Resource":{"id":"Resource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"bucketEncryption":{"serverSideEncryptionConfiguration":[{"serverSideEncryptionByDefault":{"sseAlgorithm":"AES256"}}]},"lifecycleConfiguration":{"rules":[{"noncurrentVersionTransitions":[{"storageClass":"GLACIER","transitionInDays":90}],"status":"Enabled"}]},"loggingConfiguration":{"destinationBucketName":{"Ref":"testcloudfrontoais3S3LoggingBucketC8A21DD9"}},"publicAccessBlockConfiguration":{"blockPublicAcls":true,"blockPublicPolicy":true,"ignorePublicAcls":true,"restrictPublicBuckets":true},"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}],"versioningConfiguration":{"status":"Enabled"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"2.193.0"}},"Policy":{"id":"Policy","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/Policy","children":{"Resource":{"id":"Resource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/Policy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"testcloudfrontoais3S3Bucket578AB9F3"},"policyDocument":{"Statement":[{"Action":"s3:*","Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":[{"Fn::GetAtt":["testcloudfrontoais3S3Bucket578AB9F3","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3S3Bucket578AB9F3","Arn"]},"/*"]]}]},{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["testcloudfrontoais3S3Bucket578AB9F3","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3S3Bucket578AB9F3","Arn"]},"/*"]]}]},{"Action":"s3:GetObject","Effect":"Allow","Principal":{"CanonicalUser":{"Fn::GetAtt":["testcloudfrontoais3constructsGeneratedOaiA468F478","S3CanonicalUserId"]}},"Resource":{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3S3Bucket578AB9F3","Arn"]},"/*"]]}},{"Action":"s3:GetObject","Condition":{"StringEquals":{"AWS:SourceArn":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":cloudfront::",{"Ref":"AWS::AccountId"},":distribution/",{"Ref":"testcloudfrontoais3CloudFrontDistribution0E089CC5"}]]}}},"Effect":"Allow","Principal":{"Service":"cloudfront.amazonaws.com"},"Resource":{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3S3Bucket578AB9F3","Arn"]},"/*"]]}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"2.193.0","metadata":[{"bucket":"*"}]}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/AutoDeleteObjectsCustomResource","children":{"Default":{"id":"Default","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.193.0","metadata":["*"]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"2.193.0","metadata":[{"encryption":"S3_MANAGED","versioned":true,"blockPublicAccess":"*","removalPolicy":"destroy","enforceSSL":true,"lifecycleRules":[{"noncurrentVersionTransitions":[{"storageClass":"*"}]}],"serverAccessLogsBucket":"*","autoDeleteObjects":true},{"addLifecycleRule":[{"noncurrentVersionTransitions":[{"storageClass":"*"}]},"*","*"]}]}},"SetHttpSecurityHeaders":{"id":"SetHttpSecurityHeaders","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/SetHttpSecurityHeaders","children":{"Resource":{"id":"Resource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/SetHttpSecurityHeaders/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CloudFront::Function","aws:cdk:cloudformation:props":{"autoPublish":true,"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; }","functionConfig":{"comment":"SetHttpSecurityHeadersc87f22b85fa5318062da066fa89121f6ede9f39b90","runtime":"cloudfront-js-1.0"},"name":"SetHttpSecurityHeadersc87f22b85fa5318062da066fa89121f6ede9f39b90"}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.CfnFunction","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.Function","version":"2.193.0","metadata":[{"functionName":"*","code":"*"}]}},"CloudfrontLoggingBucketAccessLog":{"id":"CloudfrontLoggingBucketAccessLog","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog","children":{"Resource":{"id":"Resource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"bucketEncryption":{"serverSideEncryptionConfiguration":[{"serverSideEncryptionByDefault":{"sseAlgorithm":"AES256"}}]},"publicAccessBlockConfiguration":{"blockPublicAcls":true,"blockPublicPolicy":true,"ignorePublicAcls":true,"restrictPublicBuckets":true},"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}],"versioningConfiguration":{"status":"Enabled"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"2.193.0"}},"Policy":{"id":"Policy","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/Policy","children":{"Resource":{"id":"Resource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/Policy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80"},"policyDocument":{"Statement":[{"Action":"s3:*","Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":[{"Fn::GetAtt":["testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80","Arn"]},"/*"]]}]},{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80","Arn"]},"/*"]]}]},{"Action":"s3:PutObject","Condition":{"ArnLike":{"aws:SourceArn":{"Fn::GetAtt":["testcloudfrontoais3CloudfrontLoggingBucket55AA79FC","Arn"]}},"StringEquals":{"aws:SourceAccount":{"Ref":"AWS::AccountId"}}},"Effect":"Allow","Principal":{"Service":"logging.s3.amazonaws.com"},"Resource":{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80","Arn"]},"/*"]]}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"2.193.0","metadata":[{"bucket":"*"}]}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/AutoDeleteObjectsCustomResource","children":{"Default":{"id":"Default","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.193.0","metadata":["*"]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"2.193.0","metadata":[{"encryption":"S3_MANAGED","versioned":true,"blockPublicAccess":"*","removalPolicy":"destroy","enforceSSL":true,"autoDeleteObjects":true}]}},"CloudfrontLoggingBucket":{"id":"CloudfrontLoggingBucket","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket","children":{"Resource":{"id":"Resource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::S3::Bucket","aws:cdk:cloudformation:props":{"bucketEncryption":{"serverSideEncryptionConfiguration":[{"serverSideEncryptionByDefault":{"sseAlgorithm":"AES256"}}]},"loggingConfiguration":{"destinationBucketName":{"Ref":"testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80"}},"ownershipControls":{"rules":[{"objectOwnership":"ObjectWriter"}]},"publicAccessBlockConfiguration":{"blockPublicAcls":true,"blockPublicPolicy":true,"ignorePublicAcls":true,"restrictPublicBuckets":true},"tags":[{"key":"aws-cdk:auto-delete-objects","value":"true"}],"versioningConfiguration":{"status":"Enabled"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucket","version":"2.193.0"}},"Policy":{"id":"Policy","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Policy","children":{"Resource":{"id":"Resource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Policy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::S3::BucketPolicy","aws:cdk:cloudformation:props":{"bucket":{"Ref":"testcloudfrontoais3CloudfrontLoggingBucket55AA79FC"},"policyDocument":{"Statement":[{"Action":"s3:*","Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":[{"Fn::GetAtt":["testcloudfrontoais3CloudfrontLoggingBucket55AA79FC","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3CloudfrontLoggingBucket55AA79FC","Arn"]},"/*"]]}]},{"Action":["s3:DeleteObject*","s3:GetBucket*","s3:List*","s3:PutBucketPolicy"],"Effect":"Allow","Principal":{"AWS":{"Fn::GetAtt":["CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092","Arn"]}},"Resource":[{"Fn::GetAtt":["testcloudfrontoais3CloudfrontLoggingBucket55AA79FC","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["testcloudfrontoais3CloudfrontLoggingBucket55AA79FC","Arn"]},"/*"]]}]}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.CfnBucketPolicy","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketPolicy","version":"2.193.0","metadata":[{"bucket":"*"}]}},"AutoDeleteObjectsCustomResource":{"id":"AutoDeleteObjectsCustomResource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/AutoDeleteObjectsCustomResource","children":{"Default":{"id":"Default","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/AutoDeleteObjectsCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.193.0","metadata":["*"]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3.Bucket","version":"2.193.0","metadata":[{"encryption":"S3_MANAGED","versioned":true,"blockPublicAccess":"*","removalPolicy":"destroy","enforceSSL":true,"autoDeleteObjects":true,"objectOwnership":"ObjectWriter","serverAccessLogsBucket":"*"}]}},"constructsGeneratedOai":{"id":"constructsGeneratedOai","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/constructsGeneratedOai","children":{"Resource":{"id":"Resource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/constructsGeneratedOai/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CloudFront::CloudFrontOriginAccessIdentity","aws:cdk:cloudformation:props":{"cloudFrontOriginAccessIdentityConfig":{"comment":"Allows CloudFront to reach the bucket"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.CfnCloudFrontOriginAccessIdentity","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.OriginAccessIdentity","version":"2.193.0","metadata":["*"]}},"CloudFrontDistribution":{"id":"CloudFrontDistribution","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudFrontDistribution","children":{"Origin1":{"id":"Origin1","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudFrontDistribution/Origin1","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"Resource":{"id":"Resource","path":"cftoais3-custom-headers/test-cloudfront-oai-s3/CloudFrontDistribution/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CloudFront::Distribution","aws:cdk:cloudformation:props":{"distributionConfig":{"enabled":true,"origins":[{"domainName":{"Fn::GetAtt":["testcloudfrontoais3S3Bucket578AB9F3","RegionalDomainName"]},"id":"cftoais3customheaderstestcloudfrontoais3CloudFrontDistributionOrigin10B386180","s3OriginConfig":{"originAccessIdentity":{"Fn::Join":["",["origin-access-identity/cloudfront/",{"Ref":"testcloudfrontoais3constructsGeneratedOaiA468F478"}]]}}}],"defaultCacheBehavior":{"pathPattern":"*","targetOriginId":"cftoais3customheaderstestcloudfrontoais3CloudFrontDistributionOrigin10B386180","cachePolicyId":"658327ea-f89d-4fab-a63d-7e88639e58f6","compress":true,"viewerProtocolPolicy":"redirect-to-https","functionAssociations":[{"functionArn":{"Fn::GetAtt":["MyFunction3BAA72D1","FunctionARN"]},"eventType":"viewer-response"}]},"defaultRootObject":"index.html","httpVersion":"http2","ipv6Enabled":true,"logging":{"bucket":{"Fn::GetAtt":["testcloudfrontoais3CloudfrontLoggingBucket55AA79FC","RegionalDomainName"]}}}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.CfnDistribution","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.Distribution","version":"2.193.0","metadata":[{"defaultBehavior":{"origin":"*","viewerProtocolPolicy":"redirect-to-https","functionAssociations":[{"eventType":"viewer-response","function":"*"}]},"enableLogging":true,"logBucket":"*","defaultRootObject":"*"}]}}},"constructInfo":{"fqn":"@aws-solutions-constructs/aws-cloudfront-oai-s3.CloudFrontToOaiToS3","version":"2.85.0"}},"LatestNodeRuntimeMap":{"id":"LatestNodeRuntimeMap","path":"cftoais3-custom-headers/LatestNodeRuntimeMap","constructInfo":{"fqn":"aws-cdk-lib.CfnMapping","version":"2.193.0"}},"Custom::S3AutoDeleteObjectsCustomResourceProvider":{"id":"Custom::S3AutoDeleteObjectsCustomResourceProvider","path":"cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider","children":{"Staging":{"id":"Staging","path":"cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.193.0"}},"Role":{"id":"Role","path":"cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.193.0"}},"Handler":{"id":"Handler","path":"cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"2.193.0"}},"Integ":{"id":"Integ","path":"cftoais3-custom-headers/Integ","children":{"DefaultTest":{"id":"DefaultTest","path":"cftoais3-custom-headers/Integ/DefaultTest","children":{"Default":{"id":"Default","path":"cftoais3-custom-headers/Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"cftoais3-custom-headers/Integ/DefaultTest/DeployAssert","children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"cftoais3-custom-headers/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.193.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"cftoais3-custom-headers/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.193.0"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.193.0-alpha.0"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"2.193.0-alpha.0"}},"BootstrapVersion":{"id":"BootstrapVersion","path":"cftoais3-custom-headers/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.193.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"cftoais3-custom-headers/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.193.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.193.0"}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}},"constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.193.0"}}}