@aws-solutions-constructs/aws-cloudfront-s3 2.58.1 → 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
@@ -50,7 +50,7 @@
50
50
  },
51
51
  "constructInfo": {
52
52
  "fqn": "aws-cdk-lib.aws_s3.CfnBucket",
53
- "version": "2.118.0"
53
+ "version": "2.143.0"
54
54
  }
55
55
  },
56
56
  "Policy": {
@@ -184,13 +184,13 @@
184
184
  },
185
185
  "constructInfo": {
186
186
  "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
187
- "version": "2.118.0"
187
+ "version": "2.143.0"
188
188
  }
189
189
  }
190
190
  },
191
191
  "constructInfo": {
192
192
  "fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
193
- "version": "2.118.0"
193
+ "version": "2.143.0"
194
194
  }
195
195
  },
196
196
  "AutoDeleteObjectsCustomResource": {
@@ -202,19 +202,19 @@
202
202
  "path": "cfts3-no-arguments/test-cloudfront-s3/S3LoggingBucket/AutoDeleteObjectsCustomResource/Default",
203
203
  "constructInfo": {
204
204
  "fqn": "aws-cdk-lib.CfnResource",
205
- "version": "2.118.0"
205
+ "version": "2.143.0"
206
206
  }
207
207
  }
208
208
  },
209
209
  "constructInfo": {
210
210
  "fqn": "aws-cdk-lib.CustomResource",
211
- "version": "2.118.0"
211
+ "version": "2.143.0"
212
212
  }
213
213
  }
214
214
  },
215
215
  "constructInfo": {
216
216
  "fqn": "aws-cdk-lib.aws_s3.Bucket",
217
- "version": "2.118.0"
217
+ "version": "2.143.0"
218
218
  }
219
219
  },
220
220
  "S3Bucket": {
@@ -273,7 +273,7 @@
273
273
  },
274
274
  "constructInfo": {
275
275
  "fqn": "aws-cdk-lib.aws_s3.CfnBucket",
276
- "version": "2.118.0"
276
+ "version": "2.143.0"
277
277
  }
278
278
  },
279
279
  "Policy": {
@@ -411,13 +411,13 @@
411
411
  },
412
412
  "constructInfo": {
413
413
  "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
414
- "version": "2.118.0"
414
+ "version": "2.143.0"
415
415
  }
416
416
  }
417
417
  },
418
418
  "constructInfo": {
419
419
  "fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
420
- "version": "2.118.0"
420
+ "version": "2.143.0"
421
421
  }
422
422
  },
423
423
  "AutoDeleteObjectsCustomResource": {
@@ -429,19 +429,19 @@
429
429
  "path": "cfts3-no-arguments/test-cloudfront-s3/S3Bucket/AutoDeleteObjectsCustomResource/Default",
430
430
  "constructInfo": {
431
431
  "fqn": "aws-cdk-lib.CfnResource",
432
- "version": "2.118.0"
432
+ "version": "2.143.0"
433
433
  }
434
434
  }
435
435
  },
436
436
  "constructInfo": {
437
437
  "fqn": "aws-cdk-lib.CustomResource",
438
- "version": "2.118.0"
438
+ "version": "2.143.0"
439
439
  }
440
440
  }
441
441
  },
442
442
  "constructInfo": {
443
443
  "fqn": "aws-cdk-lib.aws_s3.Bucket",
444
- "version": "2.118.0"
444
+ "version": "2.143.0"
445
445
  }
446
446
  },
447
447
  "SetHttpSecurityHeaders": {
@@ -465,13 +465,13 @@
465
465
  },
466
466
  "constructInfo": {
467
467
  "fqn": "aws-cdk-lib.aws_cloudfront.CfnFunction",
468
- "version": "2.118.0"
468
+ "version": "2.143.0"
469
469
  }
470
470
  }
471
471
  },
472
472
  "constructInfo": {
473
473
  "fqn": "aws-cdk-lib.aws_cloudfront.Function",
474
- "version": "2.118.0"
474
+ "version": "2.143.0"
475
475
  }
476
476
  },
477
477
  "CloudfrontLoggingBucketAccessLog": {
@@ -493,13 +493,6 @@
493
493
  }
494
494
  ]
495
495
  },
496
- "ownershipControls": {
497
- "rules": [
498
- {
499
- "objectOwnership": "ObjectWriter"
500
- }
501
- ]
502
- },
503
496
  "publicAccessBlockConfiguration": {
504
497
  "blockPublicAcls": true,
505
498
  "blockPublicPolicy": true,
@@ -519,7 +512,7 @@
519
512
  },
520
513
  "constructInfo": {
521
514
  "fqn": "aws-cdk-lib.aws_s3.CfnBucket",
522
- "version": "2.118.0"
515
+ "version": "2.143.0"
523
516
  }
524
517
  },
525
518
  "Policy": {
@@ -653,13 +646,13 @@
653
646
  },
654
647
  "constructInfo": {
655
648
  "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
656
- "version": "2.118.0"
649
+ "version": "2.143.0"
657
650
  }
658
651
  }
659
652
  },
660
653
  "constructInfo": {
661
654
  "fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
662
- "version": "2.118.0"
655
+ "version": "2.143.0"
663
656
  }
664
657
  },
665
658
  "AutoDeleteObjectsCustomResource": {
@@ -671,19 +664,19 @@
671
664
  "path": "cfts3-no-arguments/test-cloudfront-s3/CloudfrontLoggingBucketAccessLog/AutoDeleteObjectsCustomResource/Default",
672
665
  "constructInfo": {
673
666
  "fqn": "aws-cdk-lib.CfnResource",
674
- "version": "2.118.0"
667
+ "version": "2.143.0"
675
668
  }
676
669
  }
677
670
  },
678
671
  "constructInfo": {
679
672
  "fqn": "aws-cdk-lib.CustomResource",
680
- "version": "2.118.0"
673
+ "version": "2.143.0"
681
674
  }
682
675
  }
683
676
  },
684
677
  "constructInfo": {
685
678
  "fqn": "aws-cdk-lib.aws_s3.Bucket",
686
- "version": "2.118.0"
679
+ "version": "2.143.0"
687
680
  }
688
681
  },
689
682
  "CloudfrontLoggingBucket": {
@@ -736,7 +729,7 @@
736
729
  },
737
730
  "constructInfo": {
738
731
  "fqn": "aws-cdk-lib.aws_s3.CfnBucket",
739
- "version": "2.118.0"
732
+ "version": "2.143.0"
740
733
  }
741
734
  },
742
735
  "Policy": {
@@ -834,13 +827,13 @@
834
827
  },
835
828
  "constructInfo": {
836
829
  "fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
837
- "version": "2.118.0"
830
+ "version": "2.143.0"
838
831
  }
839
832
  }
840
833
  },
841
834
  "constructInfo": {
842
835
  "fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
843
- "version": "2.118.0"
836
+ "version": "2.143.0"
844
837
  }
845
838
  },
846
839
  "AutoDeleteObjectsCustomResource": {
@@ -852,19 +845,19 @@
852
845
  "path": "cfts3-no-arguments/test-cloudfront-s3/CloudfrontLoggingBucket/AutoDeleteObjectsCustomResource/Default",
853
846
  "constructInfo": {
854
847
  "fqn": "aws-cdk-lib.CfnResource",
855
- "version": "2.118.0"
848
+ "version": "2.143.0"
856
849
  }
857
850
  }
858
851
  },
859
852
  "constructInfo": {
860
853
  "fqn": "aws-cdk-lib.CustomResource",
861
- "version": "2.118.0"
854
+ "version": "2.143.0"
862
855
  }
863
856
  }
864
857
  },
865
858
  "constructInfo": {
866
859
  "fqn": "aws-cdk-lib.aws_s3.Bucket",
867
- "version": "2.118.0"
860
+ "version": "2.143.0"
868
861
  }
869
862
  },
870
863
  "CloudFrontOac": {
@@ -904,7 +897,7 @@
904
897
  },
905
898
  "constructInfo": {
906
899
  "fqn": "aws-cdk-lib.aws_cloudfront.CfnOriginAccessControl",
907
- "version": "2.118.0"
900
+ "version": "2.143.0"
908
901
  }
909
902
  },
910
903
  "CloudFrontDistribution": {
@@ -916,7 +909,7 @@
916
909
  "path": "cfts3-no-arguments/test-cloudfront-s3/CloudFrontDistribution/Origin1",
917
910
  "constructInfo": {
918
911
  "fqn": "constructs.Construct",
919
- "version": "10.0.0"
912
+ "version": "10.3.0"
920
913
  }
921
914
  },
922
915
  "Resource": {
@@ -975,19 +968,19 @@
975
968
  },
976
969
  "constructInfo": {
977
970
  "fqn": "aws-cdk-lib.aws_cloudfront.CfnDistribution",
978
- "version": "2.118.0"
971
+ "version": "2.143.0"
979
972
  }
980
973
  }
981
974
  },
982
975
  "constructInfo": {
983
976
  "fqn": "aws-cdk-lib.aws_cloudfront.Distribution",
984
- "version": "2.118.0"
977
+ "version": "2.143.0"
985
978
  }
986
979
  }
987
980
  },
988
981
  "constructInfo": {
989
982
  "fqn": "@aws-solutions-constructs/aws-cloudfront-s3.CloudFrontToS3",
990
- "version": "2.50.0"
983
+ "version": "2.58.1"
991
984
  }
992
985
  },
993
986
  "Custom::S3AutoDeleteObjectsCustomResourceProvider": {
@@ -999,7 +992,7 @@
999
992
  "path": "cfts3-no-arguments/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging",
1000
993
  "constructInfo": {
1001
994
  "fqn": "aws-cdk-lib.AssetStaging",
1002
- "version": "2.118.0"
995
+ "version": "2.143.0"
1003
996
  }
1004
997
  },
1005
998
  "Role": {
@@ -1007,7 +1000,7 @@
1007
1000
  "path": "cfts3-no-arguments/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role",
1008
1001
  "constructInfo": {
1009
1002
  "fqn": "aws-cdk-lib.CfnResource",
1010
- "version": "2.118.0"
1003
+ "version": "2.143.0"
1011
1004
  }
1012
1005
  },
1013
1006
  "Handler": {
@@ -1015,13 +1008,13 @@
1015
1008
  "path": "cfts3-no-arguments/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler",
1016
1009
  "constructInfo": {
1017
1010
  "fqn": "aws-cdk-lib.CfnResource",
1018
- "version": "2.118.0"
1011
+ "version": "2.143.0"
1019
1012
  }
1020
1013
  }
1021
1014
  },
1022
1015
  "constructInfo": {
1023
1016
  "fqn": "aws-cdk-lib.CustomResourceProviderBase",
1024
- "version": "2.118.0"
1017
+ "version": "2.143.0"
1025
1018
  }
1026
1019
  },
1027
1020
  "Integ": {
@@ -1037,7 +1030,7 @@
1037
1030
  "path": "cfts3-no-arguments/Integ/DefaultTest/Default",
1038
1031
  "constructInfo": {
1039
1032
  "fqn": "constructs.Construct",
1040
- "version": "10.0.0"
1033
+ "version": "10.3.0"
1041
1034
  }
1042
1035
  },
1043
1036
  "DeployAssert": {
@@ -1049,7 +1042,7 @@
1049
1042
  "path": "cfts3-no-arguments/Integ/DefaultTest/DeployAssert/BootstrapVersion",
1050
1043
  "constructInfo": {
1051
1044
  "fqn": "aws-cdk-lib.CfnParameter",
1052
- "version": "2.118.0"
1045
+ "version": "2.143.0"
1053
1046
  }
1054
1047
  },
1055
1048
  "CheckBootstrapVersion": {
@@ -1057,25 +1050,25 @@
1057
1050
  "path": "cfts3-no-arguments/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion",
1058
1051
  "constructInfo": {
1059
1052
  "fqn": "aws-cdk-lib.CfnRule",
1060
- "version": "2.118.0"
1053
+ "version": "2.143.0"
1061
1054
  }
1062
1055
  }
1063
1056
  },
1064
1057
  "constructInfo": {
1065
1058
  "fqn": "aws-cdk-lib.Stack",
1066
- "version": "2.118.0"
1059
+ "version": "2.143.0"
1067
1060
  }
1068
1061
  }
1069
1062
  },
1070
1063
  "constructInfo": {
1071
1064
  "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase",
1072
- "version": "2.118.0-alpha.0"
1065
+ "version": "2.143.0-alpha.0"
1073
1066
  }
1074
1067
  }
1075
1068
  },
1076
1069
  "constructInfo": {
1077
1070
  "fqn": "@aws-cdk/integ-tests-alpha.IntegTest",
1078
- "version": "2.118.0-alpha.0"
1071
+ "version": "2.143.0-alpha.0"
1079
1072
  }
1080
1073
  },
1081
1074
  "BootstrapVersion": {
@@ -1083,7 +1076,7 @@
1083
1076
  "path": "cfts3-no-arguments/BootstrapVersion",
1084
1077
  "constructInfo": {
1085
1078
  "fqn": "aws-cdk-lib.CfnParameter",
1086
- "version": "2.118.0"
1079
+ "version": "2.143.0"
1087
1080
  }
1088
1081
  },
1089
1082
  "CheckBootstrapVersion": {
@@ -1091,13 +1084,13 @@
1091
1084
  "path": "cfts3-no-arguments/CheckBootstrapVersion",
1092
1085
  "constructInfo": {
1093
1086
  "fqn": "aws-cdk-lib.CfnRule",
1094
- "version": "2.118.0"
1087
+ "version": "2.143.0"
1095
1088
  }
1096
1089
  }
1097
1090
  },
1098
1091
  "constructInfo": {
1099
1092
  "fqn": "aws-cdk-lib.Stack",
1100
- "version": "2.118.0"
1093
+ "version": "2.143.0"
1101
1094
  }
1102
1095
  },
1103
1096
  "Tree": {
@@ -1105,13 +1098,13 @@
1105
1098
  "path": "Tree",
1106
1099
  "constructInfo": {
1107
1100
  "fqn": "constructs.Construct",
1108
- "version": "10.0.0"
1101
+ "version": "10.3.0"
1109
1102
  }
1110
1103
  }
1111
1104
  },
1112
1105
  "constructInfo": {
1113
1106
  "fqn": "aws-cdk-lib.App",
1114
- "version": "2.118.0"
1107
+ "version": "2.143.0"
1115
1108
  }
1116
1109
  }
1117
1110
  }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
6
+ * with the License. A copy of the License is located at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
11
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
12
+ * and limitations under the License.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ // Imports
16
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
17
+ const lib_1 = require("../lib");
18
+ const core_1 = require("@aws-solutions-constructs/core");
19
+ const integ_tests_alpha_1 = require("@aws-cdk/integ-tests-alpha");
20
+ const defaults = require("@aws-solutions-constructs/core");
21
+ // Setup
22
+ const app = new aws_cdk_lib_1.App();
23
+ const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
24
+ stack.templateOptions.description = 'Integration Test for aws-cloudfront-s3';
25
+ const construct = new lib_1.CloudFrontToS3(stack, 'test-cloudfront-s3', {
26
+ logS3AccessLogs: false,
27
+ cloudFrontDistributionProps: {
28
+ enableLogging: false
29
+ },
30
+ cloudFrontLoggingBucketProps: {
31
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
32
+ autoDeleteObjects: true
33
+ },
34
+ bucketProps: {
35
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
36
+ autoDeleteObjects: true
37
+ }
38
+ });
39
+ defaults.addCfnSuppressRules(construct.cloudFrontWebDistribution, [
40
+ { id: 'W10',
41
+ reason: 'Test case only' },
42
+ ]);
43
+ defaults.addCfnSuppressRules(construct.s3Bucket, [
44
+ { id: 'W35',
45
+ reason: 'Test case only' },
46
+ ]);
47
+ defaults.addCfnSuppressRules(construct.cloudFrontWebDistribution, [
48
+ { id: 'W35',
49
+ reason: 'Test case only' },
50
+ ]);
51
+ defaults.suppressCustomHandlerCfnNagWarnings(stack, 'Custom::S3AutoDeleteObjectsCustomResourceProvider');
52
+ // Synth
53
+ new integ_tests_alpha_1.IntegTest(stack, 'Integ', { testCases: [
54
+ stack
55
+ ] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuY2Z0czMtbm8tbG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLmNmdHMzLW5vLWxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILFVBQVU7QUFDViw2Q0FBd0Q7QUFDeEQsZ0NBQXdDO0FBQ3hDLHlEQUF3RTtBQUN4RSxrRUFBdUQ7QUFDdkQsMkRBQTJEO0FBRTNELFFBQVE7QUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLDZCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDakUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsd0NBQXdDLENBQUM7QUFFN0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxvQkFBYyxDQUFDLEtBQUssRUFBRSxvQkFBb0IsRUFBRTtJQUNoRSxlQUFlLEVBQUUsS0FBSztJQUN0QiwyQkFBMkIsRUFBRTtRQUMzQixhQUFhLEVBQUUsS0FBSztLQUNyQjtJQUNELDRCQUE0QixFQUFFO1FBQzVCLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87UUFDcEMsaUJBQWlCLEVBQUUsSUFBSTtLQUN4QjtJQUNELFdBQVcsRUFBRTtRQUNYLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87UUFDcEMsaUJBQWlCLEVBQUUsSUFBSTtLQUN4QjtDQUNGLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMseUJBQXlCLEVBQUU7SUFDaEUsRUFBRSxFQUFFLEVBQUUsS0FBSztRQUNULE1BQU0sRUFBRSxnQkFBZ0IsRUFBRTtDQUM3QixDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLFFBQVMsRUFBRTtJQUNoRCxFQUFFLEVBQUUsRUFBRSxLQUFLO1FBQ1QsTUFBTSxFQUFFLGdCQUFnQixFQUFFO0NBQzdCLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMseUJBQXlCLEVBQUU7SUFDaEUsRUFBRSxFQUFFLEVBQUUsS0FBSztRQUNULE1BQU0sRUFBRSxnQkFBZ0IsRUFBRTtDQUM3QixDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMsbUNBQW1DLENBQUMsS0FBSyxFQUFFLG1EQUFtRCxDQUFDLENBQUM7QUFDekcsUUFBUTtBQUNSLElBQUksNkJBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFO1FBQ3pDLEtBQUs7S0FDTixFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vIEltcG9ydHNcbmltcG9ydCB7IEFwcCwgU3RhY2ssIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENsb3VkRnJvbnRUb1MzIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZSB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5pbXBvcnQgeyBJbnRlZ1Rlc3QgfSBmcm9tICdAYXdzLWNkay9pbnRlZy10ZXN0cy1hbHBoYSc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuXG4vLyBTZXR1cFxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCBnZW5lcmF0ZUludGVnU3RhY2tOYW1lKF9fZmlsZW5hbWUpKTtcbnN0YWNrLnRlbXBsYXRlT3B0aW9ucy5kZXNjcmlwdGlvbiA9ICdJbnRlZ3JhdGlvbiBUZXN0IGZvciBhd3MtY2xvdWRmcm9udC1zMyc7XG5cbmNvbnN0IGNvbnN0cnVjdCA9IG5ldyBDbG91ZEZyb250VG9TMyhzdGFjaywgJ3Rlc3QtY2xvdWRmcm9udC1zMycsIHtcbiAgbG9nUzNBY2Nlc3NMb2dzOiBmYWxzZSxcbiAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiB7XG4gICAgZW5hYmxlTG9nZ2luZzogZmFsc2VcbiAgfSxcbiAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczoge1xuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZVxuICB9LFxuICBidWNrZXRQcm9wczoge1xuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZVxuICB9XG59KTtcblxuZGVmYXVsdHMuYWRkQ2ZuU3VwcHJlc3NSdWxlcyhjb25zdHJ1Y3QuY2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbiwgW1xuICB7IGlkOiAnVzEwJyxcbiAgICByZWFzb246ICdUZXN0IGNhc2Ugb25seScgfSxcbl0pO1xuXG5kZWZhdWx0cy5hZGRDZm5TdXBwcmVzc1J1bGVzKGNvbnN0cnVjdC5zM0J1Y2tldCEsIFtcbiAgeyBpZDogJ1czNScsXG4gICAgcmVhc29uOiAnVGVzdCBjYXNlIG9ubHknIH0sXG5dKTtcblxuZGVmYXVsdHMuYWRkQ2ZuU3VwcHJlc3NSdWxlcyhjb25zdHJ1Y3QuY2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbiwgW1xuICB7IGlkOiAnVzM1JyxcbiAgICByZWFzb246ICdUZXN0IGNhc2Ugb25seScgfSxcbl0pO1xuXG5kZWZhdWx0cy5zdXBwcmVzc0N1c3RvbUhhbmRsZXJDZm5OYWdXYXJuaW5ncyhzdGFjaywgJ0N1c3RvbTo6UzNBdXRvRGVsZXRlT2JqZWN0c0N1c3RvbVJlc291cmNlUHJvdmlkZXInKTtcbi8vIFN5bnRoXG5uZXcgSW50ZWdUZXN0KHN0YWNrLCAnSW50ZWcnLCB7IHRlc3RDYXNlczogW1xuICBzdGFja1xuXSB9KTtcbiJdfQ==
@@ -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")}
@@ -0,0 +1 @@
1
+ {"version":"36.0.0"}
@@ -0,0 +1,32 @@
1
+ {
2
+ "version": "36.0.0",
3
+ "files": {
4
+ "2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4": {
5
+ "source": {
6
+ "path": "asset.2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4",
7
+ "packaging": "zip"
8
+ },
9
+ "destinations": {
10
+ "current_account-current_region": {
11
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
12
+ "objectKey": "2eb6a831b107939f63cfebf68e6316e1a40f79fc99cae0fee9b333bac8d29bc4.zip",
13
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
14
+ }
15
+ }
16
+ },
17
+ "4c525710315524310fe48071370bc56910286d917d2220bd18ba5eb8289bea35": {
18
+ "source": {
19
+ "path": "cfts3-no-logging.template.json",
20
+ "packaging": "file"
21
+ },
22
+ "destinations": {
23
+ "current_account-current_region": {
24
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
25
+ "objectKey": "4c525710315524310fe48071370bc56910286d917d2220bd18ba5eb8289bea35.json",
26
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
27
+ }
28
+ }
29
+ }
30
+ },
31
+ "dockerImages": {}
32
+ }