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