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