@aws-solutions-constructs/aws-cloudfront-s3 2.58.0 → 2.59.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 (82) hide show
  1. package/.jsii +77 -30
  2. package/README.md +10 -7
  3. package/lib/index.d.ts +32 -17
  4. package/lib/index.js +33 -3
  5. package/package.json +5 -5
  6. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js +16 -2
  7. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4/index.js +1 -0
  8. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.assets.json +15 -2
  9. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.template.json +340 -15
  10. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/manifest.json +37 -19
  11. package/test/integ.cfts3-bucket-encrypted-with-cmk-provided-as-existingbucket.js.snapshot/tree.json +342 -63
  12. package/test/integ.cfts3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js +16 -2
  13. package/test/integ.cfts3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4/index.js +1 -0
  14. package/test/integ.cfts3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/cfts3-bucket-encrypted-with-managed-key-provided-as-existingbucket.assets.json +15 -2
  15. package/test/integ.cfts3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/cfts3-bucket-encrypted-with-managed-key-provided-as-existingbucket.template.json +340 -15
  16. package/test/integ.cfts3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/manifest.json +37 -1
  17. package/test/integ.cfts3-bucket-encrypted-with-managed-key-provided-as-existingbucket.js.snapshot/tree.json +318 -39
  18. package/test/integ.cfts3-bucket-with-http-origin.js.snapshot/cfts3-bucket-with-http-origin.assets.json +2 -2
  19. package/test/integ.cfts3-bucket-with-http-origin.js.snapshot/cfts3-bucket-with-http-origin.template.json +0 -7
  20. package/test/integ.cfts3-bucket-with-http-origin.js.snapshot/manifest.json +1 -1
  21. package/test/integ.cfts3-bucket-with-http-origin.js.snapshot/tree.json +31 -38
  22. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js +13 -1
  23. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4/index.js +1 -0
  24. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/cfts3-cmk-provided-as-bucket-prop.assets.json +15 -2
  25. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/cfts3-cmk-provided-as-bucket-prop.template.json +274 -13
  26. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/manifest.json +27 -15
  27. package/test/integ.cfts3-cmk-provided-as-bucket-prop.js.snapshot/tree.json +279 -63
  28. package/test/integ.cfts3-custom-headers.js +5 -1
  29. package/test/integ.cfts3-custom-headers.js.snapshot/asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4/index.js +1 -0
  30. package/test/integ.cfts3-custom-headers.js.snapshot/cfts3-custom-headers.assets.json +5 -5
  31. package/test/integ.cfts3-custom-headers.js.snapshot/cfts3-custom-headers.template.json +1 -8
  32. package/test/integ.cfts3-custom-headers.js.snapshot/manifest.json +1 -1
  33. package/test/integ.cfts3-custom-headers.js.snapshot/tree.json +48 -55
  34. package/test/integ.cfts3-custom-originPath.js +5 -1
  35. package/test/integ.cfts3-custom-originPath.js.snapshot/asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4/index.js +1 -0
  36. package/test/integ.cfts3-custom-originPath.js.snapshot/cfts3-custom-originPath.assets.json +5 -5
  37. package/test/integ.cfts3-custom-originPath.js.snapshot/cfts3-custom-originPath.template.json +1 -8
  38. package/test/integ.cfts3-custom-originPath.js.snapshot/manifest.json +1 -1
  39. package/test/integ.cfts3-custom-originPath.js.snapshot/tree.json +46 -53
  40. package/test/integ.cfts3-customLoggingBuckets.js +6 -2
  41. package/test/integ.cfts3-customLoggingBuckets.js.snapshot/asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4/index.js +1 -0
  42. package/test/integ.cfts3-customLoggingBuckets.js.snapshot/cfts3-customLoggingBuckets.assets.json +5 -5
  43. package/test/integ.cfts3-customLoggingBuckets.js.snapshot/cfts3-customLoggingBuckets.template.json +1 -21
  44. package/test/integ.cfts3-customLoggingBuckets.js.snapshot/manifest.json +1 -1
  45. package/test/integ.cfts3-customLoggingBuckets.js.snapshot/tree.json +46 -66
  46. package/test/integ.cfts3-existing-bucket.js +5 -1
  47. package/test/integ.cfts3-existing-bucket.js.snapshot/asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4/index.js +1 -0
  48. package/test/integ.cfts3-existing-bucket.js.snapshot/cfts3-existing-bucket.assets.json +5 -5
  49. package/test/integ.cfts3-existing-bucket.js.snapshot/cfts3-existing-bucket.template.json +1 -8
  50. package/test/integ.cfts3-existing-bucket.js.snapshot/manifest.json +1 -1
  51. package/test/integ.cfts3-existing-bucket.js.snapshot/tree.json +51 -58
  52. package/test/integ.cfts3-no-arguments.js +5 -1
  53. package/test/integ.cfts3-no-arguments.js.snapshot/asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4/index.js +1 -0
  54. package/test/integ.cfts3-no-arguments.js.snapshot/cfts3-no-arguments.assets.json +5 -5
  55. package/test/integ.cfts3-no-arguments.js.snapshot/cfts3-no-arguments.template.json +1 -8
  56. package/test/integ.cfts3-no-arguments.js.snapshot/manifest.json +1 -1
  57. package/test/integ.cfts3-no-arguments.js.snapshot/tree.json +46 -53
  58. package/test/integ.cfts3-no-logging.js +56 -0
  59. package/test/integ.cfts3-no-logging.js.snapshot/asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4/index.js +1 -0
  60. package/test/integ.cfts3-no-logging.js.snapshot/cdk.out +1 -0
  61. package/test/integ.cfts3-no-logging.js.snapshot/cfts3-no-logging.assets.json +32 -0
  62. package/test/integ.cfts3-no-logging.js.snapshot/cfts3-no-logging.template.json +434 -0
  63. package/test/integ.cfts3-no-logging.js.snapshot/cfts3nologgingIntegDefaultTestDeployAssert18393DDB.assets.json +19 -0
  64. package/test/integ.cfts3-no-logging.js.snapshot/cfts3nologgingIntegDefaultTestDeployAssert18393DDB.template.json +36 -0
  65. package/test/integ.cfts3-no-logging.js.snapshot/integ.json +12 -0
  66. package/test/integ.cfts3-no-logging.js.snapshot/manifest.json +155 -0
  67. package/test/integ.cfts3-no-logging.js.snapshot/tree.json +506 -0
  68. package/test/integ.cfts3-no-security-headers.js +5 -1
  69. package/test/integ.cfts3-no-security-headers.js.snapshot/asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4/index.js +1 -0
  70. package/test/integ.cfts3-no-security-headers.js.snapshot/cfts3-no-security-headers.assets.json +5 -5
  71. package/test/integ.cfts3-no-security-headers.js.snapshot/cfts3-no-security-headers.template.json +1 -8
  72. package/test/integ.cfts3-no-security-headers.js.snapshot/manifest.json +1 -1
  73. package/test/integ.cfts3-no-security-headers.js.snapshot/tree.json +44 -51
  74. package/test/test.cloudfront-s3.test.js +288 -52
  75. package/test/integ.cfts3-bucket-with-http-origin.js +0 -47
  76. package/test/integ.cfts3-custom-headers.js.snapshot/asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6/index.js +0 -1
  77. package/test/integ.cfts3-custom-originPath.js.snapshot/asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6/index.js +0 -1
  78. package/test/integ.cfts3-customLoggingBuckets.js.snapshot/asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6/index.js +0 -1
  79. package/test/integ.cfts3-existing-bucket.js.snapshot/asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6/index.js +0 -1
  80. package/test/integ.cfts3-no-arguments.js.snapshot/asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6/index.js +0 -1
  81. package/test/integ.cfts3-no-security-headers.js.snapshot/asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6/index.js +0 -1
  82. /package/test/{integ.cfts3-bucket-with-http-origin.d.ts → integ.cfts3-no-logging.d.ts} +0 -0
@@ -0,0 +1,506 @@
1
+ {
2
+ "version": "tree-0.1",
3
+ "tree": {
4
+ "id": "App",
5
+ "path": "",
6
+ "children": {
7
+ "cfts3-no-logging": {
8
+ "id": "cfts3-no-logging",
9
+ "path": "cfts3-no-logging",
10
+ "children": {
11
+ "test-cloudfront-s3": {
12
+ "id": "test-cloudfront-s3",
13
+ "path": "cfts3-no-logging/test-cloudfront-s3",
14
+ "children": {
15
+ "S3Bucket": {
16
+ "id": "S3Bucket",
17
+ "path": "cfts3-no-logging/test-cloudfront-s3/S3Bucket",
18
+ "children": {
19
+ "Resource": {
20
+ "id": "Resource",
21
+ "path": "cfts3-no-logging/test-cloudfront-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.143.0"
67
+ }
68
+ },
69
+ "Policy": {
70
+ "id": "Policy",
71
+ "path": "cfts3-no-logging/test-cloudfront-s3/S3Bucket/Policy",
72
+ "children": {
73
+ "Resource": {
74
+ "id": "Resource",
75
+ "path": "cfts3-no-logging/test-cloudfront-s3/S3Bucket/Policy/Resource",
76
+ "attributes": {
77
+ "aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy",
78
+ "aws:cdk:cloudformation:props": {
79
+ "bucket": {
80
+ "Ref": "testcloudfronts3S3BucketE0C5F76E"
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
+ "testcloudfronts3S3BucketE0C5F76E",
99
+ "Arn"
100
+ ]
101
+ },
102
+ {
103
+ "Fn::Join": [
104
+ "",
105
+ [
106
+ {
107
+ "Fn::GetAtt": [
108
+ "testcloudfronts3S3BucketE0C5F76E",
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
+ "testcloudfronts3S3BucketE0C5F76E",
138
+ "Arn"
139
+ ]
140
+ },
141
+ {
142
+ "Fn::Join": [
143
+ "",
144
+ [
145
+ {
146
+ "Fn::GetAtt": [
147
+ "testcloudfronts3S3BucketE0C5F76E",
148
+ "Arn"
149
+ ]
150
+ },
151
+ "/*"
152
+ ]
153
+ ]
154
+ }
155
+ ]
156
+ },
157
+ {
158
+ "Action": "s3:GetObject",
159
+ "Condition": {
160
+ "StringEquals": {
161
+ "AWS:SourceArn": {
162
+ "Fn::Join": [
163
+ "",
164
+ [
165
+ "arn:aws:cloudfront::",
166
+ {
167
+ "Ref": "AWS::AccountId"
168
+ },
169
+ ":distribution/",
170
+ {
171
+ "Ref": "testcloudfronts3CloudFrontDistribution0565DEE8"
172
+ }
173
+ ]
174
+ ]
175
+ }
176
+ }
177
+ },
178
+ "Effect": "Allow",
179
+ "Principal": {
180
+ "Service": "cloudfront.amazonaws.com"
181
+ },
182
+ "Resource": {
183
+ "Fn::Join": [
184
+ "",
185
+ [
186
+ {
187
+ "Fn::GetAtt": [
188
+ "testcloudfronts3S3BucketE0C5F76E",
189
+ "Arn"
190
+ ]
191
+ },
192
+ "/*"
193
+ ]
194
+ ]
195
+ }
196
+ }
197
+ ],
198
+ "Version": "2012-10-17"
199
+ }
200
+ }
201
+ },
202
+ "constructInfo": {
203
+ "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
204
+ "version": "2.143.0"
205
+ }
206
+ }
207
+ },
208
+ "constructInfo": {
209
+ "fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
210
+ "version": "2.143.0"
211
+ }
212
+ },
213
+ "AutoDeleteObjectsCustomResource": {
214
+ "id": "AutoDeleteObjectsCustomResource",
215
+ "path": "cfts3-no-logging/test-cloudfront-s3/S3Bucket/AutoDeleteObjectsCustomResource",
216
+ "children": {
217
+ "Default": {
218
+ "id": "Default",
219
+ "path": "cfts3-no-logging/test-cloudfront-s3/S3Bucket/AutoDeleteObjectsCustomResource/Default",
220
+ "constructInfo": {
221
+ "fqn": "aws-cdk-lib.CfnResource",
222
+ "version": "2.143.0"
223
+ }
224
+ }
225
+ },
226
+ "constructInfo": {
227
+ "fqn": "aws-cdk-lib.CustomResource",
228
+ "version": "2.143.0"
229
+ }
230
+ }
231
+ },
232
+ "constructInfo": {
233
+ "fqn": "aws-cdk-lib.aws_s3.Bucket",
234
+ "version": "2.143.0"
235
+ }
236
+ },
237
+ "SetHttpSecurityHeaders": {
238
+ "id": "SetHttpSecurityHeaders",
239
+ "path": "cfts3-no-logging/test-cloudfront-s3/SetHttpSecurityHeaders",
240
+ "children": {
241
+ "Resource": {
242
+ "id": "Resource",
243
+ "path": "cfts3-no-logging/test-cloudfront-s3/SetHttpSecurityHeaders/Resource",
244
+ "attributes": {
245
+ "aws:cdk:cloudformation:type": "AWS::CloudFront::Function",
246
+ "aws:cdk:cloudformation:props": {
247
+ "autoPublish": true,
248
+ "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; }",
249
+ "functionConfig": {
250
+ "comment": "SetHttpSecurityHeadersc8bdfbb6e2803af376fb302dc008562b2ae50a02bb",
251
+ "runtime": "cloudfront-js-1.0"
252
+ },
253
+ "name": "SetHttpSecurityHeadersc8bdfbb6e2803af376fb302dc008562b2ae50a02bb"
254
+ }
255
+ },
256
+ "constructInfo": {
257
+ "fqn": "aws-cdk-lib.aws_cloudfront.CfnFunction",
258
+ "version": "2.143.0"
259
+ }
260
+ }
261
+ },
262
+ "constructInfo": {
263
+ "fqn": "aws-cdk-lib.aws_cloudfront.Function",
264
+ "version": "2.143.0"
265
+ }
266
+ },
267
+ "CloudFrontOac": {
268
+ "id": "CloudFrontOac",
269
+ "path": "cfts3-no-logging/test-cloudfront-s3/CloudFrontOac",
270
+ "attributes": {
271
+ "aws:cdk:cloudformation:type": "AWS::CloudFront::OriginAccessControl",
272
+ "aws:cdk:cloudformation:props": {
273
+ "originAccessControlConfig": {
274
+ "name": {
275
+ "Fn::Join": [
276
+ "",
277
+ [
278
+ "aws-cloudfront-s3-testnt-s3-",
279
+ {
280
+ "Fn::Select": [
281
+ 2,
282
+ {
283
+ "Fn::Split": [
284
+ "/",
285
+ {
286
+ "Ref": "AWS::StackId"
287
+ }
288
+ ]
289
+ }
290
+ ]
291
+ }
292
+ ]
293
+ ]
294
+ },
295
+ "originAccessControlOriginType": "s3",
296
+ "signingBehavior": "always",
297
+ "signingProtocol": "sigv4",
298
+ "description": "Origin access control provisioned by aws-cloudfront-s3"
299
+ }
300
+ }
301
+ },
302
+ "constructInfo": {
303
+ "fqn": "aws-cdk-lib.aws_cloudfront.CfnOriginAccessControl",
304
+ "version": "2.143.0"
305
+ }
306
+ },
307
+ "CloudFrontDistribution": {
308
+ "id": "CloudFrontDistribution",
309
+ "path": "cfts3-no-logging/test-cloudfront-s3/CloudFrontDistribution",
310
+ "children": {
311
+ "Origin1": {
312
+ "id": "Origin1",
313
+ "path": "cfts3-no-logging/test-cloudfront-s3/CloudFrontDistribution/Origin1",
314
+ "constructInfo": {
315
+ "fqn": "constructs.Construct",
316
+ "version": "10.3.0"
317
+ }
318
+ },
319
+ "Resource": {
320
+ "id": "Resource",
321
+ "path": "cfts3-no-logging/test-cloudfront-s3/CloudFrontDistribution/Resource",
322
+ "attributes": {
323
+ "aws:cdk:cloudformation:type": "AWS::CloudFront::Distribution",
324
+ "aws:cdk:cloudformation:props": {
325
+ "distributionConfig": {
326
+ "enabled": true,
327
+ "origins": [
328
+ {
329
+ "domainName": {
330
+ "Fn::GetAtt": [
331
+ "testcloudfronts3S3BucketE0C5F76E",
332
+ "RegionalDomainName"
333
+ ]
334
+ },
335
+ "id": "cfts3nologgingtestcloudfronts3CloudFrontDistributionOrigin1C951FD12",
336
+ "s3OriginConfig": {
337
+ "originAccessIdentity": ""
338
+ }
339
+ }
340
+ ],
341
+ "defaultCacheBehavior": {
342
+ "pathPattern": "*",
343
+ "targetOriginId": "cfts3nologgingtestcloudfronts3CloudFrontDistributionOrigin1C951FD12",
344
+ "cachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6",
345
+ "compress": true,
346
+ "viewerProtocolPolicy": "redirect-to-https",
347
+ "functionAssociations": [
348
+ {
349
+ "functionArn": {
350
+ "Fn::GetAtt": [
351
+ "testcloudfronts3SetHttpSecurityHeaders6C5A1E69",
352
+ "FunctionARN"
353
+ ]
354
+ },
355
+ "eventType": "viewer-response"
356
+ }
357
+ ]
358
+ },
359
+ "defaultRootObject": "index.html",
360
+ "httpVersion": "http2",
361
+ "ipv6Enabled": true
362
+ }
363
+ }
364
+ },
365
+ "constructInfo": {
366
+ "fqn": "aws-cdk-lib.aws_cloudfront.CfnDistribution",
367
+ "version": "2.143.0"
368
+ }
369
+ }
370
+ },
371
+ "constructInfo": {
372
+ "fqn": "aws-cdk-lib.aws_cloudfront.Distribution",
373
+ "version": "2.143.0"
374
+ }
375
+ }
376
+ },
377
+ "constructInfo": {
378
+ "fqn": "@aws-solutions-constructs/aws-cloudfront-s3.CloudFrontToS3",
379
+ "version": "2.58.1"
380
+ }
381
+ },
382
+ "Custom::S3AutoDeleteObjectsCustomResourceProvider": {
383
+ "id": "Custom::S3AutoDeleteObjectsCustomResourceProvider",
384
+ "path": "cfts3-no-logging/Custom::S3AutoDeleteObjectsCustomResourceProvider",
385
+ "children": {
386
+ "Staging": {
387
+ "id": "Staging",
388
+ "path": "cfts3-no-logging/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging",
389
+ "constructInfo": {
390
+ "fqn": "aws-cdk-lib.AssetStaging",
391
+ "version": "2.143.0"
392
+ }
393
+ },
394
+ "Role": {
395
+ "id": "Role",
396
+ "path": "cfts3-no-logging/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role",
397
+ "constructInfo": {
398
+ "fqn": "aws-cdk-lib.CfnResource",
399
+ "version": "2.143.0"
400
+ }
401
+ },
402
+ "Handler": {
403
+ "id": "Handler",
404
+ "path": "cfts3-no-logging/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler",
405
+ "constructInfo": {
406
+ "fqn": "aws-cdk-lib.CfnResource",
407
+ "version": "2.143.0"
408
+ }
409
+ }
410
+ },
411
+ "constructInfo": {
412
+ "fqn": "aws-cdk-lib.CustomResourceProviderBase",
413
+ "version": "2.143.0"
414
+ }
415
+ },
416
+ "Integ": {
417
+ "id": "Integ",
418
+ "path": "cfts3-no-logging/Integ",
419
+ "children": {
420
+ "DefaultTest": {
421
+ "id": "DefaultTest",
422
+ "path": "cfts3-no-logging/Integ/DefaultTest",
423
+ "children": {
424
+ "Default": {
425
+ "id": "Default",
426
+ "path": "cfts3-no-logging/Integ/DefaultTest/Default",
427
+ "constructInfo": {
428
+ "fqn": "constructs.Construct",
429
+ "version": "10.3.0"
430
+ }
431
+ },
432
+ "DeployAssert": {
433
+ "id": "DeployAssert",
434
+ "path": "cfts3-no-logging/Integ/DefaultTest/DeployAssert",
435
+ "children": {
436
+ "BootstrapVersion": {
437
+ "id": "BootstrapVersion",
438
+ "path": "cfts3-no-logging/Integ/DefaultTest/DeployAssert/BootstrapVersion",
439
+ "constructInfo": {
440
+ "fqn": "aws-cdk-lib.CfnParameter",
441
+ "version": "2.143.0"
442
+ }
443
+ },
444
+ "CheckBootstrapVersion": {
445
+ "id": "CheckBootstrapVersion",
446
+ "path": "cfts3-no-logging/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion",
447
+ "constructInfo": {
448
+ "fqn": "aws-cdk-lib.CfnRule",
449
+ "version": "2.143.0"
450
+ }
451
+ }
452
+ },
453
+ "constructInfo": {
454
+ "fqn": "aws-cdk-lib.Stack",
455
+ "version": "2.143.0"
456
+ }
457
+ }
458
+ },
459
+ "constructInfo": {
460
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase",
461
+ "version": "2.143.0-alpha.0"
462
+ }
463
+ }
464
+ },
465
+ "constructInfo": {
466
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTest",
467
+ "version": "2.143.0-alpha.0"
468
+ }
469
+ },
470
+ "BootstrapVersion": {
471
+ "id": "BootstrapVersion",
472
+ "path": "cfts3-no-logging/BootstrapVersion",
473
+ "constructInfo": {
474
+ "fqn": "aws-cdk-lib.CfnParameter",
475
+ "version": "2.143.0"
476
+ }
477
+ },
478
+ "CheckBootstrapVersion": {
479
+ "id": "CheckBootstrapVersion",
480
+ "path": "cfts3-no-logging/CheckBootstrapVersion",
481
+ "constructInfo": {
482
+ "fqn": "aws-cdk-lib.CfnRule",
483
+ "version": "2.143.0"
484
+ }
485
+ }
486
+ },
487
+ "constructInfo": {
488
+ "fqn": "aws-cdk-lib.Stack",
489
+ "version": "2.143.0"
490
+ }
491
+ },
492
+ "Tree": {
493
+ "id": "Tree",
494
+ "path": "Tree",
495
+ "constructInfo": {
496
+ "fqn": "constructs.Construct",
497
+ "version": "10.3.0"
498
+ }
499
+ }
500
+ },
501
+ "constructInfo": {
502
+ "fqn": "aws-cdk-lib.App",
503
+ "version": "2.143.0"
504
+ }
505
+ }
506
+ }
@@ -36,6 +36,10 @@ const props = {
36
36
  removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
37
37
  autoDeleteObjects: true
38
38
  },
39
+ cloudFrontLoggingBucketAccessLogBucketProps: {
40
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
41
+ autoDeleteObjects: true
42
+ },
39
43
  };
40
44
  new lib_1.CloudFrontToS3(stack, 'test-cloudfront-s3-no-security-headers', props);
41
45
  core_1.suppressCustomHandlerCfnNagWarnings(stack, 'Custom::S3AutoDeleteObjectsCustomResourceProvider');
@@ -43,4 +47,4 @@ core_1.suppressCustomHandlerCfnNagWarnings(stack, 'Custom::S3AutoDeleteObjectsCu
43
47
  new integ_tests_alpha_1.IntegTest(stack, 'Integ', { testCases: [
44
48
  stack
45
49
  ] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuY2Z0czMtbm8tc2VjdXJpdHktaGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLmNmdHMzLW5vLXNlY3VyaXR5LWhlYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILFVBQVU7QUFDViw2Q0FBd0Q7QUFDeEQsZ0NBQTZEO0FBQzdELHlEQUE2RztBQUM3RyxrRUFBdUQ7QUFFdkQsUUFBUTtBQUNSLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsNkJBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNqRSxLQUFLLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyx3Q0FBd0MsQ0FBQztBQUU3RSxjQUFjO0FBQ2QsTUFBTSxLQUFLLEdBQXdCO0lBQ2pDLDRCQUE0QixFQUFFO1FBQzVCLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87UUFDcEMsaUJBQWlCLEVBQUUsSUFBSTtLQUN4QjtJQUNELHlCQUF5QixFQUFFLEtBQUs7SUFDaEMsV0FBVyxFQUFFO1FBQ1gsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztRQUNwQyxpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztRQUNwQyxpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQztBQUVGLElBQUksb0JBQWMsQ0FBQyxLQUFLLEVBQUUsd0NBQXdDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFM0UsMENBQW1DLENBQUMsS0FBSyxFQUFFLG1EQUFtRCxDQUFDLENBQUM7QUFDaEcsUUFBUTtBQUNSLElBQUksNkJBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFO1FBQ3pDLEtBQUs7S0FDTixFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vIEltcG9ydHNcbmltcG9ydCB7IEFwcCwgU3RhY2ssIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENsb3VkRnJvbnRUb1MzLCBDbG91ZEZyb250VG9TM1Byb3BzIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZSwgc3VwcHJlc3NDdXN0b21IYW5kbGVyQ2ZuTmFnV2FybmluZ3MgfSBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0IHsgSW50ZWdUZXN0IH0gZnJvbSAnQGF3cy1jZGsvaW50ZWctdGVzdHMtYWxwaGEnO1xuXG4vLyBTZXR1cFxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCBnZW5lcmF0ZUludGVnU3RhY2tOYW1lKF9fZmlsZW5hbWUpKTtcbnN0YWNrLnRlbXBsYXRlT3B0aW9ucy5kZXNjcmlwdGlvbiA9ICdJbnRlZ3JhdGlvbiBUZXN0IGZvciBhd3MtY2xvdWRmcm9udC1zMyc7XG5cbi8vIERlZmluaXRpb25zXG5jb25zdCBwcm9wczogQ2xvdWRGcm9udFRvUzNQcm9wcyA9IHtcbiAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczoge1xuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZVxuICB9LFxuICBpbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzOiBmYWxzZSxcbiAgYnVja2V0UHJvcHM6IHtcbiAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWVcbiAgfSxcbiAgbG9nZ2luZ0J1Y2tldFByb3BzOiB7XG4gICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlXG4gIH0sXG59O1xuXG5uZXcgQ2xvdWRGcm9udFRvUzMoc3RhY2ssICd0ZXN0LWNsb3VkZnJvbnQtczMtbm8tc2VjdXJpdHktaGVhZGVycycsIHByb3BzKTtcblxuc3VwcHJlc3NDdXN0b21IYW5kbGVyQ2ZuTmFnV2FybmluZ3Moc3RhY2ssICdDdXN0b206OlMzQXV0b0RlbGV0ZU9iamVjdHNDdXN0b21SZXNvdXJjZVByb3ZpZGVyJyk7XG4vLyBTeW50aFxubmV3IEludGVnVGVzdChzdGFjaywgJ0ludGVnJywgeyB0ZXN0Q2FzZXM6IFtcbiAgc3RhY2tcbl0gfSk7XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuY2Z0czMtbm8tc2VjdXJpdHktaGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLmNmdHMzLW5vLXNlY3VyaXR5LWhlYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILFVBQVU7QUFDViw2Q0FBd0Q7QUFDeEQsZ0NBQTZEO0FBQzdELHlEQUE2RztBQUM3RyxrRUFBdUQ7QUFFdkQsUUFBUTtBQUNSLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsNkJBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNqRSxLQUFLLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyx3Q0FBd0MsQ0FBQztBQUU3RSxjQUFjO0FBQ2QsTUFBTSxLQUFLLEdBQXdCO0lBQ2pDLDRCQUE0QixFQUFFO1FBQzVCLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87UUFDcEMsaUJBQWlCLEVBQUUsSUFBSTtLQUN4QjtJQUNELHlCQUF5QixFQUFFLEtBQUs7SUFDaEMsV0FBVyxFQUFFO1FBQ1gsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztRQUNwQyxpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztRQUNwQyxpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0lBQ0QsMkNBQTJDLEVBQUU7UUFDM0MsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztRQUNwQyxpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQztBQUVGLElBQUksb0JBQWMsQ0FBQyxLQUFLLEVBQUUsd0NBQXdDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFM0UsMENBQW1DLENBQUMsS0FBSyxFQUFFLG1EQUFtRCxDQUFDLENBQUM7QUFDaEcsUUFBUTtBQUNSLElBQUksNkJBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFO1FBQ3pDLEtBQUs7S0FDTixFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vIEltcG9ydHNcbmltcG9ydCB7IEFwcCwgU3RhY2ssIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENsb3VkRnJvbnRUb1MzLCBDbG91ZEZyb250VG9TM1Byb3BzIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZSwgc3VwcHJlc3NDdXN0b21IYW5kbGVyQ2ZuTmFnV2FybmluZ3MgfSBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0IHsgSW50ZWdUZXN0IH0gZnJvbSAnQGF3cy1jZGsvaW50ZWctdGVzdHMtYWxwaGEnO1xuXG4vLyBTZXR1cFxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCBnZW5lcmF0ZUludGVnU3RhY2tOYW1lKF9fZmlsZW5hbWUpKTtcbnN0YWNrLnRlbXBsYXRlT3B0aW9ucy5kZXNjcmlwdGlvbiA9ICdJbnRlZ3JhdGlvbiBUZXN0IGZvciBhd3MtY2xvdWRmcm9udC1zMyc7XG5cbi8vIERlZmluaXRpb25zXG5jb25zdCBwcm9wczogQ2xvdWRGcm9udFRvUzNQcm9wcyA9IHtcbiAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczoge1xuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZVxuICB9LFxuICBpbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzOiBmYWxzZSxcbiAgYnVja2V0UHJvcHM6IHtcbiAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWVcbiAgfSxcbiAgbG9nZ2luZ0J1Y2tldFByb3BzOiB7XG4gICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlXG4gIH0sXG4gIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0QWNjZXNzTG9nQnVja2V0UHJvcHM6IHtcbiAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWVcbiAgfSxcbn07XG5cbm5ldyBDbG91ZEZyb250VG9TMyhzdGFjaywgJ3Rlc3QtY2xvdWRmcm9udC1zMy1uby1zZWN1cml0eS1oZWFkZXJzJywgcHJvcHMpO1xuXG5zdXBwcmVzc0N1c3RvbUhhbmRsZXJDZm5OYWdXYXJuaW5ncyhzdGFjaywgJ0N1c3RvbTo6UzNBdXRvRGVsZXRlT2JqZWN0c0N1c3RvbVJlc291cmNlUHJvdmlkZXInKTtcbi8vIFN5bnRoXG5uZXcgSW50ZWdUZXN0KHN0YWNrLCAnSW50ZWcnLCB7IHRlc3RDYXNlczogW1xuICBzdGFja1xuXSB9KTtcbiJdfQ==
@@ -0,0 +1 @@
1
+ "use strict";var I=Object.create,i=Object.defineProperty,C=Object.getOwnPropertyDescriptor,w=Object.getOwnPropertyNames,P=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty,B=(e,t)=>{for(var o in t)i(e,o,{get:t[o],enumerable:!0})},d=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of w(t))!A.call(e,s)&&s!==o&&i(e,s,{get:()=>t[s],enumerable:!(r=C(t,s))||r.enumerable});return e},l=(e,t,o)=>(o=e!=null?I(P(e)):{},d(t||!e||!e.__esModule?i(o,"default",{value:e,enumerable:!0}):o,e)),L=e=>d(i({},"__esModule",{value:!0}),e),q={};B(q,{autoDeleteHandler:()=>S,handler:()=>F}),module.exports=L(q);var h=require("@aws-sdk/client-s3"),y=l(require("https")),m=l(require("url")),a={sendHttpRequest:T,log:O,includeStackTraces:!0,userHandlerIndex:"./index"},p="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",k="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";function R(e){return async(t,o)=>{let r={...t,ResponseURL:"..."};if(a.log(JSON.stringify(r,void 0,2)),t.RequestType==="Delete"&&t.PhysicalResourceId===p){a.log("ignoring DELETE event caused by a failed CREATE event"),await u("SUCCESS",t);return}try{let s=await e(r,o),n=D(t,s);await u("SUCCESS",n)}catch(s){let n={...t,Reason:a.includeStackTraces?s.stack:s.message};n.PhysicalResourceId||(t.RequestType==="Create"?(a.log("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),n.PhysicalResourceId=p):a.log(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify(t)}`)),await u("FAILED",n)}}}function D(e,t={}){let o=t.PhysicalResourceId??e.PhysicalResourceId??e.RequestId;if(e.RequestType==="Delete"&&o!==e.PhysicalResourceId)throw new Error(`DELETE: cannot change the physical resource ID from "${e.PhysicalResourceId}" to "${t.PhysicalResourceId}" during deletion`);return{...e,...t,PhysicalResourceId:o}}async function u(e,t){let o={Status:e,Reason:t.Reason??e,StackId:t.StackId,RequestId:t.RequestId,PhysicalResourceId:t.PhysicalResourceId||k,LogicalResourceId:t.LogicalResourceId,NoEcho:t.NoEcho,Data:t.Data},r=m.parse(t.ResponseURL),s=`${r.protocol}//${r.hostname}/${r.pathname}?***`;a.log("submit response to cloudformation",s,o);let n=JSON.stringify(o),f={hostname:r.hostname,path:r.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(n,"utf8")}};await b({attempts:5,sleep:1e3},a.sendHttpRequest)(f,n)}async function T(e,t){return new Promise((o,r)=>{try{let s=y.request(e,n=>{n.resume(),!n.statusCode||n.statusCode>=400?r(new Error(`Unsuccessful HTTP response: ${n.statusCode}`)):o()});s.on("error",r),s.write(t),s.end()}catch(s){r(s)}})}function O(e,...t){console.log(e,...t)}function b(e,t){return async(...o)=>{let r=e.attempts,s=e.sleep;for(;;)try{return await t(...o)}catch(n){if(r--<=0)throw n;await x(Math.floor(Math.random()*s)),s*=2}}}async function x(e){return new Promise(t=>setTimeout(t,e))}var g="aws-cdk:auto-delete-objects",H=JSON.stringify({Version:"2012-10-17",Statement:[]}),c=new h.S3({}),F=R(S);async function S(e){switch(e.RequestType){case"Create":return;case"Update":return{PhysicalResourceId:(await _(e)).PhysicalResourceId};case"Delete":return W(e.ResourceProperties?.BucketName)}}async function _(e){let t=e,o=t.OldResourceProperties?.BucketName;return{PhysicalResourceId:t.ResourceProperties?.BucketName??o}}async function U(e){try{let t=(await c.getBucketPolicy({Bucket:e}))?.Policy??H,o=JSON.parse(t);o.Statement.push({Principal:"*",Effect:"Deny",Action:["s3:PutObject"],Resource:[`arn:aws:s3:::${e}/*`]}),await c.putBucketPolicy({Bucket:e,Policy:JSON.stringify(o)})}catch(t){if(t.name==="NoSuchBucket")throw t;console.log(`Could not set new object deny policy on bucket '${e}' prior to deletion.`)}}async function E(e){let t=await c.listObjectVersions({Bucket:e}),o=[...t.Versions??[],...t.DeleteMarkers??[]];if(o.length===0)return;let r=o.map(s=>({Key:s.Key,VersionId:s.VersionId}));await c.deleteObjects({Bucket:e,Delete:{Objects:r}}),t?.IsTruncated&&await E(e)}async function W(e){if(!e)throw new Error("No BucketName was provided.");try{if(!await N(e)){console.log(`Bucket does not have '${g}' tag, skipping cleaning.`);return}await U(e),await E(e)}catch(t){if(t.name==="NoSuchBucket"){console.log(`Bucket '${e}' does not exist.`);return}throw t}}async function N(e){return(await c.getBucketTagging({Bucket:e})).TagSet?.some(o=>o.Key===g&&o.Value==="true")}
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "version": "36.0.0",
3
3
  "files": {
4
- "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6": {
4
+ "2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4": {
5
5
  "source": {
6
- "path": "asset.b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6",
6
+ "path": "asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4",
7
7
  "packaging": "zip"
8
8
  },
9
9
  "destinations": {
10
10
  "current_account-current_region": {
11
11
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
12
- "objectKey": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip",
12
+ "objectKey": "2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4.zip",
13
13
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
14
14
  }
15
15
  }
16
16
  },
17
- "04f75b29a2a4245c4ce9571a829a1977064e4e60046c5fe92694ebcb3745523e": {
17
+ "b81bc785d75ef4ac4f26316462e91986864e3a787c96b3f51a61fce507f2d147": {
18
18
  "source": {
19
19
  "path": "cfts3-no-security-headers.template.json",
20
20
  "packaging": "file"
@@ -22,7 +22,7 @@
22
22
  "destinations": {
23
23
  "current_account-current_region": {
24
24
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
25
- "objectKey": "04f75b29a2a4245c4ce9571a829a1977064e4e60046c5fe92694ebcb3745523e.json",
25
+ "objectKey": "b81bc785d75ef4ac4f26316462e91986864e3a787c96b3f51a61fce507f2d147.json",
26
26
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
27
27
  }
28
28
  }
@@ -399,13 +399,6 @@
399
399
  }
400
400
  ]
401
401
  },
402
- "OwnershipControls": {
403
- "Rules": [
404
- {
405
- "ObjectOwnership": "ObjectWriter"
406
- }
407
- ]
408
- },
409
402
  "PublicAccessBlockConfiguration": {
410
403
  "BlockPublicAcls": true,
411
404
  "BlockPublicPolicy": true,
@@ -841,7 +834,7 @@
841
834
  "S3Bucket": {
842
835
  "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
843
836
  },
844
- "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
837
+ "S3Key": "2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4.zip"
845
838
  },
846
839
  "Timeout": 900,
847
840
  "MemorySize": 128,
@@ -66,7 +66,7 @@
66
66
  "validateOnSynth": false,
67
67
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
68
68
  "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
69
- "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/04f75b29a2a4245c4ce9571a829a1977064e4e60046c5fe92694ebcb3745523e.json",
69
+ "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/b81bc785d75ef4ac4f26316462e91986864e3a787c96b3f51a61fce507f2d147.json",
70
70
  "requiresBootstrapStackVersion": 6,
71
71
  "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
72
72
  "additionalDependencies": [