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