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