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