@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,726 @@
1
+ {
2
+ "version": "tree-0.1",
3
+ "tree": {
4
+ "id": "App",
5
+ "path": "",
6
+ "children": {
7
+ "cftoais3-no-cloudfront-s3-access-logs": {
8
+ "id": "cftoais3-no-cloudfront-s3-access-logs",
9
+ "path": "cftoais3-no-cloudfront-s3-access-logs",
10
+ "children": {
11
+ "test-cloudfront-oai-s3": {
12
+ "id": "test-cloudfront-oai-s3",
13
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3",
14
+ "children": {
15
+ "S3Bucket": {
16
+ "id": "S3Bucket",
17
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/S3Bucket",
18
+ "children": {
19
+ "Resource": {
20
+ "id": "Resource",
21
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/S3Bucket/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
+ "noncurrentVersionTransitions": [
38
+ {
39
+ "storageClass": "GLACIER",
40
+ "transitionInDays": 90
41
+ }
42
+ ],
43
+ "status": "Enabled"
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-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/S3Bucket/Policy",
72
+ "children": {
73
+ "Resource": {
74
+ "id": "Resource",
75
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/S3Bucket/Policy/Resource",
76
+ "attributes": {
77
+ "aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy",
78
+ "aws:cdk:cloudformation:props": {
79
+ "bucket": {
80
+ "Ref": "testcloudfrontoais3S3Bucket578AB9F3"
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
+ "testcloudfrontoais3S3Bucket578AB9F3",
99
+ "Arn"
100
+ ]
101
+ },
102
+ {
103
+ "Fn::Join": [
104
+ "",
105
+ [
106
+ {
107
+ "Fn::GetAtt": [
108
+ "testcloudfrontoais3S3Bucket578AB9F3",
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
+ "testcloudfrontoais3S3Bucket578AB9F3",
138
+ "Arn"
139
+ ]
140
+ },
141
+ {
142
+ "Fn::Join": [
143
+ "",
144
+ [
145
+ {
146
+ "Fn::GetAtt": [
147
+ "testcloudfrontoais3S3Bucket578AB9F3",
148
+ "Arn"
149
+ ]
150
+ },
151
+ "/*"
152
+ ]
153
+ ]
154
+ }
155
+ ]
156
+ },
157
+ {
158
+ "Action": "s3:GetObject",
159
+ "Effect": "Allow",
160
+ "Principal": {
161
+ "CanonicalUser": {
162
+ "Fn::GetAtt": [
163
+ "testcloudfrontoais3CloudFrontDistributionOrigin1S3OriginF57A3CB1",
164
+ "S3CanonicalUserId"
165
+ ]
166
+ }
167
+ },
168
+ "Resource": {
169
+ "Fn::Join": [
170
+ "",
171
+ [
172
+ {
173
+ "Fn::GetAtt": [
174
+ "testcloudfrontoais3S3Bucket578AB9F3",
175
+ "Arn"
176
+ ]
177
+ },
178
+ "/*"
179
+ ]
180
+ ]
181
+ }
182
+ },
183
+ {
184
+ "Action": "s3:GetObject",
185
+ "Condition": {
186
+ "StringEquals": {
187
+ "AWS:SourceArn": {
188
+ "Fn::Join": [
189
+ "",
190
+ [
191
+ "arn:",
192
+ {
193
+ "Ref": "AWS::Partition"
194
+ },
195
+ ":cloudfront::",
196
+ {
197
+ "Ref": "AWS::AccountId"
198
+ },
199
+ ":distribution/",
200
+ {
201
+ "Ref": "testcloudfrontoais3CloudFrontDistribution0E089CC5"
202
+ }
203
+ ]
204
+ ]
205
+ }
206
+ }
207
+ },
208
+ "Effect": "Allow",
209
+ "Principal": {
210
+ "Service": "cloudfront.amazonaws.com"
211
+ },
212
+ "Resource": {
213
+ "Fn::Join": [
214
+ "",
215
+ [
216
+ {
217
+ "Fn::GetAtt": [
218
+ "testcloudfrontoais3S3Bucket578AB9F3",
219
+ "Arn"
220
+ ]
221
+ },
222
+ "/*"
223
+ ]
224
+ ]
225
+ }
226
+ }
227
+ ],
228
+ "Version": "2012-10-17"
229
+ }
230
+ }
231
+ },
232
+ "constructInfo": {
233
+ "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
234
+ "version": "2.177.0"
235
+ }
236
+ }
237
+ },
238
+ "constructInfo": {
239
+ "fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
240
+ "version": "2.177.0"
241
+ }
242
+ },
243
+ "AutoDeleteObjectsCustomResource": {
244
+ "id": "AutoDeleteObjectsCustomResource",
245
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/S3Bucket/AutoDeleteObjectsCustomResource",
246
+ "children": {
247
+ "Default": {
248
+ "id": "Default",
249
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/S3Bucket/AutoDeleteObjectsCustomResource/Default",
250
+ "constructInfo": {
251
+ "fqn": "aws-cdk-lib.CfnResource",
252
+ "version": "2.177.0"
253
+ }
254
+ }
255
+ },
256
+ "constructInfo": {
257
+ "fqn": "aws-cdk-lib.CustomResource",
258
+ "version": "2.177.0"
259
+ }
260
+ }
261
+ },
262
+ "constructInfo": {
263
+ "fqn": "aws-cdk-lib.aws_s3.Bucket",
264
+ "version": "2.177.0"
265
+ }
266
+ },
267
+ "SetHttpSecurityHeaders": {
268
+ "id": "SetHttpSecurityHeaders",
269
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/SetHttpSecurityHeaders",
270
+ "children": {
271
+ "Resource": {
272
+ "id": "Resource",
273
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/SetHttpSecurityHeaders/Resource",
274
+ "attributes": {
275
+ "aws:cdk:cloudformation:type": "AWS::CloudFront::Function",
276
+ "aws:cdk:cloudformation:props": {
277
+ "autoPublish": true,
278
+ "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; }",
279
+ "functionConfig": {
280
+ "comment": "SetHttpSecurityHeadersc8f7f4bd284e0dfe896b4ee5e3002830ae26040096",
281
+ "runtime": "cloudfront-js-1.0"
282
+ },
283
+ "name": "SetHttpSecurityHeadersc8f7f4bd284e0dfe896b4ee5e3002830ae26040096"
284
+ }
285
+ },
286
+ "constructInfo": {
287
+ "fqn": "aws-cdk-lib.aws_cloudfront.CfnFunction",
288
+ "version": "2.177.0"
289
+ }
290
+ }
291
+ },
292
+ "constructInfo": {
293
+ "fqn": "aws-cdk-lib.aws_cloudfront.Function",
294
+ "version": "2.177.0"
295
+ }
296
+ },
297
+ "CloudfrontLoggingBucket": {
298
+ "id": "CloudfrontLoggingBucket",
299
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/CloudfrontLoggingBucket",
300
+ "children": {
301
+ "Resource": {
302
+ "id": "Resource",
303
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Resource",
304
+ "attributes": {
305
+ "aws:cdk:cloudformation:type": "AWS::S3::Bucket",
306
+ "aws:cdk:cloudformation:props": {
307
+ "bucketEncryption": {
308
+ "serverSideEncryptionConfiguration": [
309
+ {
310
+ "serverSideEncryptionByDefault": {
311
+ "sseAlgorithm": "AES256"
312
+ }
313
+ }
314
+ ]
315
+ },
316
+ "ownershipControls": {
317
+ "rules": [
318
+ {
319
+ "objectOwnership": "ObjectWriter"
320
+ }
321
+ ]
322
+ },
323
+ "publicAccessBlockConfiguration": {
324
+ "blockPublicAcls": true,
325
+ "blockPublicPolicy": true,
326
+ "ignorePublicAcls": true,
327
+ "restrictPublicBuckets": true
328
+ },
329
+ "tags": [
330
+ {
331
+ "key": "aws-cdk:auto-delete-objects",
332
+ "value": "true"
333
+ }
334
+ ],
335
+ "versioningConfiguration": {
336
+ "status": "Enabled"
337
+ }
338
+ }
339
+ },
340
+ "constructInfo": {
341
+ "fqn": "aws-cdk-lib.aws_s3.CfnBucket",
342
+ "version": "2.177.0"
343
+ }
344
+ },
345
+ "Policy": {
346
+ "id": "Policy",
347
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Policy",
348
+ "children": {
349
+ "Resource": {
350
+ "id": "Resource",
351
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Policy/Resource",
352
+ "attributes": {
353
+ "aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy",
354
+ "aws:cdk:cloudformation:props": {
355
+ "bucket": {
356
+ "Ref": "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC"
357
+ },
358
+ "policyDocument": {
359
+ "Statement": [
360
+ {
361
+ "Action": "s3:*",
362
+ "Condition": {
363
+ "Bool": {
364
+ "aws:SecureTransport": "false"
365
+ }
366
+ },
367
+ "Effect": "Deny",
368
+ "Principal": {
369
+ "AWS": "*"
370
+ },
371
+ "Resource": [
372
+ {
373
+ "Fn::GetAtt": [
374
+ "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC",
375
+ "Arn"
376
+ ]
377
+ },
378
+ {
379
+ "Fn::Join": [
380
+ "",
381
+ [
382
+ {
383
+ "Fn::GetAtt": [
384
+ "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC",
385
+ "Arn"
386
+ ]
387
+ },
388
+ "/*"
389
+ ]
390
+ ]
391
+ }
392
+ ]
393
+ },
394
+ {
395
+ "Action": [
396
+ "s3:DeleteObject*",
397
+ "s3:GetBucket*",
398
+ "s3:List*",
399
+ "s3:PutBucketPolicy"
400
+ ],
401
+ "Effect": "Allow",
402
+ "Principal": {
403
+ "AWS": {
404
+ "Fn::GetAtt": [
405
+ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
406
+ "Arn"
407
+ ]
408
+ }
409
+ },
410
+ "Resource": [
411
+ {
412
+ "Fn::GetAtt": [
413
+ "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC",
414
+ "Arn"
415
+ ]
416
+ },
417
+ {
418
+ "Fn::Join": [
419
+ "",
420
+ [
421
+ {
422
+ "Fn::GetAtt": [
423
+ "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC",
424
+ "Arn"
425
+ ]
426
+ },
427
+ "/*"
428
+ ]
429
+ ]
430
+ }
431
+ ]
432
+ }
433
+ ],
434
+ "Version": "2012-10-17"
435
+ }
436
+ }
437
+ },
438
+ "constructInfo": {
439
+ "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
440
+ "version": "2.177.0"
441
+ }
442
+ }
443
+ },
444
+ "constructInfo": {
445
+ "fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
446
+ "version": "2.177.0"
447
+ }
448
+ },
449
+ "AutoDeleteObjectsCustomResource": {
450
+ "id": "AutoDeleteObjectsCustomResource",
451
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/CloudfrontLoggingBucket/AutoDeleteObjectsCustomResource",
452
+ "children": {
453
+ "Default": {
454
+ "id": "Default",
455
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/CloudfrontLoggingBucket/AutoDeleteObjectsCustomResource/Default",
456
+ "constructInfo": {
457
+ "fqn": "aws-cdk-lib.CfnResource",
458
+ "version": "2.177.0"
459
+ }
460
+ }
461
+ },
462
+ "constructInfo": {
463
+ "fqn": "aws-cdk-lib.CustomResource",
464
+ "version": "2.177.0"
465
+ }
466
+ }
467
+ },
468
+ "constructInfo": {
469
+ "fqn": "aws-cdk-lib.aws_s3.Bucket",
470
+ "version": "2.177.0"
471
+ }
472
+ },
473
+ "CloudFrontDistribution": {
474
+ "id": "CloudFrontDistribution",
475
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/CloudFrontDistribution",
476
+ "children": {
477
+ "Origin1": {
478
+ "id": "Origin1",
479
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/CloudFrontDistribution/Origin1",
480
+ "children": {
481
+ "S3Origin": {
482
+ "id": "S3Origin",
483
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/CloudFrontDistribution/Origin1/S3Origin",
484
+ "children": {
485
+ "Resource": {
486
+ "id": "Resource",
487
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/CloudFrontDistribution/Origin1/S3Origin/Resource",
488
+ "attributes": {
489
+ "aws:cdk:cloudformation:type": "AWS::CloudFront::CloudFrontOriginAccessIdentity",
490
+ "aws:cdk:cloudformation:props": {
491
+ "cloudFrontOriginAccessIdentityConfig": {
492
+ "comment": "Identity for cftoais3nocloudfronts3accesslogstestcloudfrontoais3CloudFrontDistributionOrigin19941995A"
493
+ }
494
+ }
495
+ },
496
+ "constructInfo": {
497
+ "fqn": "aws-cdk-lib.aws_cloudfront.CfnCloudFrontOriginAccessIdentity",
498
+ "version": "2.177.0"
499
+ }
500
+ }
501
+ },
502
+ "constructInfo": {
503
+ "fqn": "aws-cdk-lib.aws_cloudfront.OriginAccessIdentity",
504
+ "version": "2.177.0"
505
+ }
506
+ }
507
+ },
508
+ "constructInfo": {
509
+ "fqn": "constructs.Construct",
510
+ "version": "10.4.2"
511
+ }
512
+ },
513
+ "Resource": {
514
+ "id": "Resource",
515
+ "path": "cftoais3-no-cloudfront-s3-access-logs/test-cloudfront-oai-s3/CloudFrontDistribution/Resource",
516
+ "attributes": {
517
+ "aws:cdk:cloudformation:type": "AWS::CloudFront::Distribution",
518
+ "aws:cdk:cloudformation:props": {
519
+ "distributionConfig": {
520
+ "enabled": true,
521
+ "origins": [
522
+ {
523
+ "domainName": {
524
+ "Fn::GetAtt": [
525
+ "testcloudfrontoais3S3Bucket578AB9F3",
526
+ "RegionalDomainName"
527
+ ]
528
+ },
529
+ "id": "cftoais3nocloudfronts3accesslogstestcloudfrontoais3CloudFrontDistributionOrigin19941995A",
530
+ "s3OriginConfig": {
531
+ "originAccessIdentity": {
532
+ "Fn::Join": [
533
+ "",
534
+ [
535
+ "origin-access-identity/cloudfront/",
536
+ {
537
+ "Ref": "testcloudfrontoais3CloudFrontDistributionOrigin1S3OriginF57A3CB1"
538
+ }
539
+ ]
540
+ ]
541
+ }
542
+ }
543
+ }
544
+ ],
545
+ "defaultCacheBehavior": {
546
+ "pathPattern": "*",
547
+ "targetOriginId": "cftoais3nocloudfronts3accesslogstestcloudfrontoais3CloudFrontDistributionOrigin19941995A",
548
+ "cachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6",
549
+ "compress": true,
550
+ "viewerProtocolPolicy": "redirect-to-https",
551
+ "functionAssociations": [
552
+ {
553
+ "functionArn": {
554
+ "Fn::GetAtt": [
555
+ "testcloudfrontoais3SetHttpSecurityHeaders4EB3C97B",
556
+ "FunctionARN"
557
+ ]
558
+ },
559
+ "eventType": "viewer-response"
560
+ }
561
+ ]
562
+ },
563
+ "defaultRootObject": "index.html",
564
+ "httpVersion": "http2",
565
+ "ipv6Enabled": true,
566
+ "logging": {
567
+ "bucket": {
568
+ "Fn::GetAtt": [
569
+ "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC",
570
+ "RegionalDomainName"
571
+ ]
572
+ }
573
+ }
574
+ }
575
+ }
576
+ },
577
+ "constructInfo": {
578
+ "fqn": "aws-cdk-lib.aws_cloudfront.CfnDistribution",
579
+ "version": "2.177.0"
580
+ }
581
+ }
582
+ },
583
+ "constructInfo": {
584
+ "fqn": "aws-cdk-lib.aws_cloudfront.Distribution",
585
+ "version": "2.177.0"
586
+ }
587
+ }
588
+ },
589
+ "constructInfo": {
590
+ "fqn": "@aws-solutions-constructs/aws-cloudfront-oai-s3.CloudFrontToOaiToS3",
591
+ "version": "2.78.1"
592
+ }
593
+ },
594
+ "LatestNodeRuntimeMap": {
595
+ "id": "LatestNodeRuntimeMap",
596
+ "path": "cftoais3-no-cloudfront-s3-access-logs/LatestNodeRuntimeMap",
597
+ "constructInfo": {
598
+ "fqn": "aws-cdk-lib.CfnMapping",
599
+ "version": "2.177.0"
600
+ }
601
+ },
602
+ "Custom::S3AutoDeleteObjectsCustomResourceProvider": {
603
+ "id": "Custom::S3AutoDeleteObjectsCustomResourceProvider",
604
+ "path": "cftoais3-no-cloudfront-s3-access-logs/Custom::S3AutoDeleteObjectsCustomResourceProvider",
605
+ "children": {
606
+ "Staging": {
607
+ "id": "Staging",
608
+ "path": "cftoais3-no-cloudfront-s3-access-logs/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging",
609
+ "constructInfo": {
610
+ "fqn": "aws-cdk-lib.AssetStaging",
611
+ "version": "2.177.0"
612
+ }
613
+ },
614
+ "Role": {
615
+ "id": "Role",
616
+ "path": "cftoais3-no-cloudfront-s3-access-logs/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role",
617
+ "constructInfo": {
618
+ "fqn": "aws-cdk-lib.CfnResource",
619
+ "version": "2.177.0"
620
+ }
621
+ },
622
+ "Handler": {
623
+ "id": "Handler",
624
+ "path": "cftoais3-no-cloudfront-s3-access-logs/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler",
625
+ "constructInfo": {
626
+ "fqn": "aws-cdk-lib.CfnResource",
627
+ "version": "2.177.0"
628
+ }
629
+ }
630
+ },
631
+ "constructInfo": {
632
+ "fqn": "aws-cdk-lib.CustomResourceProviderBase",
633
+ "version": "2.177.0"
634
+ }
635
+ },
636
+ "Integ": {
637
+ "id": "Integ",
638
+ "path": "cftoais3-no-cloudfront-s3-access-logs/Integ",
639
+ "children": {
640
+ "DefaultTest": {
641
+ "id": "DefaultTest",
642
+ "path": "cftoais3-no-cloudfront-s3-access-logs/Integ/DefaultTest",
643
+ "children": {
644
+ "Default": {
645
+ "id": "Default",
646
+ "path": "cftoais3-no-cloudfront-s3-access-logs/Integ/DefaultTest/Default",
647
+ "constructInfo": {
648
+ "fqn": "constructs.Construct",
649
+ "version": "10.4.2"
650
+ }
651
+ },
652
+ "DeployAssert": {
653
+ "id": "DeployAssert",
654
+ "path": "cftoais3-no-cloudfront-s3-access-logs/Integ/DefaultTest/DeployAssert",
655
+ "children": {
656
+ "BootstrapVersion": {
657
+ "id": "BootstrapVersion",
658
+ "path": "cftoais3-no-cloudfront-s3-access-logs/Integ/DefaultTest/DeployAssert/BootstrapVersion",
659
+ "constructInfo": {
660
+ "fqn": "aws-cdk-lib.CfnParameter",
661
+ "version": "2.177.0"
662
+ }
663
+ },
664
+ "CheckBootstrapVersion": {
665
+ "id": "CheckBootstrapVersion",
666
+ "path": "cftoais3-no-cloudfront-s3-access-logs/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion",
667
+ "constructInfo": {
668
+ "fqn": "aws-cdk-lib.CfnRule",
669
+ "version": "2.177.0"
670
+ }
671
+ }
672
+ },
673
+ "constructInfo": {
674
+ "fqn": "aws-cdk-lib.Stack",
675
+ "version": "2.177.0"
676
+ }
677
+ }
678
+ },
679
+ "constructInfo": {
680
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase",
681
+ "version": "2.177.0-alpha.0"
682
+ }
683
+ }
684
+ },
685
+ "constructInfo": {
686
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTest",
687
+ "version": "2.177.0-alpha.0"
688
+ }
689
+ },
690
+ "BootstrapVersion": {
691
+ "id": "BootstrapVersion",
692
+ "path": "cftoais3-no-cloudfront-s3-access-logs/BootstrapVersion",
693
+ "constructInfo": {
694
+ "fqn": "aws-cdk-lib.CfnParameter",
695
+ "version": "2.177.0"
696
+ }
697
+ },
698
+ "CheckBootstrapVersion": {
699
+ "id": "CheckBootstrapVersion",
700
+ "path": "cftoais3-no-cloudfront-s3-access-logs/CheckBootstrapVersion",
701
+ "constructInfo": {
702
+ "fqn": "aws-cdk-lib.CfnRule",
703
+ "version": "2.177.0"
704
+ }
705
+ }
706
+ },
707
+ "constructInfo": {
708
+ "fqn": "aws-cdk-lib.Stack",
709
+ "version": "2.177.0"
710
+ }
711
+ },
712
+ "Tree": {
713
+ "id": "Tree",
714
+ "path": "Tree",
715
+ "constructInfo": {
716
+ "fqn": "constructs.Construct",
717
+ "version": "10.4.2"
718
+ }
719
+ }
720
+ },
721
+ "constructInfo": {
722
+ "fqn": "aws-cdk-lib.App",
723
+ "version": "2.177.0"
724
+ }
725
+ }
726
+ }