aws-cdk-lib 2.51.0 → 2.51.1

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 (883) hide show
  1. package/.jsii.gz +0 -0
  2. package/alexa-ask/lib/ask.generated.js +1 -1
  3. package/assertions/lib/annotations.js +1 -1
  4. package/assertions/lib/capture.js +1 -1
  5. package/assertions/lib/match.js +1 -1
  6. package/assertions/lib/matcher.js +1 -1
  7. package/assertions/lib/template.js +1 -1
  8. package/assets/lib/staging.js +1 -1
  9. package/aws-accessanalyzer/lib/accessanalyzer.generated.js +1 -1
  10. package/aws-acmpca/lib/acmpca.generated.js +1 -1
  11. package/aws-acmpca/lib/certificate-authority.js +1 -1
  12. package/aws-amazonmq/lib/amazonmq.generated.js +1 -1
  13. package/aws-amplify/lib/amplify.generated.js +1 -1
  14. package/aws-amplifyuibuilder/lib/amplifyuibuilder.generated.js +1 -1
  15. package/aws-apigateway/lib/access-log.js +1 -1
  16. package/aws-apigateway/lib/api-definition.js +1 -1
  17. package/aws-apigateway/lib/api-key.js +1 -1
  18. package/aws-apigateway/lib/apigateway.generated.js +1 -1
  19. package/aws-apigateway/lib/apigatewayv2.js +1 -1
  20. package/aws-apigateway/lib/authorizer.js +1 -1
  21. package/aws-apigateway/lib/authorizers/cognito.js +1 -1
  22. package/aws-apigateway/lib/authorizers/identity-source.js +1 -1
  23. package/aws-apigateway/lib/authorizers/lambda.js +1 -1
  24. package/aws-apigateway/lib/base-path-mapping.js +1 -1
  25. package/aws-apigateway/lib/cors.js +1 -1
  26. package/aws-apigateway/lib/deployment.js +1 -1
  27. package/aws-apigateway/lib/domain-name.js +1 -1
  28. package/aws-apigateway/lib/gateway-response.js +1 -1
  29. package/aws-apigateway/lib/integration.js +1 -1
  30. package/aws-apigateway/lib/integrations/aws.js +1 -1
  31. package/aws-apigateway/lib/integrations/http.js +1 -1
  32. package/aws-apigateway/lib/integrations/lambda.js +1 -1
  33. package/aws-apigateway/lib/integrations/mock.js +1 -1
  34. package/aws-apigateway/lib/integrations/stepfunctions.js +1 -1
  35. package/aws-apigateway/lib/lambda-api.js +1 -1
  36. package/aws-apigateway/lib/method.js +1 -1
  37. package/aws-apigateway/lib/model.js +1 -1
  38. package/aws-apigateway/lib/requestvalidator.js +1 -1
  39. package/aws-apigateway/lib/resource.js +1 -1
  40. package/aws-apigateway/lib/restapi.js +1 -1
  41. package/aws-apigateway/lib/stage.js +1 -1
  42. package/aws-apigateway/lib/stepfunctions-api.js +1 -1
  43. package/aws-apigateway/lib/usage-plan.js +1 -1
  44. package/aws-apigateway/lib/vpc-link.js +1 -1
  45. package/aws-apigatewayv2/lib/apigatewayv2.generated.js +1 -1
  46. package/aws-appconfig/lib/appconfig.generated.js +1 -1
  47. package/aws-appflow/lib/appflow.generated.js +1 -1
  48. package/aws-appintegrations/lib/appintegrations.generated.js +1 -1
  49. package/aws-applicationautoscaling/lib/applicationautoscaling.generated.js +1 -1
  50. package/aws-applicationautoscaling/lib/base-scalable-attribute.js +1 -1
  51. package/aws-applicationautoscaling/lib/scalable-target.js +1 -1
  52. package/aws-applicationautoscaling/lib/schedule.js +1 -1
  53. package/aws-applicationautoscaling/lib/step-scaling-action.js +1 -1
  54. package/aws-applicationautoscaling/lib/step-scaling-policy.js +1 -1
  55. package/aws-applicationautoscaling/lib/target-tracking-scaling-policy.js +1 -1
  56. package/aws-applicationinsights/lib/applicationinsights.generated.js +1 -1
  57. package/aws-appmesh/lib/appmesh.generated.js +1 -1
  58. package/aws-appmesh/lib/gateway-route-spec.js +1 -1
  59. package/aws-appmesh/lib/gateway-route.js +1 -1
  60. package/aws-appmesh/lib/header-match.js +1 -1
  61. package/aws-appmesh/lib/health-checks.js +1 -1
  62. package/aws-appmesh/lib/http-route-path-match.js +1 -1
  63. package/aws-appmesh/lib/mesh.js +1 -1
  64. package/aws-appmesh/lib/query-parameter-match.js +1 -1
  65. package/aws-appmesh/lib/route-spec.js +1 -1
  66. package/aws-appmesh/lib/route.js +1 -1
  67. package/aws-appmesh/lib/service-discovery.js +1 -1
  68. package/aws-appmesh/lib/shared-interfaces.js +1 -1
  69. package/aws-appmesh/lib/tls-certificate.js +1 -1
  70. package/aws-appmesh/lib/tls-validation.js +1 -1
  71. package/aws-appmesh/lib/virtual-gateway-listener.js +1 -1
  72. package/aws-appmesh/lib/virtual-gateway.js +1 -1
  73. package/aws-appmesh/lib/virtual-node-listener.js +1 -1
  74. package/aws-appmesh/lib/virtual-node.js +1 -1
  75. package/aws-appmesh/lib/virtual-router-listener.js +1 -1
  76. package/aws-appmesh/lib/virtual-router.js +1 -1
  77. package/aws-appmesh/lib/virtual-service.js +1 -1
  78. package/aws-apprunner/lib/apprunner.generated.js +1 -1
  79. package/aws-appstream/lib/appstream.generated.js +1 -1
  80. package/aws-appsync/lib/appsync.generated.js +1 -1
  81. package/aws-aps/lib/aps.generated.js +1 -1
  82. package/aws-athena/lib/athena.generated.js +1 -1
  83. package/aws-auditmanager/lib/auditmanager.generated.js +1 -1
  84. package/aws-autoscaling/lib/aspects/require-imdsv2-aspect.js +1 -1
  85. package/aws-autoscaling/lib/auto-scaling-group.js +1 -1
  86. package/aws-autoscaling/lib/autoscaling.generated.js +1 -1
  87. package/aws-autoscaling/lib/lifecycle-hook.js +1 -1
  88. package/aws-autoscaling/lib/schedule.js +1 -1
  89. package/aws-autoscaling/lib/scheduled-action.js +1 -1
  90. package/aws-autoscaling/lib/step-scaling-action.js +1 -1
  91. package/aws-autoscaling/lib/step-scaling-policy.js +1 -1
  92. package/aws-autoscaling/lib/target-tracking-scaling-policy.js +1 -1
  93. package/aws-autoscaling/lib/volume.js +1 -1
  94. package/aws-autoscaling/lib/warm-pool.js +1 -1
  95. package/aws-autoscaling-hooktargets/lib/lambda-hook.js +1 -1
  96. package/aws-autoscaling-hooktargets/lib/queue-hook.js +1 -1
  97. package/aws-autoscaling-hooktargets/lib/topic-hook.js +1 -1
  98. package/aws-autoscalingplans/lib/autoscalingplans.generated.js +1 -1
  99. package/aws-backup/lib/backup.generated.js +1 -1
  100. package/aws-backup/lib/plan.js +1 -1
  101. package/aws-backup/lib/resource.js +1 -1
  102. package/aws-backup/lib/rule.js +1 -1
  103. package/aws-backup/lib/selection.js +1 -1
  104. package/aws-backup/lib/vault.js +1 -1
  105. package/aws-batch/lib/batch.generated.js +1 -1
  106. package/aws-billingconductor/lib/billingconductor.generated.js +1 -1
  107. package/aws-budgets/lib/budgets.generated.js +1 -1
  108. package/aws-cassandra/lib/cassandra.generated.js +1 -1
  109. package/aws-ce/lib/ce.generated.js +1 -1
  110. package/aws-certificatemanager/lib/certificate.js +1 -1
  111. package/aws-certificatemanager/lib/certificatemanager.generated.js +1 -1
  112. package/aws-certificatemanager/lib/dns-validated-certificate.js +1 -1
  113. package/aws-certificatemanager/lib/private-certificate.js +1 -1
  114. package/aws-chatbot/lib/chatbot.generated.js +1 -1
  115. package/aws-chatbot/lib/slack-channel-configuration.js +1 -1
  116. package/aws-cloud9/lib/cloud9.generated.js +1 -1
  117. package/aws-cloudformation/lib/cloudformation.generated.js +1 -1
  118. package/aws-cloudformation/lib/custom-resource.js +1 -1
  119. package/aws-cloudformation/lib/nested-stack.js +1 -1
  120. package/aws-cloudfront/lib/cache-policy.js +1 -1
  121. package/aws-cloudfront/lib/cloudfront.generated.js +1 -1
  122. package/aws-cloudfront/lib/distribution.js +1 -1
  123. package/aws-cloudfront/lib/experimental/edge-function.js +1 -1
  124. package/aws-cloudfront/lib/function.js +1 -1
  125. package/aws-cloudfront/lib/geo-restriction.js +1 -1
  126. package/aws-cloudfront/lib/key-group.js +1 -1
  127. package/aws-cloudfront/lib/origin-access-identity.js +1 -1
  128. package/aws-cloudfront/lib/origin-request-policy.js +1 -1
  129. package/aws-cloudfront/lib/origin.js +1 -1
  130. package/aws-cloudfront/lib/public-key.js +1 -1
  131. package/aws-cloudfront/lib/response-headers-policy.js +1 -1
  132. package/aws-cloudfront/lib/web-distribution.js +2 -2
  133. package/aws-cloudfront-origins/lib/http-origin.js +1 -1
  134. package/aws-cloudfront-origins/lib/load-balancer-origin.js +1 -1
  135. package/aws-cloudfront-origins/lib/origin-group.js +1 -1
  136. package/aws-cloudfront-origins/lib/rest-api-origin.js +1 -1
  137. package/aws-cloudfront-origins/lib/s3-origin.js +1 -1
  138. package/aws-cloudtrail/lib/cloudtrail.generated.js +1 -1
  139. package/aws-cloudtrail/lib/cloudtrail.js +1 -1
  140. package/aws-cloudwatch/lib/alarm-base.js +1 -1
  141. package/aws-cloudwatch/lib/alarm-rule.js +1 -1
  142. package/aws-cloudwatch/lib/alarm-status-widget.js +1 -1
  143. package/aws-cloudwatch/lib/alarm.js +1 -1
  144. package/aws-cloudwatch/lib/cloudwatch.generated.js +1 -1
  145. package/aws-cloudwatch/lib/composite-alarm.js +1 -1
  146. package/aws-cloudwatch/lib/dashboard.js +1 -1
  147. package/aws-cloudwatch/lib/graph.js +1 -1
  148. package/aws-cloudwatch/lib/layout.js +1 -1
  149. package/aws-cloudwatch/lib/log-query.js +1 -1
  150. package/aws-cloudwatch/lib/metric.js +1 -1
  151. package/aws-cloudwatch/lib/text.js +1 -1
  152. package/aws-cloudwatch/lib/widget.js +1 -1
  153. package/aws-cloudwatch-actions/lib/appscaling.js +1 -1
  154. package/aws-cloudwatch-actions/lib/autoscaling.js +1 -1
  155. package/aws-cloudwatch-actions/lib/ec2.js +1 -1
  156. package/aws-cloudwatch-actions/lib/sns.js +1 -1
  157. package/aws-cloudwatch-actions/lib/ssm.js +1 -1
  158. package/aws-codeartifact/lib/codeartifact.generated.js +1 -1
  159. package/aws-codebuild/lib/artifacts.js +1 -1
  160. package/aws-codebuild/lib/build-spec.js +1 -1
  161. package/aws-codebuild/lib/cache.js +1 -1
  162. package/aws-codebuild/lib/codebuild.generated.js +1 -1
  163. package/aws-codebuild/lib/events.js +1 -1
  164. package/aws-codebuild/lib/file-location.js +1 -1
  165. package/aws-codebuild/lib/linux-arm-build-image.js +1 -1
  166. package/aws-codebuild/lib/linux-gpu-build-image.js +1 -1
  167. package/aws-codebuild/lib/pipeline-project.js +1 -1
  168. package/aws-codebuild/lib/project.js +1 -1
  169. package/aws-codebuild/lib/report-group.js +1 -1
  170. package/aws-codebuild/lib/source-credentials.js +1 -1
  171. package/aws-codebuild/lib/source.js +1 -1
  172. package/aws-codebuild/lib/untrusted-code-boundary-policy.js +1 -1
  173. package/aws-codecommit/lib/code.js +1 -1
  174. package/aws-codecommit/lib/codecommit.generated.js +1 -1
  175. package/aws-codecommit/lib/events.js +1 -1
  176. package/aws-codecommit/lib/repository.js +1 -1
  177. package/aws-codedeploy/lib/base-deployment-config.js +1 -1
  178. package/aws-codedeploy/lib/codedeploy.generated.js +1 -1
  179. package/aws-codedeploy/lib/ecs/application.js +1 -1
  180. package/aws-codedeploy/lib/ecs/deployment-config.js +1 -1
  181. package/aws-codedeploy/lib/ecs/deployment-group.js +1 -1
  182. package/aws-codedeploy/lib/host-health-config.js +1 -1
  183. package/aws-codedeploy/lib/lambda/application.js +1 -1
  184. package/aws-codedeploy/lib/lambda/custom-deployment-config.js +1 -1
  185. package/aws-codedeploy/lib/lambda/deployment-config.js +1 -1
  186. package/aws-codedeploy/lib/lambda/deployment-group.js +1 -1
  187. package/aws-codedeploy/lib/server/application.js +1 -1
  188. package/aws-codedeploy/lib/server/deployment-config.js +1 -1
  189. package/aws-codedeploy/lib/server/deployment-group.js +1 -1
  190. package/aws-codedeploy/lib/server/load-balancer.js +1 -1
  191. package/aws-codedeploy/lib/traffic-routing-config.js +1 -1
  192. package/aws-codeguruprofiler/lib/codeguruprofiler.generated.js +1 -1
  193. package/aws-codeguruprofiler/lib/profiling-group.js +1 -1
  194. package/aws-codegurureviewer/lib/codegurureviewer.generated.js +1 -1
  195. package/aws-codepipeline/lib/action.js +1 -1
  196. package/aws-codepipeline/lib/artifact.js +1 -1
  197. package/aws-codepipeline/lib/codepipeline.generated.js +1 -1
  198. package/aws-codepipeline/lib/custom-action-registration.js +1 -1
  199. package/aws-codepipeline/lib/pipeline.js +1 -1
  200. package/aws-codepipeline-actions/lib/action.js +1 -1
  201. package/aws-codepipeline-actions/lib/alexa-ask/deploy-action.js +1 -1
  202. package/aws-codepipeline-actions/lib/bitbucket/source-action.js +1 -1
  203. package/aws-codepipeline-actions/lib/cloudformation/pipeline-actions.js +1 -1
  204. package/aws-codepipeline-actions/lib/cloudformation/stackinstances-action.js +1 -1
  205. package/aws-codepipeline-actions/lib/cloudformation/stackset-action.js +1 -1
  206. package/aws-codepipeline-actions/lib/cloudformation/stackset-types.js +1 -1
  207. package/aws-codepipeline-actions/lib/codebuild/build-action.js +1 -1
  208. package/aws-codepipeline-actions/lib/codecommit/source-action.js +1 -1
  209. package/aws-codepipeline-actions/lib/codedeploy/ecs-deploy-action.js +1 -1
  210. package/aws-codepipeline-actions/lib/codedeploy/server-deploy-action.js +1 -1
  211. package/aws-codepipeline-actions/lib/codestar-connections/source-action.js +1 -1
  212. package/aws-codepipeline-actions/lib/ecr/source-action.js +1 -1
  213. package/aws-codepipeline-actions/lib/ecs/deploy-action.js +1 -1
  214. package/aws-codepipeline-actions/lib/elastic-beanstalk/deploy-action.js +1 -1
  215. package/aws-codepipeline-actions/lib/github/source-action.js +1 -1
  216. package/aws-codepipeline-actions/lib/jenkins/jenkins-action.js +1 -1
  217. package/aws-codepipeline-actions/lib/jenkins/jenkins-provider.js +1 -1
  218. package/aws-codepipeline-actions/lib/lambda/invoke-action.js +1 -1
  219. package/aws-codepipeline-actions/lib/manual-approval-action.js +1 -1
  220. package/aws-codepipeline-actions/lib/s3/deploy-action.js +1 -1
  221. package/aws-codepipeline-actions/lib/s3/source-action.js +1 -1
  222. package/aws-codepipeline-actions/lib/servicecatalog/deploy-action-beta1.js +1 -1
  223. package/aws-codepipeline-actions/lib/stepfunctions/invoke-action.js +1 -1
  224. package/aws-codestar/lib/codestar.generated.js +1 -1
  225. package/aws-codestarconnections/lib/codestarconnections.generated.js +1 -1
  226. package/aws-codestarnotifications/lib/codestarnotifications.generated.js +1 -1
  227. package/aws-codestarnotifications/lib/notification-rule.js +1 -1
  228. package/aws-cognito/lib/cognito.generated.js +1 -1
  229. package/aws-cognito/lib/user-pool-attr.js +1 -1
  230. package/aws-cognito/lib/user-pool-client.js +1 -1
  231. package/aws-cognito/lib/user-pool-domain.js +1 -1
  232. package/aws-cognito/lib/user-pool-email.js +1 -1
  233. package/aws-cognito/lib/user-pool-idp.js +1 -1
  234. package/aws-cognito/lib/user-pool-idps/amazon.js +1 -1
  235. package/aws-cognito/lib/user-pool-idps/apple.js +1 -1
  236. package/aws-cognito/lib/user-pool-idps/base.js +1 -1
  237. package/aws-cognito/lib/user-pool-idps/facebook.js +1 -1
  238. package/aws-cognito/lib/user-pool-idps/google.js +1 -1
  239. package/aws-cognito/lib/user-pool-idps/oidc.js +1 -1
  240. package/aws-cognito/lib/user-pool-idps/saml.js +1 -1
  241. package/aws-cognito/lib/user-pool-resource-server.js +1 -1
  242. package/aws-cognito/lib/user-pool.js +1 -1
  243. package/aws-config/lib/config.generated.js +1 -1
  244. package/aws-config/lib/managed-rules.js +1 -1
  245. package/aws-config/lib/rule.js +1 -1
  246. package/aws-connect/lib/connect.generated.js +1 -1
  247. package/aws-connectcampaigns/lib/connectcampaigns.generated.js +1 -1
  248. package/aws-controltower/lib/controltower.generated.js +1 -1
  249. package/aws-cur/lib/cur.generated.js +1 -1
  250. package/aws-customerprofiles/lib/customerprofiles.generated.js +1 -1
  251. package/aws-databrew/lib/databrew.generated.js +1 -1
  252. package/aws-datapipeline/lib/datapipeline.generated.js +1 -1
  253. package/aws-datasync/lib/datasync.generated.js +1 -1
  254. package/aws-dax/lib/dax.generated.js +1 -1
  255. package/aws-detective/lib/detective.generated.js +1 -1
  256. package/aws-devopsguru/lib/devopsguru.generated.js +1 -1
  257. package/aws-directoryservice/lib/directoryservice.generated.js +1 -1
  258. package/aws-dlm/lib/dlm.generated.js +1 -1
  259. package/aws-dms/lib/dms.generated.js +1 -1
  260. package/aws-docdb/lib/cluster.js +1 -1
  261. package/aws-docdb/lib/database-secret.js +1 -1
  262. package/aws-docdb/lib/docdb.generated.js +1 -1
  263. package/aws-docdb/lib/endpoint.js +1 -1
  264. package/aws-docdb/lib/instance.js +1 -1
  265. package/aws-docdb/lib/parameter-group.js +1 -1
  266. package/aws-dynamodb/lib/dynamodb.generated.js +1 -1
  267. package/aws-dynamodb/lib/table.js +1 -1
  268. package/aws-ec2/lib/aspects/require-imdsv2-aspect.js +1 -1
  269. package/aws-ec2/lib/bastion-host.js +1 -1
  270. package/aws-ec2/lib/cfn-init-elements.js +1 -1
  271. package/aws-ec2/lib/cfn-init.js +1 -1
  272. package/aws-ec2/lib/client-vpn-authorization-rule.js +1 -1
  273. package/aws-ec2/lib/client-vpn-endpoint.js +1 -1
  274. package/aws-ec2/lib/client-vpn-route.js +1 -1
  275. package/aws-ec2/lib/connections.js +1 -1
  276. package/aws-ec2/lib/ec2.generated.js +1 -1
  277. package/aws-ec2/lib/instance-types.js +1 -1
  278. package/aws-ec2/lib/instance.js +1 -1
  279. package/aws-ec2/lib/ip-addresses.js +1 -1
  280. package/aws-ec2/lib/launch-template.js +1 -1
  281. package/aws-ec2/lib/machine-image.js +1 -1
  282. package/aws-ec2/lib/nat.js +1 -1
  283. package/aws-ec2/lib/network-acl-types.js +1 -1
  284. package/aws-ec2/lib/network-acl.js +1 -1
  285. package/aws-ec2/lib/peer.js +1 -1
  286. package/aws-ec2/lib/port.js +1 -1
  287. package/aws-ec2/lib/security-group.js +1 -1
  288. package/aws-ec2/lib/subnet.js +1 -1
  289. package/aws-ec2/lib/user-data.js +3 -3
  290. package/aws-ec2/lib/volume.js +1 -1
  291. package/aws-ec2/lib/vpc-endpoint-service.js +1 -1
  292. package/aws-ec2/lib/vpc-endpoint.js +1 -1
  293. package/aws-ec2/lib/vpc-flow-logs.js +1 -1
  294. package/aws-ec2/lib/vpc.js +1 -1
  295. package/aws-ec2/lib/vpn.js +1 -1
  296. package/aws-ecr/lib/auth-token.js +1 -1
  297. package/aws-ecr/lib/ecr.generated.js +1 -1
  298. package/aws-ecr/lib/repository.js +1 -1
  299. package/aws-ecr-assets/lib/image-asset.js +2 -2
  300. package/aws-ecr-assets/lib/tarball-asset.js +1 -1
  301. package/aws-ecs/lib/amis.js +1 -1
  302. package/aws-ecs/lib/base/base-service.js +1 -1
  303. package/aws-ecs/lib/base/scalable-task-count.js +1 -1
  304. package/aws-ecs/lib/base/task-definition.js +1 -1
  305. package/aws-ecs/lib/cluster.js +1 -1
  306. package/aws-ecs/lib/container-definition.js +1 -1
  307. package/aws-ecs/lib/container-image.js +1 -1
  308. package/aws-ecs/lib/ec2/ec2-service.js +1 -1
  309. package/aws-ecs/lib/ec2/ec2-task-definition.js +1 -1
  310. package/aws-ecs/lib/ecs.generated.js +1 -1
  311. package/aws-ecs/lib/environment-file.js +1 -1
  312. package/aws-ecs/lib/external/external-service.js +1 -1
  313. package/aws-ecs/lib/external/external-task-definition.js +1 -1
  314. package/aws-ecs/lib/fargate/fargate-service.js +1 -1
  315. package/aws-ecs/lib/fargate/fargate-task-definition.js +1 -1
  316. package/aws-ecs/lib/firelens-log-router.js +1 -1
  317. package/aws-ecs/lib/images/asset-image.js +1 -1
  318. package/aws-ecs/lib/images/ecr.js +1 -1
  319. package/aws-ecs/lib/images/repository.js +1 -1
  320. package/aws-ecs/lib/images/tag-parameter-container-image.js +1 -1
  321. package/aws-ecs/lib/linux-parameters.js +1 -1
  322. package/aws-ecs/lib/log-drivers/aws-log-driver.js +1 -1
  323. package/aws-ecs/lib/log-drivers/firelens-log-driver.js +1 -1
  324. package/aws-ecs/lib/log-drivers/fluentd-log-driver.js +1 -1
  325. package/aws-ecs/lib/log-drivers/gelf-log-driver.js +1 -1
  326. package/aws-ecs/lib/log-drivers/generic-log-driver.js +1 -1
  327. package/aws-ecs/lib/log-drivers/journald-log-driver.js +1 -1
  328. package/aws-ecs/lib/log-drivers/json-file-log-driver.js +1 -1
  329. package/aws-ecs/lib/log-drivers/log-driver.js +1 -1
  330. package/aws-ecs/lib/log-drivers/log-drivers.js +1 -1
  331. package/aws-ecs/lib/log-drivers/splunk-log-driver.js +1 -1
  332. package/aws-ecs/lib/log-drivers/syslog-log-driver.js +1 -1
  333. package/aws-ecs/lib/placement.js +1 -1
  334. package/aws-ecs/lib/proxy-configuration/app-mesh-proxy-configuration.js +1 -1
  335. package/aws-ecs/lib/proxy-configuration/proxy-configuration.js +1 -1
  336. package/aws-ecs/lib/proxy-configuration/proxy-configurations.js +1 -1
  337. package/aws-ecs/lib/runtime-platform.js +1 -1
  338. package/aws-ecs-patterns/lib/base/application-load-balanced-service-base.js +1 -1
  339. package/aws-ecs-patterns/lib/base/application-multiple-target-groups-service-base.js +1 -1
  340. package/aws-ecs-patterns/lib/base/network-load-balanced-service-base.js +1 -1
  341. package/aws-ecs-patterns/lib/base/network-multiple-target-groups-service-base.js +1 -1
  342. package/aws-ecs-patterns/lib/base/queue-processing-service-base.js +1 -1
  343. package/aws-ecs-patterns/lib/base/scheduled-task-base.js +1 -1
  344. package/aws-ecs-patterns/lib/ecs/application-load-balanced-ecs-service.js +1 -1
  345. package/aws-ecs-patterns/lib/ecs/application-multiple-target-groups-ecs-service.js +1 -1
  346. package/aws-ecs-patterns/lib/ecs/network-load-balanced-ecs-service.js +1 -1
  347. package/aws-ecs-patterns/lib/ecs/network-multiple-target-groups-ecs-service.js +1 -1
  348. package/aws-ecs-patterns/lib/ecs/queue-processing-ecs-service.js +1 -1
  349. package/aws-ecs-patterns/lib/ecs/scheduled-ecs-task.js +1 -1
  350. package/aws-ecs-patterns/lib/fargate/application-load-balanced-fargate-service.js +1 -1
  351. package/aws-ecs-patterns/lib/fargate/application-multiple-target-groups-fargate-service.js +1 -1
  352. package/aws-ecs-patterns/lib/fargate/network-load-balanced-fargate-service.js +1 -1
  353. package/aws-ecs-patterns/lib/fargate/network-multiple-target-groups-fargate-service.js +1 -1
  354. package/aws-ecs-patterns/lib/fargate/queue-processing-fargate-service.js +1 -1
  355. package/aws-ecs-patterns/lib/fargate/scheduled-fargate-task.js +1 -1
  356. package/aws-efs/lib/access-point.js +1 -1
  357. package/aws-efs/lib/efs-file-system.js +1 -1
  358. package/aws-efs/lib/efs.generated.js +1 -1
  359. package/aws-eks/lib/alb-controller.js +1 -1
  360. package/aws-eks/lib/aws-auth.js +1 -1
  361. package/aws-eks/lib/cluster.js +1 -1
  362. package/aws-eks/lib/eks.generated.js +1 -1
  363. package/aws-eks/lib/fargate-cluster.js +1 -1
  364. package/aws-eks/lib/fargate-profile.js +1 -1
  365. package/aws-eks/lib/helm-chart.js +1 -1
  366. package/aws-eks/lib/k8s-manifest.js +1 -1
  367. package/aws-eks/lib/k8s-object-value.js +1 -1
  368. package/aws-eks/lib/k8s-patch.js +1 -1
  369. package/aws-eks/lib/kubectl-provider.js +1 -1
  370. package/aws-eks/lib/managed-nodegroup.js +1 -1
  371. package/aws-eks/lib/oidc-provider.js +1 -1
  372. package/aws-eks/lib/service-account.js +1 -1
  373. package/aws-elasticache/lib/elasticache.generated.js +1 -1
  374. package/aws-elasticbeanstalk/lib/elasticbeanstalk.generated.js +1 -1
  375. package/aws-elasticloadbalancing/lib/elasticloadbalancing.generated.js +1 -1
  376. package/aws-elasticloadbalancing/lib/load-balancer.js +1 -1
  377. package/aws-elasticloadbalancingv2/lib/alb/application-listener-action.js +1 -1
  378. package/aws-elasticloadbalancingv2/lib/alb/application-listener-certificate.js +1 -1
  379. package/aws-elasticloadbalancingv2/lib/alb/application-listener-rule.js +1 -1
  380. package/aws-elasticloadbalancingv2/lib/alb/application-listener.js +1 -1
  381. package/aws-elasticloadbalancingv2/lib/alb/application-load-balancer.js +1 -1
  382. package/aws-elasticloadbalancingv2/lib/alb/application-target-group.js +1 -1
  383. package/aws-elasticloadbalancingv2/lib/alb/conditions.js +1 -1
  384. package/aws-elasticloadbalancingv2/lib/elasticloadbalancingv2.generated.js +1 -1
  385. package/aws-elasticloadbalancingv2/lib/nlb/network-listener-action.js +1 -1
  386. package/aws-elasticloadbalancingv2/lib/nlb/network-listener.js +1 -1
  387. package/aws-elasticloadbalancingv2/lib/nlb/network-load-balancer.js +1 -1
  388. package/aws-elasticloadbalancingv2/lib/nlb/network-target-group.js +1 -1
  389. package/aws-elasticloadbalancingv2/lib/shared/base-listener.js +1 -1
  390. package/aws-elasticloadbalancingv2/lib/shared/base-load-balancer.js +1 -1
  391. package/aws-elasticloadbalancingv2/lib/shared/base-target-group.js +1 -1
  392. package/aws-elasticloadbalancingv2/lib/shared/listener-certificate.js +1 -1
  393. package/aws-elasticloadbalancingv2/lib/shared/load-balancer-targets.js +1 -1
  394. package/aws-elasticloadbalancingv2-actions/lib/cognito-action.js +1 -1
  395. package/aws-elasticloadbalancingv2-targets/lib/alb-target.js +1 -1
  396. package/aws-elasticloadbalancingv2-targets/lib/instance-target.js +1 -1
  397. package/aws-elasticloadbalancingv2-targets/lib/ip-target.js +1 -1
  398. package/aws-elasticloadbalancingv2-targets/lib/lambda-target.js +1 -1
  399. package/aws-elasticsearch/lib/domain.js +1 -1
  400. package/aws-elasticsearch/lib/elasticsearch.generated.js +1 -1
  401. package/aws-emr/lib/emr.generated.js +1 -1
  402. package/aws-emrcontainers/lib/emrcontainers.generated.js +1 -1
  403. package/aws-emrserverless/lib/emrserverless.generated.js +1 -1
  404. package/aws-events/lib/api-destination.js +1 -1
  405. package/aws-events/lib/archive.js +1 -1
  406. package/aws-events/lib/connection.js +1 -1
  407. package/aws-events/lib/event-bus.js +1 -1
  408. package/aws-events/lib/event-pattern.js +1 -1
  409. package/aws-events/lib/events.generated.js +1 -1
  410. package/aws-events/lib/input.js +2 -2
  411. package/aws-events/lib/rule.js +1 -1
  412. package/aws-events/lib/schedule.js +1 -1
  413. package/aws-events-targets/lib/api-destination.js +1 -1
  414. package/aws-events-targets/lib/api-gateway.js +1 -1
  415. package/aws-events-targets/lib/aws-api.js +1 -1
  416. package/aws-events-targets/lib/batch.js +1 -1
  417. package/aws-events-targets/lib/codebuild.js +1 -1
  418. package/aws-events-targets/lib/codepipeline.js +1 -1
  419. package/aws-events-targets/lib/ecs-task.js +1 -1
  420. package/aws-events-targets/lib/event-bus.js +1 -1
  421. package/aws-events-targets/lib/kinesis-firehose-stream.js +1 -1
  422. package/aws-events-targets/lib/kinesis-stream.js +1 -1
  423. package/aws-events-targets/lib/lambda.js +1 -1
  424. package/aws-events-targets/lib/log-group.js +2 -2
  425. package/aws-events-targets/lib/sns.js +1 -1
  426. package/aws-events-targets/lib/sqs.js +1 -1
  427. package/aws-events-targets/lib/state-machine.js +1 -1
  428. package/aws-eventschemas/lib/eventschemas.generated.js +1 -1
  429. package/aws-evidently/lib/evidently.generated.js +1 -1
  430. package/aws-finspace/lib/finspace.generated.js +1 -1
  431. package/aws-fis/lib/fis.generated.js +1 -1
  432. package/aws-fms/lib/fms.generated.js +1 -1
  433. package/aws-forecast/lib/forecast.generated.js +1 -1
  434. package/aws-frauddetector/lib/frauddetector.generated.js +1 -1
  435. package/aws-fsx/lib/file-system.js +1 -1
  436. package/aws-fsx/lib/fsx.generated.js +1 -1
  437. package/aws-fsx/lib/lustre-file-system.js +1 -1
  438. package/aws-fsx/lib/maintenance-time.js +1 -1
  439. package/aws-gamelift/lib/gamelift.generated.js +1 -1
  440. package/aws-globalaccelerator/lib/accelerator.js +1 -1
  441. package/aws-globalaccelerator/lib/endpoint-group.js +1 -1
  442. package/aws-globalaccelerator/lib/endpoint.js +1 -1
  443. package/aws-globalaccelerator/lib/globalaccelerator.generated.js +1 -1
  444. package/aws-globalaccelerator/lib/listener.js +1 -1
  445. package/aws-globalaccelerator-endpoints/lib/alb.js +1 -1
  446. package/aws-globalaccelerator-endpoints/lib/eip.js +1 -1
  447. package/aws-globalaccelerator-endpoints/lib/instance.js +1 -1
  448. package/aws-globalaccelerator-endpoints/lib/nlb.js +1 -1
  449. package/aws-glue/lib/glue.generated.js +1 -1
  450. package/aws-greengrass/lib/greengrass.generated.js +1 -1
  451. package/aws-greengrassv2/lib/greengrassv2.generated.js +1 -1
  452. package/aws-groundstation/lib/groundstation.generated.js +1 -1
  453. package/aws-guardduty/lib/guardduty.generated.js +1 -1
  454. package/aws-healthlake/lib/healthlake.generated.js +1 -1
  455. package/aws-iam/lib/access-key.js +1 -1
  456. package/aws-iam/lib/grant.js +1 -1
  457. package/aws-iam/lib/group.js +1 -1
  458. package/aws-iam/lib/iam.generated.js +1 -1
  459. package/aws-iam/lib/lazy-role.js +1 -1
  460. package/aws-iam/lib/managed-policy.js +1 -1
  461. package/aws-iam/lib/oidc-provider.js +1 -1
  462. package/aws-iam/lib/permissions-boundary.js +1 -1
  463. package/aws-iam/lib/policy-document.js +1 -1
  464. package/aws-iam/lib/policy-statement.js +1 -1
  465. package/aws-iam/lib/policy.js +1 -1
  466. package/aws-iam/lib/principals.js +1 -1
  467. package/aws-iam/lib/role.js +1 -1
  468. package/aws-iam/lib/saml-provider.js +1 -1
  469. package/aws-iam/lib/unknown-principal.js +1 -1
  470. package/aws-iam/lib/user.js +1 -1
  471. package/aws-identitystore/lib/identitystore.generated.js +1 -1
  472. package/aws-imagebuilder/lib/imagebuilder.generated.js +1 -1
  473. package/aws-inspector/lib/inspector.generated.js +1 -1
  474. package/aws-inspectorv2/lib/inspectorv2.generated.js +1 -1
  475. package/aws-iot/lib/iot.generated.js +1 -1
  476. package/aws-iot1click/lib/iot1click.generated.js +1 -1
  477. package/aws-iotanalytics/lib/iotanalytics.generated.js +1 -1
  478. package/aws-iotcoredeviceadvisor/lib/iotcoredeviceadvisor.generated.js +1 -1
  479. package/aws-iotevents/lib/iotevents.generated.js +1 -1
  480. package/aws-iotfleethub/lib/iotfleethub.generated.js +1 -1
  481. package/aws-iotfleetwise/lib/iotfleetwise.generated.js +1 -1
  482. package/aws-iotsitewise/lib/iotsitewise.generated.js +1 -1
  483. package/aws-iotthingsgraph/lib/iotthingsgraph.generated.js +1 -1
  484. package/aws-iottwinmaker/lib/iottwinmaker.generated.js +1 -1
  485. package/aws-iotwireless/lib/iotwireless.generated.js +1 -1
  486. package/aws-ivs/lib/ivs.generated.js +1 -1
  487. package/aws-kafkaconnect/lib/kafkaconnect.generated.js +1 -1
  488. package/aws-kendra/lib/kendra.generated.js +1 -1
  489. package/aws-kinesis/lib/kinesis.generated.js +1 -1
  490. package/aws-kinesis/lib/stream.js +1 -1
  491. package/aws-kinesisanalytics/lib/kinesisanalytics.generated.js +1 -1
  492. package/aws-kinesisanalytics/lib/kinesisanalyticsv2.generated.js +1 -1
  493. package/aws-kinesisanalyticsv2/lib/kinesisanalyticsv2.generated.js +1 -1
  494. package/aws-kinesisfirehose/lib/kinesisfirehose.generated.js +1 -1
  495. package/aws-kinesisvideo/lib/kinesisvideo.generated.js +1 -1
  496. package/aws-kms/lib/alias.js +1 -1
  497. package/aws-kms/lib/key.js +1 -1
  498. package/aws-kms/lib/kms.generated.js +1 -1
  499. package/aws-kms/lib/via-service-principal.js +1 -1
  500. package/aws-lakeformation/lib/lakeformation.generated.js +1 -1
  501. package/aws-lambda/lib/alias.js +1 -1
  502. package/aws-lambda/lib/architecture.js +1 -1
  503. package/aws-lambda/lib/code-signing-config.js +1 -1
  504. package/aws-lambda/lib/code.js +1 -1
  505. package/aws-lambda/lib/event-invoke-config.js +1 -1
  506. package/aws-lambda/lib/event-source-filter.js +1 -1
  507. package/aws-lambda/lib/event-source-mapping.js +1 -1
  508. package/aws-lambda/lib/filesystem.js +1 -1
  509. package/aws-lambda/lib/function-base.js +1 -1
  510. package/aws-lambda/lib/function-url.js +1 -1
  511. package/aws-lambda/lib/function.js +1 -1
  512. package/aws-lambda/lib/handler.js +1 -1
  513. package/aws-lambda/lib/image-function.js +1 -1
  514. package/aws-lambda/lib/lambda-insights.js +1 -1
  515. package/aws-lambda/lib/lambda-version.js +1 -1
  516. package/aws-lambda/lib/lambda.generated.js +1 -1
  517. package/aws-lambda/lib/layers.js +1 -1
  518. package/aws-lambda/lib/log-retention.js +1 -1
  519. package/aws-lambda/lib/runtime.js +1 -1
  520. package/aws-lambda/lib/singleton-lambda.js +1 -1
  521. package/aws-lambda-destinations/lib/event-bridge.js +1 -1
  522. package/aws-lambda-destinations/lib/lambda.js +1 -1
  523. package/aws-lambda-destinations/lib/sns.js +1 -1
  524. package/aws-lambda-destinations/lib/sqs.js +1 -1
  525. package/aws-lambda-event-sources/lib/api.js +1 -1
  526. package/aws-lambda-event-sources/lib/dynamodb.js +1 -1
  527. package/aws-lambda-event-sources/lib/kafka.js +1 -1
  528. package/aws-lambda-event-sources/lib/kinesis.js +1 -1
  529. package/aws-lambda-event-sources/lib/s3.js +1 -1
  530. package/aws-lambda-event-sources/lib/sns-dlq.js +1 -1
  531. package/aws-lambda-event-sources/lib/sns.js +1 -1
  532. package/aws-lambda-event-sources/lib/sqs-dlq.js +1 -1
  533. package/aws-lambda-event-sources/lib/sqs.js +1 -1
  534. package/aws-lambda-event-sources/lib/stream.js +1 -1
  535. package/aws-lambda-nodejs/lib/function.js +1 -1
  536. package/aws-lex/lib/lex.generated.js +1 -1
  537. package/aws-licensemanager/lib/licensemanager.generated.js +1 -1
  538. package/aws-lightsail/lib/lightsail.generated.js +1 -1
  539. package/aws-location/lib/location.generated.js +1 -1
  540. package/aws-logs/lib/cross-account-destination.js +1 -1
  541. package/aws-logs/lib/log-group.js +1 -1
  542. package/aws-logs/lib/log-retention.js +1 -1
  543. package/aws-logs/lib/log-stream.js +1 -1
  544. package/aws-logs/lib/logs.generated.js +1 -1
  545. package/aws-logs/lib/metric-filter.js +1 -1
  546. package/aws-logs/lib/pattern.js +1 -1
  547. package/aws-logs/lib/policy.js +1 -1
  548. package/aws-logs/lib/query-definition.js +1 -1
  549. package/aws-logs/lib/subscription-filter.js +1 -1
  550. package/aws-logs-destinations/lib/kinesis.js +1 -1
  551. package/aws-logs-destinations/lib/lambda.js +1 -1
  552. package/aws-lookoutequipment/lib/lookoutequipment.generated.js +1 -1
  553. package/aws-lookoutmetrics/lib/lookoutmetrics.generated.js +1 -1
  554. package/aws-lookoutvision/lib/lookoutvision.generated.js +1 -1
  555. package/aws-m2/lib/m2.generated.js +1 -1
  556. package/aws-macie/lib/macie.generated.js +1 -1
  557. package/aws-managedblockchain/lib/managedblockchain.generated.js +1 -1
  558. package/aws-mediaconnect/lib/mediaconnect.generated.js +1 -1
  559. package/aws-mediaconvert/lib/mediaconvert.generated.js +1 -1
  560. package/aws-medialive/lib/medialive.generated.js +1 -1
  561. package/aws-mediapackage/lib/mediapackage.generated.js +1 -1
  562. package/aws-mediastore/lib/mediastore.generated.js +1 -1
  563. package/aws-mediatailor/lib/mediatailor.generated.js +1 -1
  564. package/aws-memorydb/lib/memorydb.generated.js +1 -1
  565. package/aws-msk/lib/msk.generated.js +1 -1
  566. package/aws-mwaa/lib/mwaa.generated.js +1 -1
  567. package/aws-neptune/lib/neptune.generated.js +1 -1
  568. package/aws-networkfirewall/lib/networkfirewall.generated.js +1 -1
  569. package/aws-networkmanager/lib/networkmanager.generated.js +1 -1
  570. package/aws-nimblestudio/lib/nimblestudio.generated.js +1 -1
  571. package/aws-opensearchservice/lib/domain.js +1 -1
  572. package/aws-opensearchservice/lib/opensearchservice.generated.js +1 -1
  573. package/aws-opensearchservice/lib/version.js +1 -1
  574. package/aws-opsworks/lib/opsworks.generated.js +1 -1
  575. package/aws-opsworkscm/lib/opsworkscm.generated.js +1 -1
  576. package/aws-organizations/lib/organizations.generated.js +1 -1
  577. package/aws-panorama/lib/panorama.generated.js +1 -1
  578. package/aws-personalize/lib/personalize.generated.js +1 -1
  579. package/aws-pinpoint/lib/pinpoint.generated.js +1 -1
  580. package/aws-pinpointemail/lib/pinpointemail.generated.js +1 -1
  581. package/aws-qldb/lib/qldb.generated.js +1 -1
  582. package/aws-quicksight/lib/quicksight.generated.js +1 -1
  583. package/aws-ram/lib/ram.generated.js +1 -1
  584. package/aws-rds/lib/cluster-engine.js +1 -1
  585. package/aws-rds/lib/cluster.js +1 -1
  586. package/aws-rds/lib/database-secret.js +1 -1
  587. package/aws-rds/lib/endpoint.js +1 -1
  588. package/aws-rds/lib/instance-engine.js +1 -1
  589. package/aws-rds/lib/instance.js +1 -1
  590. package/aws-rds/lib/option-group.js +1 -1
  591. package/aws-rds/lib/parameter-group.js +1 -1
  592. package/aws-rds/lib/props.js +1 -1
  593. package/aws-rds/lib/proxy.js +1 -1
  594. package/aws-rds/lib/rds.generated.js +1 -1
  595. package/aws-rds/lib/serverless-cluster.js +1 -1
  596. package/aws-rds/lib/subnet-group.js +1 -1
  597. package/aws-redshift/lib/redshift.generated.js +1 -1
  598. package/aws-redshiftserverless/lib/redshiftserverless.generated.js +1 -1
  599. package/aws-refactorspaces/lib/refactorspaces.generated.js +1 -1
  600. package/aws-rekognition/lib/rekognition.generated.js +1 -1
  601. package/aws-resiliencehub/lib/resiliencehub.generated.js +1 -1
  602. package/aws-resourceexplorer2/lib/resourceexplorer2.generated.js +1 -1
  603. package/aws-resourcegroups/lib/resourcegroups.generated.js +1 -1
  604. package/aws-robomaker/lib/robomaker.generated.js +1 -1
  605. package/aws-rolesanywhere/lib/rolesanywhere.generated.js +1 -1
  606. package/aws-route53/lib/hosted-zone.js +1 -1
  607. package/aws-route53/lib/record-set.js +1 -1
  608. package/aws-route53/lib/route53.generated.js +1 -1
  609. package/aws-route53/lib/vpc-endpoint-service-domain-name.js +1 -1
  610. package/aws-route53-patterns/lib/website-redirect.js +1 -1
  611. package/aws-route53-targets/lib/api-gateway-domain-name.js +1 -1
  612. package/aws-route53-targets/lib/api-gatewayv2-domain-name.js +1 -1
  613. package/aws-route53-targets/lib/bucket-website-target.js +1 -1
  614. package/aws-route53-targets/lib/classic-load-balancer-target.js +1 -1
  615. package/aws-route53-targets/lib/cloudfront-target.js +1 -1
  616. package/aws-route53-targets/lib/elastic-beanstalk-environment-target.js +1 -1
  617. package/aws-route53-targets/lib/global-accelerator-target.js +1 -1
  618. package/aws-route53-targets/lib/interface-vpc-endpoint-target.js +1 -1
  619. package/aws-route53-targets/lib/load-balancer-target.js +1 -1
  620. package/aws-route53-targets/lib/route53-record.js +1 -1
  621. package/aws-route53-targets/lib/userpool-domain.js +1 -1
  622. package/aws-route53recoverycontrol/lib/route53recoverycontrol.generated.js +1 -1
  623. package/aws-route53recoveryreadiness/lib/route53recoveryreadiness.generated.js +1 -1
  624. package/aws-route53resolver/lib/route53resolver.generated.js +1 -1
  625. package/aws-rum/lib/rum.generated.js +1 -1
  626. package/aws-s3/lib/bucket-policy.js +1 -1
  627. package/aws-s3/lib/bucket.js +1 -1
  628. package/aws-s3/lib/rule.js +1 -1
  629. package/aws-s3/lib/s3.generated.js +1 -1
  630. package/aws-s3-assets/lib/asset.js +1 -1
  631. package/aws-s3-deployment/lib/bucket-deployment.js +1 -1
  632. package/aws-s3-deployment/lib/source.js +1 -1
  633. package/aws-s3-notifications/lib/lambda.js +1 -1
  634. package/aws-s3-notifications/lib/sns.js +1 -1
  635. package/aws-s3-notifications/lib/sqs.js +1 -1
  636. package/aws-s3objectlambda/lib/s3objectlambda.generated.js +1 -1
  637. package/aws-s3outposts/lib/s3outposts.generated.js +1 -1
  638. package/aws-sagemaker/lib/sagemaker.generated.js +1 -1
  639. package/aws-sam/lib/sam.generated.js +1 -1
  640. package/aws-scheduler/lib/scheduler.generated.js +1 -1
  641. package/aws-sdb/lib/sdb.generated.js +1 -1
  642. package/aws-secretsmanager/lib/policy.js +1 -1
  643. package/aws-secretsmanager/lib/rotation-schedule.js +1 -1
  644. package/aws-secretsmanager/lib/secret-rotation.js +1 -1
  645. package/aws-secretsmanager/lib/secret.js +1 -1
  646. package/aws-secretsmanager/lib/secretsmanager.generated.js +1 -1
  647. package/aws-securityhub/lib/securityhub.generated.js +1 -1
  648. package/aws-servicecatalog/lib/cloudformation-template.js +1 -1
  649. package/aws-servicecatalog/lib/portfolio.js +1 -1
  650. package/aws-servicecatalog/lib/product-stack-history.js +1 -1
  651. package/aws-servicecatalog/lib/product-stack.js +1 -1
  652. package/aws-servicecatalog/lib/product.js +1 -1
  653. package/aws-servicecatalog/lib/servicecatalog.generated.js +1 -1
  654. package/aws-servicecatalog/lib/tag-options.js +1 -1
  655. package/aws-servicecatalogappregistry/lib/servicecatalogappregistry.generated.js +1 -1
  656. package/aws-servicediscovery/lib/alias-target-instance.js +1 -1
  657. package/aws-servicediscovery/lib/cname-instance.js +1 -1
  658. package/aws-servicediscovery/lib/http-namespace.js +1 -1
  659. package/aws-servicediscovery/lib/instance.js +1 -1
  660. package/aws-servicediscovery/lib/ip-instance.js +1 -1
  661. package/aws-servicediscovery/lib/non-ip-instance.js +1 -1
  662. package/aws-servicediscovery/lib/private-dns-namespace.js +1 -1
  663. package/aws-servicediscovery/lib/public-dns-namespace.js +1 -1
  664. package/aws-servicediscovery/lib/service.js +1 -1
  665. package/aws-servicediscovery/lib/servicediscovery.generated.js +1 -1
  666. package/aws-ses/lib/configuration-set.js +1 -1
  667. package/aws-ses/lib/dedicated-ip-pool.js +1 -1
  668. package/aws-ses/lib/email-identity.js +1 -1
  669. package/aws-ses/lib/receipt-filter.js +1 -1
  670. package/aws-ses/lib/receipt-rule-set.js +1 -1
  671. package/aws-ses/lib/receipt-rule.js +1 -1
  672. package/aws-ses/lib/ses.generated.js +1 -1
  673. package/aws-ses-actions/lib/add-header.js +1 -1
  674. package/aws-ses-actions/lib/bounce.js +1 -1
  675. package/aws-ses-actions/lib/lambda.js +1 -1
  676. package/aws-ses-actions/lib/s3.js +1 -1
  677. package/aws-ses-actions/lib/sns.js +1 -1
  678. package/aws-ses-actions/lib/stop.js +1 -1
  679. package/aws-signer/lib/signer.generated.js +1 -1
  680. package/aws-signer/lib/signing-profile.js +1 -1
  681. package/aws-sns/lib/policy.js +1 -1
  682. package/aws-sns/lib/sns.generated.js +1 -1
  683. package/aws-sns/lib/subscription-filter.js +1 -1
  684. package/aws-sns/lib/subscription.js +1 -1
  685. package/aws-sns/lib/topic-base.js +1 -1
  686. package/aws-sns/lib/topic.js +1 -1
  687. package/aws-sns-subscriptions/lib/email.js +1 -1
  688. package/aws-sns-subscriptions/lib/lambda.js +1 -1
  689. package/aws-sns-subscriptions/lib/sms.js +1 -1
  690. package/aws-sns-subscriptions/lib/sqs.js +1 -1
  691. package/aws-sns-subscriptions/lib/url.js +1 -1
  692. package/aws-sqs/lib/policy.js +1 -1
  693. package/aws-sqs/lib/queue-base.js +1 -1
  694. package/aws-sqs/lib/queue.js +1 -1
  695. package/aws-sqs/lib/sqs.generated.js +1 -1
  696. package/aws-ssm/lib/parameter.js +1 -1
  697. package/aws-ssm/lib/ssm.generated.js +1 -1
  698. package/aws-ssmcontacts/lib/ssmcontacts.generated.js +1 -1
  699. package/aws-ssmincidents/lib/ssmincidents.generated.js +1 -1
  700. package/aws-sso/lib/sso.generated.js +1 -1
  701. package/aws-stepfunctions/lib/activity.js +1 -1
  702. package/aws-stepfunctions/lib/chain.js +1 -1
  703. package/aws-stepfunctions/lib/condition.js +1 -1
  704. package/aws-stepfunctions/lib/fields.js +1 -1
  705. package/aws-stepfunctions/lib/input.js +1 -1
  706. package/aws-stepfunctions/lib/state-graph.js +1 -1
  707. package/aws-stepfunctions/lib/state-machine-fragment.js +1 -1
  708. package/aws-stepfunctions/lib/state-machine.js +1 -1
  709. package/aws-stepfunctions/lib/state-transition-metrics.js +1 -1
  710. package/aws-stepfunctions/lib/states/choice.js +1 -1
  711. package/aws-stepfunctions/lib/states/custom-state.js +1 -1
  712. package/aws-stepfunctions/lib/states/fail.js +1 -1
  713. package/aws-stepfunctions/lib/states/map.js +1 -1
  714. package/aws-stepfunctions/lib/states/parallel.js +1 -1
  715. package/aws-stepfunctions/lib/states/pass.js +1 -1
  716. package/aws-stepfunctions/lib/states/state.js +1 -1
  717. package/aws-stepfunctions/lib/states/succeed.js +1 -1
  718. package/aws-stepfunctions/lib/states/task-base.js +1 -1
  719. package/aws-stepfunctions/lib/states/task.js +1 -1
  720. package/aws-stepfunctions/lib/states/wait.js +1 -1
  721. package/aws-stepfunctions/lib/stepfunctions.generated.js +1 -1
  722. package/aws-stepfunctions/lib/types.js +1 -1
  723. package/aws-stepfunctions-tasks/lib/apigateway/call-http-api.js +1 -1
  724. package/aws-stepfunctions-tasks/lib/apigateway/call-rest-api.js +1 -1
  725. package/aws-stepfunctions-tasks/lib/athena/get-query-execution.js +1 -1
  726. package/aws-stepfunctions-tasks/lib/athena/get-query-results.js +1 -1
  727. package/aws-stepfunctions-tasks/lib/athena/start-query-execution.js +1 -1
  728. package/aws-stepfunctions-tasks/lib/athena/stop-query-execution.js +1 -1
  729. package/aws-stepfunctions-tasks/lib/aws-sdk/call-aws-service.js +1 -1
  730. package/aws-stepfunctions-tasks/lib/batch/run-batch-job.js +1 -1
  731. package/aws-stepfunctions-tasks/lib/batch/submit-job.js +1 -1
  732. package/aws-stepfunctions-tasks/lib/codebuild/start-build.js +1 -1
  733. package/aws-stepfunctions-tasks/lib/databrew/start-job-run.js +1 -1
  734. package/aws-stepfunctions-tasks/lib/dynamodb/delete-item.js +1 -1
  735. package/aws-stepfunctions-tasks/lib/dynamodb/get-item.js +1 -1
  736. package/aws-stepfunctions-tasks/lib/dynamodb/put-item.js +1 -1
  737. package/aws-stepfunctions-tasks/lib/dynamodb/shared-types.js +1 -1
  738. package/aws-stepfunctions-tasks/lib/dynamodb/update-item.js +1 -1
  739. package/aws-stepfunctions-tasks/lib/ecs/run-ecs-ec2-task.js +1 -1
  740. package/aws-stepfunctions-tasks/lib/ecs/run-ecs-fargate-task.js +1 -1
  741. package/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base.js +1 -1
  742. package/aws-stepfunctions-tasks/lib/ecs/run-task.js +1 -1
  743. package/aws-stepfunctions-tasks/lib/eks/call.js +1 -1
  744. package/aws-stepfunctions-tasks/lib/emr/emr-add-step.js +1 -1
  745. package/aws-stepfunctions-tasks/lib/emr/emr-cancel-step.js +1 -1
  746. package/aws-stepfunctions-tasks/lib/emr/emr-create-cluster.js +1 -1
  747. package/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-fleet-by-name.js +1 -1
  748. package/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-group-by-name.js +1 -1
  749. package/aws-stepfunctions-tasks/lib/emr/emr-set-cluster-termination-protection.js +1 -1
  750. package/aws-stepfunctions-tasks/lib/emr/emr-terminate-cluster.js +1 -1
  751. package/aws-stepfunctions-tasks/lib/emrcontainers/create-virtual-cluster.js +1 -1
  752. package/aws-stepfunctions-tasks/lib/emrcontainers/delete-virtual-cluster.js +1 -1
  753. package/aws-stepfunctions-tasks/lib/emrcontainers/start-job-run.js +1 -1
  754. package/aws-stepfunctions-tasks/lib/evaluate-expression.js +1 -1
  755. package/aws-stepfunctions-tasks/lib/eventbridge/put-events.js +1 -1
  756. package/aws-stepfunctions-tasks/lib/glue/run-glue-job-task.js +1 -1
  757. package/aws-stepfunctions-tasks/lib/glue/start-job-run.js +1 -1
  758. package/aws-stepfunctions-tasks/lib/invoke-activity.js +1 -1
  759. package/aws-stepfunctions-tasks/lib/lambda/invoke-function.js +1 -1
  760. package/aws-stepfunctions-tasks/lib/lambda/invoke.js +1 -1
  761. package/aws-stepfunctions-tasks/lib/lambda/run-lambda-task.js +1 -1
  762. package/aws-stepfunctions-tasks/lib/sagemaker/base-types.js +1 -1
  763. package/aws-stepfunctions-tasks/lib/sagemaker/create-endpoint-config.js +1 -1
  764. package/aws-stepfunctions-tasks/lib/sagemaker/create-endpoint.js +1 -1
  765. package/aws-stepfunctions-tasks/lib/sagemaker/create-model.js +1 -1
  766. package/aws-stepfunctions-tasks/lib/sagemaker/create-training-job.js +1 -1
  767. package/aws-stepfunctions-tasks/lib/sagemaker/create-transform-job.js +1 -1
  768. package/aws-stepfunctions-tasks/lib/sagemaker/update-endpoint.js +1 -1
  769. package/aws-stepfunctions-tasks/lib/sns/publish-to-topic.js +1 -1
  770. package/aws-stepfunctions-tasks/lib/sns/publish.js +1 -1
  771. package/aws-stepfunctions-tasks/lib/sqs/send-message.js +1 -1
  772. package/aws-stepfunctions-tasks/lib/sqs/send-to-queue.js +1 -1
  773. package/aws-stepfunctions-tasks/lib/start-execution.js +1 -1
  774. package/aws-stepfunctions-tasks/lib/stepfunctions/invoke-activity.js +1 -1
  775. package/aws-stepfunctions-tasks/lib/stepfunctions/start-execution.js +1 -1
  776. package/aws-supportapp/lib/supportapp.generated.js +1 -1
  777. package/aws-synthetics/lib/synthetics.generated.js +1 -1
  778. package/aws-timestream/lib/timestream.generated.js +1 -1
  779. package/aws-transfer/lib/transfer.generated.js +1 -1
  780. package/aws-voiceid/lib/voiceid.generated.js +1 -1
  781. package/aws-waf/lib/waf.generated.js +1 -1
  782. package/aws-wafregional/lib/wafregional.generated.js +1 -1
  783. package/aws-wafv2/lib/wafv2.generated.js +1 -1
  784. package/aws-wisdom/lib/wisdom.generated.js +1 -1
  785. package/aws-workspaces/lib/workspaces.generated.js +1 -1
  786. package/aws-xray/lib/xray.generated.js +1 -1
  787. package/cloud-assembly-schema/lib/manifest.js +1 -1
  788. package/cloudformation-include/lib/cfn-include.js +1 -1
  789. package/core/lib/annotations.js +1 -1
  790. package/core/lib/app.js +1 -1
  791. package/core/lib/arn.js +1 -1
  792. package/core/lib/aspect.js +1 -1
  793. package/core/lib/asset-staging.js +1 -1
  794. package/core/lib/bundling.js +1 -1
  795. package/core/lib/cfn-codedeploy-blue-green-hook.js +1 -1
  796. package/core/lib/cfn-condition.js +1 -1
  797. package/core/lib/cfn-dynamic-reference.js +1 -1
  798. package/core/lib/cfn-element.js +1 -1
  799. package/core/lib/cfn-fn.js +1 -1
  800. package/core/lib/cfn-hook.js +1 -1
  801. package/core/lib/cfn-include.js +1 -1
  802. package/core/lib/cfn-json.js +1 -1
  803. package/core/lib/cfn-mapping.js +1 -1
  804. package/core/lib/cfn-output.js +1 -1
  805. package/core/lib/cfn-parameter.js +1 -1
  806. package/core/lib/cfn-pseudo.js +1 -1
  807. package/core/lib/cfn-resource.js +1 -1
  808. package/core/lib/cfn-rule.js +1 -1
  809. package/core/lib/cloudformation.generated.js +1 -1
  810. package/core/lib/context-provider.js +1 -1
  811. package/core/lib/custom-resource-provider/custom-resource-provider.js +1 -1
  812. package/core/lib/custom-resource.js +1 -1
  813. package/core/lib/duration.js +1 -1
  814. package/core/lib/expiration.js +1 -1
  815. package/core/lib/feature-flags.js +1 -1
  816. package/core/lib/fs/ignore.js +1 -1
  817. package/core/lib/fs/index.js +1 -1
  818. package/core/lib/lazy.js +1 -1
  819. package/core/lib/names.js +1 -1
  820. package/core/lib/nested-stack.js +1 -1
  821. package/core/lib/physical-name.js +1 -1
  822. package/core/lib/private/intrinsic.js +1 -1
  823. package/core/lib/reference.js +1 -1
  824. package/core/lib/resolvable.js +2 -2
  825. package/core/lib/resource.js +1 -1
  826. package/core/lib/runtime.js +2 -2
  827. package/core/lib/secret-value.js +1 -1
  828. package/core/lib/size.js +1 -1
  829. package/core/lib/stack-synthesizers/asset-manifest-builder.js +1 -1
  830. package/core/lib/stack-synthesizers/bootstrapless-synthesizer.js +1 -1
  831. package/core/lib/stack-synthesizers/cli-credentials-synthesizer.js +1 -1
  832. package/core/lib/stack-synthesizers/default-synthesizer.js +1 -1
  833. package/core/lib/stack-synthesizers/legacy.js +1 -1
  834. package/core/lib/stack-synthesizers/nested.js +1 -1
  835. package/core/lib/stack-synthesizers/stack-synthesizer.js +1 -1
  836. package/core/lib/stack.js +1 -1
  837. package/core/lib/stage.js +1 -1
  838. package/core/lib/string-fragments.js +1 -1
  839. package/core/lib/tag-aspect.js +1 -1
  840. package/core/lib/tag-manager.js +1 -1
  841. package/core/lib/token.js +1 -1
  842. package/core/lib/tree.js +1 -1
  843. package/custom-resources/lib/aws-custom-resource/aws-custom-resource.js +1 -1
  844. package/custom-resources/lib/provider-framework/provider.js +1 -1
  845. package/cx-api/lib/artifacts/asset-manifest-artifact.js +1 -1
  846. package/cx-api/lib/artifacts/cloudformation-artifact.js +1 -1
  847. package/cx-api/lib/artifacts/nested-cloud-assembly-artifact.js +1 -1
  848. package/cx-api/lib/artifacts/tree-cloud-artifact.js +1 -1
  849. package/cx-api/lib/cloud-artifact.js +1 -1
  850. package/cx-api/lib/cloud-assembly.js +1 -1
  851. package/cx-api/lib/environment.js +1 -1
  852. package/cx-api/lib/placeholders.js +1 -1
  853. package/lambda-layer-awscli/lib/awscli-layer.js +1 -1
  854. package/lambda-layer-kubectl/lib/kubectl-layer.js +1 -1
  855. package/lambda-layer-node-proxy-agent/lib/node-proxy-agent-layer.js +1 -1
  856. package/package.json +253 -253
  857. package/pipelines/lib/blueprint/file-set.js +1 -1
  858. package/pipelines/lib/blueprint/manual-approval.js +1 -1
  859. package/pipelines/lib/blueprint/shell-step.js +1 -1
  860. package/pipelines/lib/blueprint/stack-deployment.js +1 -1
  861. package/pipelines/lib/blueprint/stage-deployment.js +1 -1
  862. package/pipelines/lib/blueprint/step.js +1 -1
  863. package/pipelines/lib/blueprint/wave.js +1 -1
  864. package/pipelines/lib/codepipeline/artifact-map.js +1 -1
  865. package/pipelines/lib/codepipeline/codebuild-step.js +1 -1
  866. package/pipelines/lib/codepipeline/codepipeline-source.js +1 -1
  867. package/pipelines/lib/codepipeline/codepipeline.js +1 -1
  868. package/pipelines/lib/codepipeline/confirm-permissions-broadening.js +1 -1
  869. package/pipelines/lib/docker-credentials.js +1 -1
  870. package/pipelines/lib/legacy/actions/deploy-cdk-stack-action.js +1 -1
  871. package/pipelines/lib/legacy/actions/publish-assets-action.js +1 -1
  872. package/pipelines/lib/legacy/actions/update-pipeline-action.js +1 -1
  873. package/pipelines/lib/legacy/pipeline.js +1 -1
  874. package/pipelines/lib/legacy/stage.js +1 -1
  875. package/pipelines/lib/legacy/synths/simple-synth-action.js +1 -1
  876. package/pipelines/lib/legacy/validation/shell-script-action.js +1 -1
  877. package/pipelines/lib/main/pipeline-base.js +1 -1
  878. package/region-info/lib/built-ins.generated.d.ts +1 -1
  879. package/region-info/lib/default.js +1 -1
  880. package/region-info/lib/fact.js +1 -1
  881. package/region-info/lib/region-info.js +1 -1
  882. package/triggers/lib/trigger-function.js +1 -1
  883. package/triggers/lib/trigger.js +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";var _a,_b,_c,_d,_e,_f;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnStorageLens=exports.CfnMultiRegionAccessPointPolicy=exports.CfnMultiRegionAccessPoint=exports.CfnBucketPolicy=exports.CfnBucket=exports.CfnAccessPoint=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnAccessPointPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bucket",cdk.requiredValidator)(properties.bucket)),errors.collect(cdk.propertyValidator("bucket",cdk.validateString)(properties.bucket)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("policy",cdk.validateObject)(properties.policy)),errors.collect(cdk.propertyValidator("policyStatus",cdk.validateObject)(properties.policyStatus)),errors.collect(cdk.propertyValidator("publicAccessBlockConfiguration",CfnAccessPoint_PublicAccessBlockConfigurationPropertyValidator)(properties.publicAccessBlockConfiguration)),errors.collect(cdk.propertyValidator("vpcConfiguration",CfnAccessPoint_VpcConfigurationPropertyValidator)(properties.vpcConfiguration)),errors.wrap('supplied properties not correct for "CfnAccessPointProps"')}function cfnAccessPointPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPointPropsValidator(properties).assertSuccess(),{Bucket:cdk.stringToCloudFormation(properties.bucket),Name:cdk.stringToCloudFormation(properties.name),Policy:cdk.objectToCloudFormation(properties.policy),PolicyStatus:cdk.objectToCloudFormation(properties.policyStatus),PublicAccessBlockConfiguration:cfnAccessPointPublicAccessBlockConfigurationPropertyToCloudFormation(properties.publicAccessBlockConfiguration),VpcConfiguration:cfnAccessPointVpcConfigurationPropertyToCloudFormation(properties.vpcConfiguration)}):properties}function CfnAccessPointPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",cfn_parse.FromCloudFormation.getString(properties.Bucket)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("policy","Policy",properties.Policy!=null?cfn_parse.FromCloudFormation.getAny(properties.Policy):void 0),ret.addPropertyResult("policyStatus","PolicyStatus",properties.PolicyStatus!=null?cfn_parse.FromCloudFormation.getAny(properties.PolicyStatus):void 0),ret.addPropertyResult("publicAccessBlockConfiguration","PublicAccessBlockConfiguration",properties.PublicAccessBlockConfiguration!=null?CfnAccessPointPublicAccessBlockConfigurationPropertyFromCloudFormation(properties.PublicAccessBlockConfiguration):void 0),ret.addPropertyResult("vpcConfiguration","VpcConfiguration",properties.VpcConfiguration!=null?CfnAccessPointVpcConfigurationPropertyFromCloudFormation(properties.VpcConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAccessPoint extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAccessPoint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnAccessPointProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccessPoint),error}cdk.requireProperty(props,"bucket",this),this.attrAlias=cdk.Token.asString(this.getAtt("Alias")),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrName=cdk.Token.asString(this.getAtt("Name")),this.attrNetworkOrigin=cdk.Token.asString(this.getAtt("NetworkOrigin")),this.bucket=props.bucket,this.name=props.name,this.policy=props.policy,this.policyStatus=props.policyStatus,this.publicAccessBlockConfiguration=props.publicAccessBlockConfiguration,this.vpcConfiguration=props.vpcConfiguration}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccessPointPropsFromCloudFormation(resourceProperties),ret=new CfnAccessPoint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnAccessPoint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{bucket:this.bucket,name:this.name,policy:this.policy,policyStatus:this.policyStatus,publicAccessBlockConfiguration:this.publicAccessBlockConfiguration,vpcConfiguration:this.vpcConfiguration}}renderProperties(props){return cfnAccessPointPropsToCloudFormation(props)}}exports.CfnAccessPoint=CfnAccessPoint,_a=JSII_RTTI_SYMBOL_1,CfnAccessPoint[_a]={fqn:"aws-cdk-lib.aws_s3.CfnAccessPoint",version:"2.51.0"},CfnAccessPoint.CFN_RESOURCE_TYPE_NAME="AWS::S3::AccessPoint";function CfnAccessPoint_PublicAccessBlockConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("blockPublicAcls",cdk.validateBoolean)(properties.blockPublicAcls)),errors.collect(cdk.propertyValidator("blockPublicPolicy",cdk.validateBoolean)(properties.blockPublicPolicy)),errors.collect(cdk.propertyValidator("ignorePublicAcls",cdk.validateBoolean)(properties.ignorePublicAcls)),errors.collect(cdk.propertyValidator("restrictPublicBuckets",cdk.validateBoolean)(properties.restrictPublicBuckets)),errors.wrap('supplied properties not correct for "PublicAccessBlockConfigurationProperty"')}function cfnAccessPointPublicAccessBlockConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPoint_PublicAccessBlockConfigurationPropertyValidator(properties).assertSuccess(),{BlockPublicAcls:cdk.booleanToCloudFormation(properties.blockPublicAcls),BlockPublicPolicy:cdk.booleanToCloudFormation(properties.blockPublicPolicy),IgnorePublicAcls:cdk.booleanToCloudFormation(properties.ignorePublicAcls),RestrictPublicBuckets:cdk.booleanToCloudFormation(properties.restrictPublicBuckets)}):properties}function CfnAccessPointPublicAccessBlockConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("blockPublicAcls","BlockPublicAcls",properties.BlockPublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicAcls):void 0),ret.addPropertyResult("blockPublicPolicy","BlockPublicPolicy",properties.BlockPublicPolicy!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicPolicy):void 0),ret.addPropertyResult("ignorePublicAcls","IgnorePublicAcls",properties.IgnorePublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IgnorePublicAcls):void 0),ret.addPropertyResult("restrictPublicBuckets","RestrictPublicBuckets",properties.RestrictPublicBuckets!=null?cfn_parse.FromCloudFormation.getBoolean(properties.RestrictPublicBuckets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPoint_VpcConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("vpcId",cdk.validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "VpcConfigurationProperty"')}function cfnAccessPointVpcConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPoint_VpcConfigurationPropertyValidator(properties).assertSuccess(),{VpcId:cdk.stringToCloudFormation(properties.vpcId)}):properties}function CfnAccessPointVpcConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse.FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accelerateConfiguration",CfnBucket_AccelerateConfigurationPropertyValidator)(properties.accelerateConfiguration)),errors.collect(cdk.propertyValidator("accessControl",cdk.validateString)(properties.accessControl)),errors.collect(cdk.propertyValidator("analyticsConfigurations",cdk.listValidator(CfnBucket_AnalyticsConfigurationPropertyValidator))(properties.analyticsConfigurations)),errors.collect(cdk.propertyValidator("bucketEncryption",CfnBucket_BucketEncryptionPropertyValidator)(properties.bucketEncryption)),errors.collect(cdk.propertyValidator("bucketName",cdk.validateString)(properties.bucketName)),errors.collect(cdk.propertyValidator("corsConfiguration",CfnBucket_CorsConfigurationPropertyValidator)(properties.corsConfiguration)),errors.collect(cdk.propertyValidator("intelligentTieringConfigurations",cdk.listValidator(CfnBucket_IntelligentTieringConfigurationPropertyValidator))(properties.intelligentTieringConfigurations)),errors.collect(cdk.propertyValidator("inventoryConfigurations",cdk.listValidator(CfnBucket_InventoryConfigurationPropertyValidator))(properties.inventoryConfigurations)),errors.collect(cdk.propertyValidator("lifecycleConfiguration",CfnBucket_LifecycleConfigurationPropertyValidator)(properties.lifecycleConfiguration)),errors.collect(cdk.propertyValidator("loggingConfiguration",CfnBucket_LoggingConfigurationPropertyValidator)(properties.loggingConfiguration)),errors.collect(cdk.propertyValidator("metricsConfigurations",cdk.listValidator(CfnBucket_MetricsConfigurationPropertyValidator))(properties.metricsConfigurations)),errors.collect(cdk.propertyValidator("notificationConfiguration",CfnBucket_NotificationConfigurationPropertyValidator)(properties.notificationConfiguration)),errors.collect(cdk.propertyValidator("objectLockConfiguration",CfnBucket_ObjectLockConfigurationPropertyValidator)(properties.objectLockConfiguration)),errors.collect(cdk.propertyValidator("objectLockEnabled",cdk.validateBoolean)(properties.objectLockEnabled)),errors.collect(cdk.propertyValidator("ownershipControls",CfnBucket_OwnershipControlsPropertyValidator)(properties.ownershipControls)),errors.collect(cdk.propertyValidator("publicAccessBlockConfiguration",CfnBucket_PublicAccessBlockConfigurationPropertyValidator)(properties.publicAccessBlockConfiguration)),errors.collect(cdk.propertyValidator("replicationConfiguration",CfnBucket_ReplicationConfigurationPropertyValidator)(properties.replicationConfiguration)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("versioningConfiguration",CfnBucket_VersioningConfigurationPropertyValidator)(properties.versioningConfiguration)),errors.collect(cdk.propertyValidator("websiteConfiguration",CfnBucket_WebsiteConfigurationPropertyValidator)(properties.websiteConfiguration)),errors.wrap('supplied properties not correct for "CfnBucketProps"')}function cfnBucketPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucketPropsValidator(properties).assertSuccess(),{AccelerateConfiguration:cfnBucketAccelerateConfigurationPropertyToCloudFormation(properties.accelerateConfiguration),AccessControl:cdk.stringToCloudFormation(properties.accessControl),AnalyticsConfigurations:cdk.listMapper(cfnBucketAnalyticsConfigurationPropertyToCloudFormation)(properties.analyticsConfigurations),BucketEncryption:cfnBucketBucketEncryptionPropertyToCloudFormation(properties.bucketEncryption),BucketName:cdk.stringToCloudFormation(properties.bucketName),CorsConfiguration:cfnBucketCorsConfigurationPropertyToCloudFormation(properties.corsConfiguration),IntelligentTieringConfigurations:cdk.listMapper(cfnBucketIntelligentTieringConfigurationPropertyToCloudFormation)(properties.intelligentTieringConfigurations),InventoryConfigurations:cdk.listMapper(cfnBucketInventoryConfigurationPropertyToCloudFormation)(properties.inventoryConfigurations),LifecycleConfiguration:cfnBucketLifecycleConfigurationPropertyToCloudFormation(properties.lifecycleConfiguration),LoggingConfiguration:cfnBucketLoggingConfigurationPropertyToCloudFormation(properties.loggingConfiguration),MetricsConfigurations:cdk.listMapper(cfnBucketMetricsConfigurationPropertyToCloudFormation)(properties.metricsConfigurations),NotificationConfiguration:cfnBucketNotificationConfigurationPropertyToCloudFormation(properties.notificationConfiguration),ObjectLockConfiguration:cfnBucketObjectLockConfigurationPropertyToCloudFormation(properties.objectLockConfiguration),ObjectLockEnabled:cdk.booleanToCloudFormation(properties.objectLockEnabled),OwnershipControls:cfnBucketOwnershipControlsPropertyToCloudFormation(properties.ownershipControls),PublicAccessBlockConfiguration:cfnBucketPublicAccessBlockConfigurationPropertyToCloudFormation(properties.publicAccessBlockConfiguration),ReplicationConfiguration:cfnBucketReplicationConfigurationPropertyToCloudFormation(properties.replicationConfiguration),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),VersioningConfiguration:cfnBucketVersioningConfigurationPropertyToCloudFormation(properties.versioningConfiguration),WebsiteConfiguration:cfnBucketWebsiteConfigurationPropertyToCloudFormation(properties.websiteConfiguration)}):properties}function CfnBucketPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accelerateConfiguration","AccelerateConfiguration",properties.AccelerateConfiguration!=null?CfnBucketAccelerateConfigurationPropertyFromCloudFormation(properties.AccelerateConfiguration):void 0),ret.addPropertyResult("accessControl","AccessControl",properties.AccessControl!=null?cfn_parse.FromCloudFormation.getString(properties.AccessControl):void 0),ret.addPropertyResult("analyticsConfigurations","AnalyticsConfigurations",properties.AnalyticsConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketAnalyticsConfigurationPropertyFromCloudFormation)(properties.AnalyticsConfigurations):void 0),ret.addPropertyResult("bucketEncryption","BucketEncryption",properties.BucketEncryption!=null?CfnBucketBucketEncryptionPropertyFromCloudFormation(properties.BucketEncryption):void 0),ret.addPropertyResult("bucketName","BucketName",properties.BucketName!=null?cfn_parse.FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("corsConfiguration","CorsConfiguration",properties.CorsConfiguration!=null?CfnBucketCorsConfigurationPropertyFromCloudFormation(properties.CorsConfiguration):void 0),ret.addPropertyResult("intelligentTieringConfigurations","IntelligentTieringConfigurations",properties.IntelligentTieringConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketIntelligentTieringConfigurationPropertyFromCloudFormation)(properties.IntelligentTieringConfigurations):void 0),ret.addPropertyResult("inventoryConfigurations","InventoryConfigurations",properties.InventoryConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketInventoryConfigurationPropertyFromCloudFormation)(properties.InventoryConfigurations):void 0),ret.addPropertyResult("lifecycleConfiguration","LifecycleConfiguration",properties.LifecycleConfiguration!=null?CfnBucketLifecycleConfigurationPropertyFromCloudFormation(properties.LifecycleConfiguration):void 0),ret.addPropertyResult("loggingConfiguration","LoggingConfiguration",properties.LoggingConfiguration!=null?CfnBucketLoggingConfigurationPropertyFromCloudFormation(properties.LoggingConfiguration):void 0),ret.addPropertyResult("metricsConfigurations","MetricsConfigurations",properties.MetricsConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketMetricsConfigurationPropertyFromCloudFormation)(properties.MetricsConfigurations):void 0),ret.addPropertyResult("notificationConfiguration","NotificationConfiguration",properties.NotificationConfiguration!=null?CfnBucketNotificationConfigurationPropertyFromCloudFormation(properties.NotificationConfiguration):void 0),ret.addPropertyResult("objectLockConfiguration","ObjectLockConfiguration",properties.ObjectLockConfiguration!=null?CfnBucketObjectLockConfigurationPropertyFromCloudFormation(properties.ObjectLockConfiguration):void 0),ret.addPropertyResult("objectLockEnabled","ObjectLockEnabled",properties.ObjectLockEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.ObjectLockEnabled):void 0),ret.addPropertyResult("ownershipControls","OwnershipControls",properties.OwnershipControls!=null?CfnBucketOwnershipControlsPropertyFromCloudFormation(properties.OwnershipControls):void 0),ret.addPropertyResult("publicAccessBlockConfiguration","PublicAccessBlockConfiguration",properties.PublicAccessBlockConfiguration!=null?CfnBucketPublicAccessBlockConfigurationPropertyFromCloudFormation(properties.PublicAccessBlockConfiguration):void 0),ret.addPropertyResult("replicationConfiguration","ReplicationConfiguration",properties.ReplicationConfiguration!=null?CfnBucketReplicationConfigurationPropertyFromCloudFormation(properties.ReplicationConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("versioningConfiguration","VersioningConfiguration",properties.VersioningConfiguration!=null?CfnBucketVersioningConfigurationPropertyFromCloudFormation(properties.VersioningConfiguration):void 0),ret.addPropertyResult("websiteConfiguration","WebsiteConfiguration",properties.WebsiteConfiguration!=null?CfnBucketWebsiteConfigurationPropertyFromCloudFormation(properties.WebsiteConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBucket extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnBucket.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnBucketProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBucket),error}this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrDomainName=cdk.Token.asString(this.getAtt("DomainName")),this.attrDualStackDomainName=cdk.Token.asString(this.getAtt("DualStackDomainName")),this.attrRegionalDomainName=cdk.Token.asString(this.getAtt("RegionalDomainName")),this.attrWebsiteUrl=cdk.Token.asString(this.getAtt("WebsiteURL")),this.accelerateConfiguration=props.accelerateConfiguration,this.accessControl=props.accessControl,this.analyticsConfigurations=props.analyticsConfigurations,this.bucketEncryption=props.bucketEncryption,this.bucketName=props.bucketName,this.corsConfiguration=props.corsConfiguration,this.intelligentTieringConfigurations=props.intelligentTieringConfigurations,this.inventoryConfigurations=props.inventoryConfigurations,this.lifecycleConfiguration=props.lifecycleConfiguration,this.loggingConfiguration=props.loggingConfiguration,this.metricsConfigurations=props.metricsConfigurations,this.notificationConfiguration=props.notificationConfiguration,this.objectLockConfiguration=props.objectLockConfiguration,this.objectLockEnabled=props.objectLockEnabled,this.ownershipControls=props.ownershipControls,this.publicAccessBlockConfiguration=props.publicAccessBlockConfiguration,this.replicationConfiguration=props.replicationConfiguration,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::S3::Bucket",props.tags,{tagPropertyName:"tags"}),this.versioningConfiguration=props.versioningConfiguration,this.websiteConfiguration=props.websiteConfiguration,this.node.scope&&cdk.Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::S3::Bucket' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBucketPropsFromCloudFormation(resourceProperties),ret=new CfnBucket(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnBucket.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{accelerateConfiguration:this.accelerateConfiguration,accessControl:this.accessControl,analyticsConfigurations:this.analyticsConfigurations,bucketEncryption:this.bucketEncryption,bucketName:this.bucketName,corsConfiguration:this.corsConfiguration,intelligentTieringConfigurations:this.intelligentTieringConfigurations,inventoryConfigurations:this.inventoryConfigurations,lifecycleConfiguration:this.lifecycleConfiguration,loggingConfiguration:this.loggingConfiguration,metricsConfigurations:this.metricsConfigurations,notificationConfiguration:this.notificationConfiguration,objectLockConfiguration:this.objectLockConfiguration,objectLockEnabled:this.objectLockEnabled,ownershipControls:this.ownershipControls,publicAccessBlockConfiguration:this.publicAccessBlockConfiguration,replicationConfiguration:this.replicationConfiguration,tags:this.tags.renderTags(),versioningConfiguration:this.versioningConfiguration,websiteConfiguration:this.websiteConfiguration}}renderProperties(props){return cfnBucketPropsToCloudFormation(props)}}exports.CfnBucket=CfnBucket,_b=JSII_RTTI_SYMBOL_1,CfnBucket[_b]={fqn:"aws-cdk-lib.aws_s3.CfnBucket",version:"2.51.0"},CfnBucket.CFN_RESOURCE_TYPE_NAME="AWS::S3::Bucket";function CfnBucket_AbortIncompleteMultipartUploadPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("daysAfterInitiation",cdk.requiredValidator)(properties.daysAfterInitiation)),errors.collect(cdk.propertyValidator("daysAfterInitiation",cdk.validateNumber)(properties.daysAfterInitiation)),errors.wrap('supplied properties not correct for "AbortIncompleteMultipartUploadProperty"')}function cfnBucketAbortIncompleteMultipartUploadPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_AbortIncompleteMultipartUploadPropertyValidator(properties).assertSuccess(),{DaysAfterInitiation:cdk.numberToCloudFormation(properties.daysAfterInitiation)}):properties}function CfnBucketAbortIncompleteMultipartUploadPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("daysAfterInitiation","DaysAfterInitiation",cfn_parse.FromCloudFormation.getNumber(properties.DaysAfterInitiation)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_AccelerateConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accelerationStatus",cdk.requiredValidator)(properties.accelerationStatus)),errors.collect(cdk.propertyValidator("accelerationStatus",cdk.validateString)(properties.accelerationStatus)),errors.wrap('supplied properties not correct for "AccelerateConfigurationProperty"')}function cfnBucketAccelerateConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_AccelerateConfigurationPropertyValidator(properties).assertSuccess(),{AccelerationStatus:cdk.stringToCloudFormation(properties.accelerationStatus)}):properties}function CfnBucketAccelerateConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accelerationStatus","AccelerationStatus",cfn_parse.FromCloudFormation.getString(properties.AccelerationStatus)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_AccessControlTranslationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("owner",cdk.requiredValidator)(properties.owner)),errors.collect(cdk.propertyValidator("owner",cdk.validateString)(properties.owner)),errors.wrap('supplied properties not correct for "AccessControlTranslationProperty"')}function cfnBucketAccessControlTranslationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_AccessControlTranslationPropertyValidator(properties).assertSuccess(),{Owner:cdk.stringToCloudFormation(properties.owner)}):properties}function CfnBucketAccessControlTranslationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("owner","Owner",cfn_parse.FromCloudFormation.getString(properties.Owner)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_AnalyticsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("storageClassAnalysis",cdk.requiredValidator)(properties.storageClassAnalysis)),errors.collect(cdk.propertyValidator("storageClassAnalysis",CfnBucket_StorageClassAnalysisPropertyValidator)(properties.storageClassAnalysis)),errors.collect(cdk.propertyValidator("tagFilters",cdk.listValidator(CfnBucket_TagFilterPropertyValidator))(properties.tagFilters)),errors.wrap('supplied properties not correct for "AnalyticsConfigurationProperty"')}function cfnBucketAnalyticsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_AnalyticsConfigurationPropertyValidator(properties).assertSuccess(),{Id:cdk.stringToCloudFormation(properties.id),Prefix:cdk.stringToCloudFormation(properties.prefix),StorageClassAnalysis:cfnBucketStorageClassAnalysisPropertyToCloudFormation(properties.storageClassAnalysis),TagFilters:cdk.listMapper(cfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters)}):properties}function CfnBucketAnalyticsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("storageClassAnalysis","StorageClassAnalysis",CfnBucketStorageClassAnalysisPropertyFromCloudFormation(properties.StorageClassAnalysis)),ret.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_BucketEncryptionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("serverSideEncryptionConfiguration",cdk.requiredValidator)(properties.serverSideEncryptionConfiguration)),errors.collect(cdk.propertyValidator("serverSideEncryptionConfiguration",cdk.listValidator(CfnBucket_ServerSideEncryptionRulePropertyValidator))(properties.serverSideEncryptionConfiguration)),errors.wrap('supplied properties not correct for "BucketEncryptionProperty"')}function cfnBucketBucketEncryptionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_BucketEncryptionPropertyValidator(properties).assertSuccess(),{ServerSideEncryptionConfiguration:cdk.listMapper(cfnBucketServerSideEncryptionRulePropertyToCloudFormation)(properties.serverSideEncryptionConfiguration)}):properties}function CfnBucketBucketEncryptionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("serverSideEncryptionConfiguration","ServerSideEncryptionConfiguration",cfn_parse.FromCloudFormation.getArray(CfnBucketServerSideEncryptionRulePropertyFromCloudFormation)(properties.ServerSideEncryptionConfiguration)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_CorsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("corsRules",cdk.requiredValidator)(properties.corsRules)),errors.collect(cdk.propertyValidator("corsRules",cdk.listValidator(CfnBucket_CorsRulePropertyValidator))(properties.corsRules)),errors.wrap('supplied properties not correct for "CorsConfigurationProperty"')}function cfnBucketCorsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_CorsConfigurationPropertyValidator(properties).assertSuccess(),{CorsRules:cdk.listMapper(cfnBucketCorsRulePropertyToCloudFormation)(properties.corsRules)}):properties}function CfnBucketCorsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("corsRules","CorsRules",cfn_parse.FromCloudFormation.getArray(CfnBucketCorsRulePropertyFromCloudFormation)(properties.CorsRules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_CorsRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allowedHeaders",cdk.listValidator(cdk.validateString))(properties.allowedHeaders)),errors.collect(cdk.propertyValidator("allowedMethods",cdk.requiredValidator)(properties.allowedMethods)),errors.collect(cdk.propertyValidator("allowedMethods",cdk.listValidator(cdk.validateString))(properties.allowedMethods)),errors.collect(cdk.propertyValidator("allowedOrigins",cdk.requiredValidator)(properties.allowedOrigins)),errors.collect(cdk.propertyValidator("allowedOrigins",cdk.listValidator(cdk.validateString))(properties.allowedOrigins)),errors.collect(cdk.propertyValidator("exposedHeaders",cdk.listValidator(cdk.validateString))(properties.exposedHeaders)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("maxAge",cdk.validateNumber)(properties.maxAge)),errors.wrap('supplied properties not correct for "CorsRuleProperty"')}function cfnBucketCorsRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_CorsRulePropertyValidator(properties).assertSuccess(),{AllowedHeaders:cdk.listMapper(cdk.stringToCloudFormation)(properties.allowedHeaders),AllowedMethods:cdk.listMapper(cdk.stringToCloudFormation)(properties.allowedMethods),AllowedOrigins:cdk.listMapper(cdk.stringToCloudFormation)(properties.allowedOrigins),ExposedHeaders:cdk.listMapper(cdk.stringToCloudFormation)(properties.exposedHeaders),Id:cdk.stringToCloudFormation(properties.id),MaxAge:cdk.numberToCloudFormation(properties.maxAge)}):properties}function CfnBucketCorsRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("allowedHeaders","AllowedHeaders",properties.AllowedHeaders!=null?cfn_parse.FromCloudFormation.getStringArray(properties.AllowedHeaders):void 0),ret.addPropertyResult("allowedMethods","AllowedMethods",cfn_parse.FromCloudFormation.getStringArray(properties.AllowedMethods)),ret.addPropertyResult("allowedOrigins","AllowedOrigins",cfn_parse.FromCloudFormation.getStringArray(properties.AllowedOrigins)),ret.addPropertyResult("exposedHeaders","ExposedHeaders",properties.ExposedHeaders!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ExposedHeaders):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse.FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("maxAge","MaxAge",properties.MaxAge!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaxAge):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_DataExportPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("destination",cdk.requiredValidator)(properties.destination)),errors.collect(cdk.propertyValidator("destination",CfnBucket_DestinationPropertyValidator)(properties.destination)),errors.collect(cdk.propertyValidator("outputSchemaVersion",cdk.requiredValidator)(properties.outputSchemaVersion)),errors.collect(cdk.propertyValidator("outputSchemaVersion",cdk.validateString)(properties.outputSchemaVersion)),errors.wrap('supplied properties not correct for "DataExportProperty"')}function cfnBucketDataExportPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_DataExportPropertyValidator(properties).assertSuccess(),{Destination:cfnBucketDestinationPropertyToCloudFormation(properties.destination),OutputSchemaVersion:cdk.stringToCloudFormation(properties.outputSchemaVersion)}):properties}function CfnBucketDataExportPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",CfnBucketDestinationPropertyFromCloudFormation(properties.Destination)),ret.addPropertyResult("outputSchemaVersion","OutputSchemaVersion",cfn_parse.FromCloudFormation.getString(properties.OutputSchemaVersion)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_DefaultRetentionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("days",cdk.validateNumber)(properties.days)),errors.collect(cdk.propertyValidator("mode",cdk.validateString)(properties.mode)),errors.collect(cdk.propertyValidator("years",cdk.validateNumber)(properties.years)),errors.wrap('supplied properties not correct for "DefaultRetentionProperty"')}function cfnBucketDefaultRetentionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_DefaultRetentionPropertyValidator(properties).assertSuccess(),{Days:cdk.numberToCloudFormation(properties.days),Mode:cdk.stringToCloudFormation(properties.mode),Years:cdk.numberToCloudFormation(properties.years)}):properties}function CfnBucketDefaultRetentionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("days","Days",properties.Days!=null?cfn_parse.FromCloudFormation.getNumber(properties.Days):void 0),ret.addPropertyResult("mode","Mode",properties.Mode!=null?cfn_parse.FromCloudFormation.getString(properties.Mode):void 0),ret.addPropertyResult("years","Years",properties.Years!=null?cfn_parse.FromCloudFormation.getNumber(properties.Years):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_DeleteMarkerReplicationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "DeleteMarkerReplicationProperty"')}function cfnBucketDeleteMarkerReplicationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_DeleteMarkerReplicationPropertyValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketDeleteMarkerReplicationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse.FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_DestinationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bucketAccountId",cdk.validateString)(properties.bucketAccountId)),errors.collect(cdk.propertyValidator("bucketArn",cdk.requiredValidator)(properties.bucketArn)),errors.collect(cdk.propertyValidator("bucketArn",cdk.validateString)(properties.bucketArn)),errors.collect(cdk.propertyValidator("format",cdk.requiredValidator)(properties.format)),errors.collect(cdk.propertyValidator("format",cdk.validateString)(properties.format)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.wrap('supplied properties not correct for "DestinationProperty"')}function cfnBucketDestinationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_DestinationPropertyValidator(properties).assertSuccess(),{BucketAccountId:cdk.stringToCloudFormation(properties.bucketAccountId),BucketArn:cdk.stringToCloudFormation(properties.bucketArn),Format:cdk.stringToCloudFormation(properties.format),Prefix:cdk.stringToCloudFormation(properties.prefix)}):properties}function CfnBucketDestinationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketAccountId","BucketAccountId",properties.BucketAccountId!=null?cfn_parse.FromCloudFormation.getString(properties.BucketAccountId):void 0),ret.addPropertyResult("bucketArn","BucketArn",cfn_parse.FromCloudFormation.getString(properties.BucketArn)),ret.addPropertyResult("format","Format",cfn_parse.FromCloudFormation.getString(properties.Format)),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_EncryptionConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("replicaKmsKeyId",cdk.requiredValidator)(properties.replicaKmsKeyId)),errors.collect(cdk.propertyValidator("replicaKmsKeyId",cdk.validateString)(properties.replicaKmsKeyId)),errors.wrap('supplied properties not correct for "EncryptionConfigurationProperty"')}function cfnBucketEncryptionConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_EncryptionConfigurationPropertyValidator(properties).assertSuccess(),{ReplicaKmsKeyID:cdk.stringToCloudFormation(properties.replicaKmsKeyId)}):properties}function CfnBucketEncryptionConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("replicaKmsKeyId","ReplicaKmsKeyID",cfn_parse.FromCloudFormation.getString(properties.ReplicaKmsKeyID)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_EventBridgeConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("eventBridgeEnabled",cdk.validateBoolean)(properties.eventBridgeEnabled)),errors.wrap('supplied properties not correct for "EventBridgeConfigurationProperty"')}function cfnBucketEventBridgeConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_EventBridgeConfigurationPropertyValidator(properties).assertSuccess(),{EventBridgeEnabled:cdk.booleanToCloudFormation(properties.eventBridgeEnabled)}):properties}function CfnBucketEventBridgeConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("eventBridgeEnabled","EventBridgeEnabled",properties.EventBridgeEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EventBridgeEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_FilterRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("value",cdk.requiredValidator)(properties.value)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "FilterRuleProperty"')}function cfnBucketFilterRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_FilterRulePropertyValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnBucketFilterRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getString(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_IntelligentTieringConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("tagFilters",cdk.listValidator(CfnBucket_TagFilterPropertyValidator))(properties.tagFilters)),errors.collect(cdk.propertyValidator("tierings",cdk.requiredValidator)(properties.tierings)),errors.collect(cdk.propertyValidator("tierings",cdk.listValidator(CfnBucket_TieringPropertyValidator))(properties.tierings)),errors.wrap('supplied properties not correct for "IntelligentTieringConfigurationProperty"')}function cfnBucketIntelligentTieringConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_IntelligentTieringConfigurationPropertyValidator(properties).assertSuccess(),{Id:cdk.stringToCloudFormation(properties.id),Prefix:cdk.stringToCloudFormation(properties.prefix),Status:cdk.stringToCloudFormation(properties.status),TagFilters:cdk.listMapper(cfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters),Tierings:cdk.listMapper(cfnBucketTieringPropertyToCloudFormation)(properties.tierings)}):properties}function CfnBucketIntelligentTieringConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addPropertyResult("tierings","Tierings",cfn_parse.FromCloudFormation.getArray(CfnBucketTieringPropertyFromCloudFormation)(properties.Tierings)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_InventoryConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("destination",cdk.requiredValidator)(properties.destination)),errors.collect(cdk.propertyValidator("destination",CfnBucket_DestinationPropertyValidator)(properties.destination)),errors.collect(cdk.propertyValidator("enabled",cdk.requiredValidator)(properties.enabled)),errors.collect(cdk.propertyValidator("enabled",cdk.validateBoolean)(properties.enabled)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("includedObjectVersions",cdk.requiredValidator)(properties.includedObjectVersions)),errors.collect(cdk.propertyValidator("includedObjectVersions",cdk.validateString)(properties.includedObjectVersions)),errors.collect(cdk.propertyValidator("optionalFields",cdk.listValidator(cdk.validateString))(properties.optionalFields)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("scheduleFrequency",cdk.requiredValidator)(properties.scheduleFrequency)),errors.collect(cdk.propertyValidator("scheduleFrequency",cdk.validateString)(properties.scheduleFrequency)),errors.wrap('supplied properties not correct for "InventoryConfigurationProperty"')}function cfnBucketInventoryConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_InventoryConfigurationPropertyValidator(properties).assertSuccess(),{Destination:cfnBucketDestinationPropertyToCloudFormation(properties.destination),Enabled:cdk.booleanToCloudFormation(properties.enabled),Id:cdk.stringToCloudFormation(properties.id),IncludedObjectVersions:cdk.stringToCloudFormation(properties.includedObjectVersions),OptionalFields:cdk.listMapper(cdk.stringToCloudFormation)(properties.optionalFields),Prefix:cdk.stringToCloudFormation(properties.prefix),ScheduleFrequency:cdk.stringToCloudFormation(properties.scheduleFrequency)}):properties}function CfnBucketInventoryConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",CfnBucketDestinationPropertyFromCloudFormation(properties.Destination)),ret.addPropertyResult("enabled","Enabled",cfn_parse.FromCloudFormation.getBoolean(properties.Enabled)),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("includedObjectVersions","IncludedObjectVersions",cfn_parse.FromCloudFormation.getString(properties.IncludedObjectVersions)),ret.addPropertyResult("optionalFields","OptionalFields",properties.OptionalFields!=null?cfn_parse.FromCloudFormation.getStringArray(properties.OptionalFields):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("scheduleFrequency","ScheduleFrequency",cfn_parse.FromCloudFormation.getString(properties.ScheduleFrequency)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_LambdaConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("event",cdk.requiredValidator)(properties.event)),errors.collect(cdk.propertyValidator("event",cdk.validateString)(properties.event)),errors.collect(cdk.propertyValidator("filter",CfnBucket_NotificationFilterPropertyValidator)(properties.filter)),errors.collect(cdk.propertyValidator("function",cdk.requiredValidator)(properties.function)),errors.collect(cdk.propertyValidator("function",cdk.validateString)(properties.function)),errors.wrap('supplied properties not correct for "LambdaConfigurationProperty"')}function cfnBucketLambdaConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_LambdaConfigurationPropertyValidator(properties).assertSuccess(),{Event:cdk.stringToCloudFormation(properties.event),Filter:cfnBucketNotificationFilterPropertyToCloudFormation(properties.filter),Function:cdk.stringToCloudFormation(properties.function)}):properties}function CfnBucketLambdaConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("event","Event",cfn_parse.FromCloudFormation.getString(properties.Event)),ret.addPropertyResult("filter","Filter",properties.Filter!=null?CfnBucketNotificationFilterPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("function","Function",cfn_parse.FromCloudFormation.getString(properties.Function)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_LifecycleConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnBucket_RulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "LifecycleConfigurationProperty"')}function cfnBucketLifecycleConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_LifecycleConfigurationPropertyValidator(properties).assertSuccess(),{Rules:cdk.listMapper(cfnBucketRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnBucketLifecycleConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnBucketRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_LoggingConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("destinationBucketName",cdk.validateString)(properties.destinationBucketName)),errors.collect(cdk.propertyValidator("logFilePrefix",cdk.validateString)(properties.logFilePrefix)),errors.wrap('supplied properties not correct for "LoggingConfigurationProperty"')}function cfnBucketLoggingConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_LoggingConfigurationPropertyValidator(properties).assertSuccess(),{DestinationBucketName:cdk.stringToCloudFormation(properties.destinationBucketName),LogFilePrefix:cdk.stringToCloudFormation(properties.logFilePrefix)}):properties}function CfnBucketLoggingConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationBucketName","DestinationBucketName",properties.DestinationBucketName!=null?cfn_parse.FromCloudFormation.getString(properties.DestinationBucketName):void 0),ret.addPropertyResult("logFilePrefix","LogFilePrefix",properties.LogFilePrefix!=null?cfn_parse.FromCloudFormation.getString(properties.LogFilePrefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_MetricsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("eventThreshold",CfnBucket_ReplicationTimeValuePropertyValidator)(properties.eventThreshold)),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "MetricsProperty"')}function cfnBucketMetricsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_MetricsPropertyValidator(properties).assertSuccess(),{EventThreshold:cfnBucketReplicationTimeValuePropertyToCloudFormation(properties.eventThreshold),Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketMetricsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("eventThreshold","EventThreshold",properties.EventThreshold!=null?CfnBucketReplicationTimeValuePropertyFromCloudFormation(properties.EventThreshold):void 0),ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_MetricsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accessPointArn",cdk.validateString)(properties.accessPointArn)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("tagFilters",cdk.listValidator(CfnBucket_TagFilterPropertyValidator))(properties.tagFilters)),errors.wrap('supplied properties not correct for "MetricsConfigurationProperty"')}function cfnBucketMetricsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_MetricsConfigurationPropertyValidator(properties).assertSuccess(),{AccessPointArn:cdk.stringToCloudFormation(properties.accessPointArn),Id:cdk.stringToCloudFormation(properties.id),Prefix:cdk.stringToCloudFormation(properties.prefix),TagFilters:cdk.listMapper(cfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters)}):properties}function CfnBucketMetricsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accessPointArn","AccessPointArn",properties.AccessPointArn!=null?cfn_parse.FromCloudFormation.getString(properties.AccessPointArn):void 0),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_NoncurrentVersionExpirationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("newerNoncurrentVersions",cdk.validateNumber)(properties.newerNoncurrentVersions)),errors.collect(cdk.propertyValidator("noncurrentDays",cdk.requiredValidator)(properties.noncurrentDays)),errors.collect(cdk.propertyValidator("noncurrentDays",cdk.validateNumber)(properties.noncurrentDays)),errors.wrap('supplied properties not correct for "NoncurrentVersionExpirationProperty"')}function cfnBucketNoncurrentVersionExpirationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_NoncurrentVersionExpirationPropertyValidator(properties).assertSuccess(),{NewerNoncurrentVersions:cdk.numberToCloudFormation(properties.newerNoncurrentVersions),NoncurrentDays:cdk.numberToCloudFormation(properties.noncurrentDays)}):properties}function CfnBucketNoncurrentVersionExpirationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("newerNoncurrentVersions","NewerNoncurrentVersions",properties.NewerNoncurrentVersions!=null?cfn_parse.FromCloudFormation.getNumber(properties.NewerNoncurrentVersions):void 0),ret.addPropertyResult("noncurrentDays","NoncurrentDays",cfn_parse.FromCloudFormation.getNumber(properties.NoncurrentDays)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_NoncurrentVersionTransitionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("newerNoncurrentVersions",cdk.validateNumber)(properties.newerNoncurrentVersions)),errors.collect(cdk.propertyValidator("storageClass",cdk.requiredValidator)(properties.storageClass)),errors.collect(cdk.propertyValidator("storageClass",cdk.validateString)(properties.storageClass)),errors.collect(cdk.propertyValidator("transitionInDays",cdk.requiredValidator)(properties.transitionInDays)),errors.collect(cdk.propertyValidator("transitionInDays",cdk.validateNumber)(properties.transitionInDays)),errors.wrap('supplied properties not correct for "NoncurrentVersionTransitionProperty"')}function cfnBucketNoncurrentVersionTransitionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_NoncurrentVersionTransitionPropertyValidator(properties).assertSuccess(),{NewerNoncurrentVersions:cdk.numberToCloudFormation(properties.newerNoncurrentVersions),StorageClass:cdk.stringToCloudFormation(properties.storageClass),TransitionInDays:cdk.numberToCloudFormation(properties.transitionInDays)}):properties}function CfnBucketNoncurrentVersionTransitionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("newerNoncurrentVersions","NewerNoncurrentVersions",properties.NewerNoncurrentVersions!=null?cfn_parse.FromCloudFormation.getNumber(properties.NewerNoncurrentVersions):void 0),ret.addPropertyResult("storageClass","StorageClass",cfn_parse.FromCloudFormation.getString(properties.StorageClass)),ret.addPropertyResult("transitionInDays","TransitionInDays",cfn_parse.FromCloudFormation.getNumber(properties.TransitionInDays)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_NotificationConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("eventBridgeConfiguration",CfnBucket_EventBridgeConfigurationPropertyValidator)(properties.eventBridgeConfiguration)),errors.collect(cdk.propertyValidator("lambdaConfigurations",cdk.listValidator(CfnBucket_LambdaConfigurationPropertyValidator))(properties.lambdaConfigurations)),errors.collect(cdk.propertyValidator("queueConfigurations",cdk.listValidator(CfnBucket_QueueConfigurationPropertyValidator))(properties.queueConfigurations)),errors.collect(cdk.propertyValidator("topicConfigurations",cdk.listValidator(CfnBucket_TopicConfigurationPropertyValidator))(properties.topicConfigurations)),errors.wrap('supplied properties not correct for "NotificationConfigurationProperty"')}function cfnBucketNotificationConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_NotificationConfigurationPropertyValidator(properties).assertSuccess(),{EventBridgeConfiguration:cfnBucketEventBridgeConfigurationPropertyToCloudFormation(properties.eventBridgeConfiguration),LambdaConfigurations:cdk.listMapper(cfnBucketLambdaConfigurationPropertyToCloudFormation)(properties.lambdaConfigurations),QueueConfigurations:cdk.listMapper(cfnBucketQueueConfigurationPropertyToCloudFormation)(properties.queueConfigurations),TopicConfigurations:cdk.listMapper(cfnBucketTopicConfigurationPropertyToCloudFormation)(properties.topicConfigurations)}):properties}function CfnBucketNotificationConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("eventBridgeConfiguration","EventBridgeConfiguration",properties.EventBridgeConfiguration!=null?CfnBucketEventBridgeConfigurationPropertyFromCloudFormation(properties.EventBridgeConfiguration):void 0),ret.addPropertyResult("lambdaConfigurations","LambdaConfigurations",properties.LambdaConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketLambdaConfigurationPropertyFromCloudFormation)(properties.LambdaConfigurations):void 0),ret.addPropertyResult("queueConfigurations","QueueConfigurations",properties.QueueConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketQueueConfigurationPropertyFromCloudFormation)(properties.QueueConfigurations):void 0),ret.addPropertyResult("topicConfigurations","TopicConfigurations",properties.TopicConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTopicConfigurationPropertyFromCloudFormation)(properties.TopicConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_NotificationFilterPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("s3Key",cdk.requiredValidator)(properties.s3Key)),errors.collect(cdk.propertyValidator("s3Key",CfnBucket_S3KeyFilterPropertyValidator)(properties.s3Key)),errors.wrap('supplied properties not correct for "NotificationFilterProperty"')}function cfnBucketNotificationFilterPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_NotificationFilterPropertyValidator(properties).assertSuccess(),{S3Key:cfnBucketS3KeyFilterPropertyToCloudFormation(properties.s3Key)}):properties}function CfnBucketNotificationFilterPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("s3Key","S3Key",CfnBucketS3KeyFilterPropertyFromCloudFormation(properties.S3Key)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ObjectLockConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("objectLockEnabled",cdk.validateString)(properties.objectLockEnabled)),errors.collect(cdk.propertyValidator("rule",CfnBucket_ObjectLockRulePropertyValidator)(properties.rule)),errors.wrap('supplied properties not correct for "ObjectLockConfigurationProperty"')}function cfnBucketObjectLockConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ObjectLockConfigurationPropertyValidator(properties).assertSuccess(),{ObjectLockEnabled:cdk.stringToCloudFormation(properties.objectLockEnabled),Rule:cfnBucketObjectLockRulePropertyToCloudFormation(properties.rule)}):properties}function CfnBucketObjectLockConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("objectLockEnabled","ObjectLockEnabled",properties.ObjectLockEnabled!=null?cfn_parse.FromCloudFormation.getString(properties.ObjectLockEnabled):void 0),ret.addPropertyResult("rule","Rule",properties.Rule!=null?CfnBucketObjectLockRulePropertyFromCloudFormation(properties.Rule):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ObjectLockRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("defaultRetention",CfnBucket_DefaultRetentionPropertyValidator)(properties.defaultRetention)),errors.wrap('supplied properties not correct for "ObjectLockRuleProperty"')}function cfnBucketObjectLockRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ObjectLockRulePropertyValidator(properties).assertSuccess(),{DefaultRetention:cfnBucketDefaultRetentionPropertyToCloudFormation(properties.defaultRetention)}):properties}function CfnBucketObjectLockRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultRetention","DefaultRetention",properties.DefaultRetention!=null?CfnBucketDefaultRetentionPropertyFromCloudFormation(properties.DefaultRetention):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_OwnershipControlsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnBucket_OwnershipControlsRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "OwnershipControlsProperty"')}function cfnBucketOwnershipControlsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_OwnershipControlsPropertyValidator(properties).assertSuccess(),{Rules:cdk.listMapper(cfnBucketOwnershipControlsRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnBucketOwnershipControlsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnBucketOwnershipControlsRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_OwnershipControlsRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("objectOwnership",cdk.validateString)(properties.objectOwnership)),errors.wrap('supplied properties not correct for "OwnershipControlsRuleProperty"')}function cfnBucketOwnershipControlsRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_OwnershipControlsRulePropertyValidator(properties).assertSuccess(),{ObjectOwnership:cdk.stringToCloudFormation(properties.objectOwnership)}):properties}function CfnBucketOwnershipControlsRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("objectOwnership","ObjectOwnership",properties.ObjectOwnership!=null?cfn_parse.FromCloudFormation.getString(properties.ObjectOwnership):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_PublicAccessBlockConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("blockPublicAcls",cdk.validateBoolean)(properties.blockPublicAcls)),errors.collect(cdk.propertyValidator("blockPublicPolicy",cdk.validateBoolean)(properties.blockPublicPolicy)),errors.collect(cdk.propertyValidator("ignorePublicAcls",cdk.validateBoolean)(properties.ignorePublicAcls)),errors.collect(cdk.propertyValidator("restrictPublicBuckets",cdk.validateBoolean)(properties.restrictPublicBuckets)),errors.wrap('supplied properties not correct for "PublicAccessBlockConfigurationProperty"')}function cfnBucketPublicAccessBlockConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_PublicAccessBlockConfigurationPropertyValidator(properties).assertSuccess(),{BlockPublicAcls:cdk.booleanToCloudFormation(properties.blockPublicAcls),BlockPublicPolicy:cdk.booleanToCloudFormation(properties.blockPublicPolicy),IgnorePublicAcls:cdk.booleanToCloudFormation(properties.ignorePublicAcls),RestrictPublicBuckets:cdk.booleanToCloudFormation(properties.restrictPublicBuckets)}):properties}function CfnBucketPublicAccessBlockConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("blockPublicAcls","BlockPublicAcls",properties.BlockPublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicAcls):void 0),ret.addPropertyResult("blockPublicPolicy","BlockPublicPolicy",properties.BlockPublicPolicy!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicPolicy):void 0),ret.addPropertyResult("ignorePublicAcls","IgnorePublicAcls",properties.IgnorePublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IgnorePublicAcls):void 0),ret.addPropertyResult("restrictPublicBuckets","RestrictPublicBuckets",properties.RestrictPublicBuckets!=null?cfn_parse.FromCloudFormation.getBoolean(properties.RestrictPublicBuckets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_QueueConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("event",cdk.requiredValidator)(properties.event)),errors.collect(cdk.propertyValidator("event",cdk.validateString)(properties.event)),errors.collect(cdk.propertyValidator("filter",CfnBucket_NotificationFilterPropertyValidator)(properties.filter)),errors.collect(cdk.propertyValidator("queue",cdk.requiredValidator)(properties.queue)),errors.collect(cdk.propertyValidator("queue",cdk.validateString)(properties.queue)),errors.wrap('supplied properties not correct for "QueueConfigurationProperty"')}function cfnBucketQueueConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_QueueConfigurationPropertyValidator(properties).assertSuccess(),{Event:cdk.stringToCloudFormation(properties.event),Filter:cfnBucketNotificationFilterPropertyToCloudFormation(properties.filter),Queue:cdk.stringToCloudFormation(properties.queue)}):properties}function CfnBucketQueueConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("event","Event",cfn_parse.FromCloudFormation.getString(properties.Event)),ret.addPropertyResult("filter","Filter",properties.Filter!=null?CfnBucketNotificationFilterPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("queue","Queue",cfn_parse.FromCloudFormation.getString(properties.Queue)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_RedirectAllRequestsToPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("hostName",cdk.requiredValidator)(properties.hostName)),errors.collect(cdk.propertyValidator("hostName",cdk.validateString)(properties.hostName)),errors.collect(cdk.propertyValidator("protocol",cdk.validateString)(properties.protocol)),errors.wrap('supplied properties not correct for "RedirectAllRequestsToProperty"')}function cfnBucketRedirectAllRequestsToPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_RedirectAllRequestsToPropertyValidator(properties).assertSuccess(),{HostName:cdk.stringToCloudFormation(properties.hostName),Protocol:cdk.stringToCloudFormation(properties.protocol)}):properties}function CfnBucketRedirectAllRequestsToPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("hostName","HostName",cfn_parse.FromCloudFormation.getString(properties.HostName)),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse.FromCloudFormation.getString(properties.Protocol):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_RedirectRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("hostName",cdk.validateString)(properties.hostName)),errors.collect(cdk.propertyValidator("httpRedirectCode",cdk.validateString)(properties.httpRedirectCode)),errors.collect(cdk.propertyValidator("protocol",cdk.validateString)(properties.protocol)),errors.collect(cdk.propertyValidator("replaceKeyPrefixWith",cdk.validateString)(properties.replaceKeyPrefixWith)),errors.collect(cdk.propertyValidator("replaceKeyWith",cdk.validateString)(properties.replaceKeyWith)),errors.wrap('supplied properties not correct for "RedirectRuleProperty"')}function cfnBucketRedirectRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_RedirectRulePropertyValidator(properties).assertSuccess(),{HostName:cdk.stringToCloudFormation(properties.hostName),HttpRedirectCode:cdk.stringToCloudFormation(properties.httpRedirectCode),Protocol:cdk.stringToCloudFormation(properties.protocol),ReplaceKeyPrefixWith:cdk.stringToCloudFormation(properties.replaceKeyPrefixWith),ReplaceKeyWith:cdk.stringToCloudFormation(properties.replaceKeyWith)}):properties}function CfnBucketRedirectRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("hostName","HostName",properties.HostName!=null?cfn_parse.FromCloudFormation.getString(properties.HostName):void 0),ret.addPropertyResult("httpRedirectCode","HttpRedirectCode",properties.HttpRedirectCode!=null?cfn_parse.FromCloudFormation.getString(properties.HttpRedirectCode):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse.FromCloudFormation.getString(properties.Protocol):void 0),ret.addPropertyResult("replaceKeyPrefixWith","ReplaceKeyPrefixWith",properties.ReplaceKeyPrefixWith!=null?cfn_parse.FromCloudFormation.getString(properties.ReplaceKeyPrefixWith):void 0),ret.addPropertyResult("replaceKeyWith","ReplaceKeyWith",properties.ReplaceKeyWith!=null?cfn_parse.FromCloudFormation.getString(properties.ReplaceKeyWith):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicaModificationsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "ReplicaModificationsProperty"')}function cfnBucketReplicaModificationsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicaModificationsPropertyValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketReplicaModificationsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("role",cdk.requiredValidator)(properties.role)),errors.collect(cdk.propertyValidator("role",cdk.validateString)(properties.role)),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnBucket_ReplicationRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "ReplicationConfigurationProperty"')}function cfnBucketReplicationConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationConfigurationPropertyValidator(properties).assertSuccess(),{Role:cdk.stringToCloudFormation(properties.role),Rules:cdk.listMapper(cfnBucketReplicationRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnBucketReplicationConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("role","Role",cfn_parse.FromCloudFormation.getString(properties.Role)),ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnBucketReplicationRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationDestinationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accessControlTranslation",CfnBucket_AccessControlTranslationPropertyValidator)(properties.accessControlTranslation)),errors.collect(cdk.propertyValidator("account",cdk.validateString)(properties.account)),errors.collect(cdk.propertyValidator("bucket",cdk.requiredValidator)(properties.bucket)),errors.collect(cdk.propertyValidator("bucket",cdk.validateString)(properties.bucket)),errors.collect(cdk.propertyValidator("encryptionConfiguration",CfnBucket_EncryptionConfigurationPropertyValidator)(properties.encryptionConfiguration)),errors.collect(cdk.propertyValidator("metrics",CfnBucket_MetricsPropertyValidator)(properties.metrics)),errors.collect(cdk.propertyValidator("replicationTime",CfnBucket_ReplicationTimePropertyValidator)(properties.replicationTime)),errors.collect(cdk.propertyValidator("storageClass",cdk.validateString)(properties.storageClass)),errors.wrap('supplied properties not correct for "ReplicationDestinationProperty"')}function cfnBucketReplicationDestinationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationDestinationPropertyValidator(properties).assertSuccess(),{AccessControlTranslation:cfnBucketAccessControlTranslationPropertyToCloudFormation(properties.accessControlTranslation),Account:cdk.stringToCloudFormation(properties.account),Bucket:cdk.stringToCloudFormation(properties.bucket),EncryptionConfiguration:cfnBucketEncryptionConfigurationPropertyToCloudFormation(properties.encryptionConfiguration),Metrics:cfnBucketMetricsPropertyToCloudFormation(properties.metrics),ReplicationTime:cfnBucketReplicationTimePropertyToCloudFormation(properties.replicationTime),StorageClass:cdk.stringToCloudFormation(properties.storageClass)}):properties}function CfnBucketReplicationDestinationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accessControlTranslation","AccessControlTranslation",properties.AccessControlTranslation!=null?CfnBucketAccessControlTranslationPropertyFromCloudFormation(properties.AccessControlTranslation):void 0),ret.addPropertyResult("account","Account",properties.Account!=null?cfn_parse.FromCloudFormation.getString(properties.Account):void 0),ret.addPropertyResult("bucket","Bucket",cfn_parse.FromCloudFormation.getString(properties.Bucket)),ret.addPropertyResult("encryptionConfiguration","EncryptionConfiguration",properties.EncryptionConfiguration!=null?CfnBucketEncryptionConfigurationPropertyFromCloudFormation(properties.EncryptionConfiguration):void 0),ret.addPropertyResult("metrics","Metrics",properties.Metrics!=null?CfnBucketMetricsPropertyFromCloudFormation(properties.Metrics):void 0),ret.addPropertyResult("replicationTime","ReplicationTime",properties.ReplicationTime!=null?CfnBucketReplicationTimePropertyFromCloudFormation(properties.ReplicationTime):void 0),ret.addPropertyResult("storageClass","StorageClass",properties.StorageClass!=null?cfn_parse.FromCloudFormation.getString(properties.StorageClass):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("deleteMarkerReplication",CfnBucket_DeleteMarkerReplicationPropertyValidator)(properties.deleteMarkerReplication)),errors.collect(cdk.propertyValidator("destination",cdk.requiredValidator)(properties.destination)),errors.collect(cdk.propertyValidator("destination",CfnBucket_ReplicationDestinationPropertyValidator)(properties.destination)),errors.collect(cdk.propertyValidator("filter",CfnBucket_ReplicationRuleFilterPropertyValidator)(properties.filter)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("priority",cdk.validateNumber)(properties.priority)),errors.collect(cdk.propertyValidator("sourceSelectionCriteria",CfnBucket_SourceSelectionCriteriaPropertyValidator)(properties.sourceSelectionCriteria)),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "ReplicationRuleProperty"')}function cfnBucketReplicationRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationRulePropertyValidator(properties).assertSuccess(),{DeleteMarkerReplication:cfnBucketDeleteMarkerReplicationPropertyToCloudFormation(properties.deleteMarkerReplication),Destination:cfnBucketReplicationDestinationPropertyToCloudFormation(properties.destination),Filter:cfnBucketReplicationRuleFilterPropertyToCloudFormation(properties.filter),Id:cdk.stringToCloudFormation(properties.id),Prefix:cdk.stringToCloudFormation(properties.prefix),Priority:cdk.numberToCloudFormation(properties.priority),SourceSelectionCriteria:cfnBucketSourceSelectionCriteriaPropertyToCloudFormation(properties.sourceSelectionCriteria),Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketReplicationRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("deleteMarkerReplication","DeleteMarkerReplication",properties.DeleteMarkerReplication!=null?CfnBucketDeleteMarkerReplicationPropertyFromCloudFormation(properties.DeleteMarkerReplication):void 0),ret.addPropertyResult("destination","Destination",CfnBucketReplicationDestinationPropertyFromCloudFormation(properties.Destination)),ret.addPropertyResult("filter","Filter",properties.Filter!=null?CfnBucketReplicationRuleFilterPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse.FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse.FromCloudFormation.getNumber(properties.Priority):void 0),ret.addPropertyResult("sourceSelectionCriteria","SourceSelectionCriteria",properties.SourceSelectionCriteria!=null?CfnBucketSourceSelectionCriteriaPropertyFromCloudFormation(properties.SourceSelectionCriteria):void 0),ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationRuleAndOperatorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("tagFilters",cdk.listValidator(CfnBucket_TagFilterPropertyValidator))(properties.tagFilters)),errors.wrap('supplied properties not correct for "ReplicationRuleAndOperatorProperty"')}function cfnBucketReplicationRuleAndOperatorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationRuleAndOperatorPropertyValidator(properties).assertSuccess(),{Prefix:cdk.stringToCloudFormation(properties.prefix),TagFilters:cdk.listMapper(cfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters)}):properties}function CfnBucketReplicationRuleAndOperatorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationRuleFilterPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("and",CfnBucket_ReplicationRuleAndOperatorPropertyValidator)(properties.and)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("tagFilter",CfnBucket_TagFilterPropertyValidator)(properties.tagFilter)),errors.wrap('supplied properties not correct for "ReplicationRuleFilterProperty"')}function cfnBucketReplicationRuleFilterPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationRuleFilterPropertyValidator(properties).assertSuccess(),{And:cfnBucketReplicationRuleAndOperatorPropertyToCloudFormation(properties.and),Prefix:cdk.stringToCloudFormation(properties.prefix),TagFilter:cfnBucketTagFilterPropertyToCloudFormation(properties.tagFilter)}):properties}function CfnBucketReplicationRuleFilterPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("and","And",properties.And!=null?CfnBucketReplicationRuleAndOperatorPropertyFromCloudFormation(properties.And):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("tagFilter","TagFilter",properties.TagFilter!=null?CfnBucketTagFilterPropertyFromCloudFormation(properties.TagFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationTimePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("time",cdk.requiredValidator)(properties.time)),errors.collect(cdk.propertyValidator("time",CfnBucket_ReplicationTimeValuePropertyValidator)(properties.time)),errors.wrap('supplied properties not correct for "ReplicationTimeProperty"')}function cfnBucketReplicationTimePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationTimePropertyValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status),Time:cfnBucketReplicationTimeValuePropertyToCloudFormation(properties.time)}):properties}function CfnBucketReplicationTimePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addPropertyResult("time","Time",CfnBucketReplicationTimeValuePropertyFromCloudFormation(properties.Time)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationTimeValuePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("minutes",cdk.requiredValidator)(properties.minutes)),errors.collect(cdk.propertyValidator("minutes",cdk.validateNumber)(properties.minutes)),errors.wrap('supplied properties not correct for "ReplicationTimeValueProperty"')}function cfnBucketReplicationTimeValuePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationTimeValuePropertyValidator(properties).assertSuccess(),{Minutes:cdk.numberToCloudFormation(properties.minutes)}):properties}function CfnBucketReplicationTimeValuePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("minutes","Minutes",cfn_parse.FromCloudFormation.getNumber(properties.Minutes)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_RoutingRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("redirectRule",cdk.requiredValidator)(properties.redirectRule)),errors.collect(cdk.propertyValidator("redirectRule",CfnBucket_RedirectRulePropertyValidator)(properties.redirectRule)),errors.collect(cdk.propertyValidator("routingRuleCondition",CfnBucket_RoutingRuleConditionPropertyValidator)(properties.routingRuleCondition)),errors.wrap('supplied properties not correct for "RoutingRuleProperty"')}function cfnBucketRoutingRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_RoutingRulePropertyValidator(properties).assertSuccess(),{RedirectRule:cfnBucketRedirectRulePropertyToCloudFormation(properties.redirectRule),RoutingRuleCondition:cfnBucketRoutingRuleConditionPropertyToCloudFormation(properties.routingRuleCondition)}):properties}function CfnBucketRoutingRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("redirectRule","RedirectRule",CfnBucketRedirectRulePropertyFromCloudFormation(properties.RedirectRule)),ret.addPropertyResult("routingRuleCondition","RoutingRuleCondition",properties.RoutingRuleCondition!=null?CfnBucketRoutingRuleConditionPropertyFromCloudFormation(properties.RoutingRuleCondition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_RoutingRuleConditionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("httpErrorCodeReturnedEquals",cdk.validateString)(properties.httpErrorCodeReturnedEquals)),errors.collect(cdk.propertyValidator("keyPrefixEquals",cdk.validateString)(properties.keyPrefixEquals)),errors.wrap('supplied properties not correct for "RoutingRuleConditionProperty"')}function cfnBucketRoutingRuleConditionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_RoutingRuleConditionPropertyValidator(properties).assertSuccess(),{HttpErrorCodeReturnedEquals:cdk.stringToCloudFormation(properties.httpErrorCodeReturnedEquals),KeyPrefixEquals:cdk.stringToCloudFormation(properties.keyPrefixEquals)}):properties}function CfnBucketRoutingRuleConditionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("httpErrorCodeReturnedEquals","HttpErrorCodeReturnedEquals",properties.HttpErrorCodeReturnedEquals!=null?cfn_parse.FromCloudFormation.getString(properties.HttpErrorCodeReturnedEquals):void 0),ret.addPropertyResult("keyPrefixEquals","KeyPrefixEquals",properties.KeyPrefixEquals!=null?cfn_parse.FromCloudFormation.getString(properties.KeyPrefixEquals):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_RulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("abortIncompleteMultipartUpload",CfnBucket_AbortIncompleteMultipartUploadPropertyValidator)(properties.abortIncompleteMultipartUpload)),errors.collect(cdk.propertyValidator("expirationDate",cdk.validateDate)(properties.expirationDate)),errors.collect(cdk.propertyValidator("expirationInDays",cdk.validateNumber)(properties.expirationInDays)),errors.collect(cdk.propertyValidator("expiredObjectDeleteMarker",cdk.validateBoolean)(properties.expiredObjectDeleteMarker)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("noncurrentVersionExpiration",CfnBucket_NoncurrentVersionExpirationPropertyValidator)(properties.noncurrentVersionExpiration)),errors.collect(cdk.propertyValidator("noncurrentVersionExpirationInDays",cdk.validateNumber)(properties.noncurrentVersionExpirationInDays)),errors.collect(cdk.propertyValidator("noncurrentVersionTransition",CfnBucket_NoncurrentVersionTransitionPropertyValidator)(properties.noncurrentVersionTransition)),errors.collect(cdk.propertyValidator("noncurrentVersionTransitions",cdk.listValidator(CfnBucket_NoncurrentVersionTransitionPropertyValidator))(properties.noncurrentVersionTransitions)),errors.collect(cdk.propertyValidator("objectSizeGreaterThan",cdk.validateNumber)(properties.objectSizeGreaterThan)),errors.collect(cdk.propertyValidator("objectSizeLessThan",cdk.validateNumber)(properties.objectSizeLessThan)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("tagFilters",cdk.listValidator(CfnBucket_TagFilterPropertyValidator))(properties.tagFilters)),errors.collect(cdk.propertyValidator("transition",CfnBucket_TransitionPropertyValidator)(properties.transition)),errors.collect(cdk.propertyValidator("transitions",cdk.listValidator(CfnBucket_TransitionPropertyValidator))(properties.transitions)),errors.wrap('supplied properties not correct for "RuleProperty"')}function cfnBucketRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_RulePropertyValidator(properties).assertSuccess(),{AbortIncompleteMultipartUpload:cfnBucketAbortIncompleteMultipartUploadPropertyToCloudFormation(properties.abortIncompleteMultipartUpload),ExpirationDate:cdk.dateToCloudFormation(properties.expirationDate),ExpirationInDays:cdk.numberToCloudFormation(properties.expirationInDays),ExpiredObjectDeleteMarker:cdk.booleanToCloudFormation(properties.expiredObjectDeleteMarker),Id:cdk.stringToCloudFormation(properties.id),NoncurrentVersionExpiration:cfnBucketNoncurrentVersionExpirationPropertyToCloudFormation(properties.noncurrentVersionExpiration),NoncurrentVersionExpirationInDays:cdk.numberToCloudFormation(properties.noncurrentVersionExpirationInDays),NoncurrentVersionTransition:cfnBucketNoncurrentVersionTransitionPropertyToCloudFormation(properties.noncurrentVersionTransition),NoncurrentVersionTransitions:cdk.listMapper(cfnBucketNoncurrentVersionTransitionPropertyToCloudFormation)(properties.noncurrentVersionTransitions),ObjectSizeGreaterThan:cdk.numberToCloudFormation(properties.objectSizeGreaterThan),ObjectSizeLessThan:cdk.numberToCloudFormation(properties.objectSizeLessThan),Prefix:cdk.stringToCloudFormation(properties.prefix),Status:cdk.stringToCloudFormation(properties.status),TagFilters:cdk.listMapper(cfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters),Transition:cfnBucketTransitionPropertyToCloudFormation(properties.transition),Transitions:cdk.listMapper(cfnBucketTransitionPropertyToCloudFormation)(properties.transitions)}):properties}function CfnBucketRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("abortIncompleteMultipartUpload","AbortIncompleteMultipartUpload",properties.AbortIncompleteMultipartUpload!=null?CfnBucketAbortIncompleteMultipartUploadPropertyFromCloudFormation(properties.AbortIncompleteMultipartUpload):void 0),ret.addPropertyResult("expirationDate","ExpirationDate",properties.ExpirationDate!=null?cfn_parse.FromCloudFormation.getDate(properties.ExpirationDate):void 0),ret.addPropertyResult("expirationInDays","ExpirationInDays",properties.ExpirationInDays!=null?cfn_parse.FromCloudFormation.getNumber(properties.ExpirationInDays):void 0),ret.addPropertyResult("expiredObjectDeleteMarker","ExpiredObjectDeleteMarker",properties.ExpiredObjectDeleteMarker!=null?cfn_parse.FromCloudFormation.getBoolean(properties.ExpiredObjectDeleteMarker):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse.FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("noncurrentVersionExpiration","NoncurrentVersionExpiration",properties.NoncurrentVersionExpiration!=null?CfnBucketNoncurrentVersionExpirationPropertyFromCloudFormation(properties.NoncurrentVersionExpiration):void 0),ret.addPropertyResult("noncurrentVersionExpirationInDays","NoncurrentVersionExpirationInDays",properties.NoncurrentVersionExpirationInDays!=null?cfn_parse.FromCloudFormation.getNumber(properties.NoncurrentVersionExpirationInDays):void 0),ret.addPropertyResult("noncurrentVersionTransition","NoncurrentVersionTransition",properties.NoncurrentVersionTransition!=null?CfnBucketNoncurrentVersionTransitionPropertyFromCloudFormation(properties.NoncurrentVersionTransition):void 0),ret.addPropertyResult("noncurrentVersionTransitions","NoncurrentVersionTransitions",properties.NoncurrentVersionTransitions!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketNoncurrentVersionTransitionPropertyFromCloudFormation)(properties.NoncurrentVersionTransitions):void 0),ret.addPropertyResult("objectSizeGreaterThan","ObjectSizeGreaterThan",properties.ObjectSizeGreaterThan!=null?cfn_parse.FromCloudFormation.getNumber(properties.ObjectSizeGreaterThan):void 0),ret.addPropertyResult("objectSizeLessThan","ObjectSizeLessThan",properties.ObjectSizeLessThan!=null?cfn_parse.FromCloudFormation.getNumber(properties.ObjectSizeLessThan):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addPropertyResult("transition","Transition",properties.Transition!=null?CfnBucketTransitionPropertyFromCloudFormation(properties.Transition):void 0),ret.addPropertyResult("transitions","Transitions",properties.Transitions!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTransitionPropertyFromCloudFormation)(properties.Transitions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_S3KeyFilterPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnBucket_FilterRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "S3KeyFilterProperty"')}function cfnBucketS3KeyFilterPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_S3KeyFilterPropertyValidator(properties).assertSuccess(),{Rules:cdk.listMapper(cfnBucketFilterRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnBucketS3KeyFilterPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnBucketFilterRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ServerSideEncryptionByDefaultPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("kmsMasterKeyId",cdk.validateString)(properties.kmsMasterKeyId)),errors.collect(cdk.propertyValidator("sseAlgorithm",cdk.requiredValidator)(properties.sseAlgorithm)),errors.collect(cdk.propertyValidator("sseAlgorithm",cdk.validateString)(properties.sseAlgorithm)),errors.wrap('supplied properties not correct for "ServerSideEncryptionByDefaultProperty"')}function cfnBucketServerSideEncryptionByDefaultPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ServerSideEncryptionByDefaultPropertyValidator(properties).assertSuccess(),{KMSMasterKeyID:cdk.stringToCloudFormation(properties.kmsMasterKeyId),SSEAlgorithm:cdk.stringToCloudFormation(properties.sseAlgorithm)}):properties}function CfnBucketServerSideEncryptionByDefaultPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("kmsMasterKeyId","KMSMasterKeyID",properties.KMSMasterKeyID!=null?cfn_parse.FromCloudFormation.getString(properties.KMSMasterKeyID):void 0),ret.addPropertyResult("sseAlgorithm","SSEAlgorithm",cfn_parse.FromCloudFormation.getString(properties.SSEAlgorithm)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ServerSideEncryptionRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bucketKeyEnabled",cdk.validateBoolean)(properties.bucketKeyEnabled)),errors.collect(cdk.propertyValidator("serverSideEncryptionByDefault",CfnBucket_ServerSideEncryptionByDefaultPropertyValidator)(properties.serverSideEncryptionByDefault)),errors.wrap('supplied properties not correct for "ServerSideEncryptionRuleProperty"')}function cfnBucketServerSideEncryptionRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ServerSideEncryptionRulePropertyValidator(properties).assertSuccess(),{BucketKeyEnabled:cdk.booleanToCloudFormation(properties.bucketKeyEnabled),ServerSideEncryptionByDefault:cfnBucketServerSideEncryptionByDefaultPropertyToCloudFormation(properties.serverSideEncryptionByDefault)}):properties}function CfnBucketServerSideEncryptionRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketKeyEnabled","BucketKeyEnabled",properties.BucketKeyEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BucketKeyEnabled):void 0),ret.addPropertyResult("serverSideEncryptionByDefault","ServerSideEncryptionByDefault",properties.ServerSideEncryptionByDefault!=null?CfnBucketServerSideEncryptionByDefaultPropertyFromCloudFormation(properties.ServerSideEncryptionByDefault):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_SourceSelectionCriteriaPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("replicaModifications",CfnBucket_ReplicaModificationsPropertyValidator)(properties.replicaModifications)),errors.collect(cdk.propertyValidator("sseKmsEncryptedObjects",CfnBucket_SseKmsEncryptedObjectsPropertyValidator)(properties.sseKmsEncryptedObjects)),errors.wrap('supplied properties not correct for "SourceSelectionCriteriaProperty"')}function cfnBucketSourceSelectionCriteriaPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_SourceSelectionCriteriaPropertyValidator(properties).assertSuccess(),{ReplicaModifications:cfnBucketReplicaModificationsPropertyToCloudFormation(properties.replicaModifications),SseKmsEncryptedObjects:cfnBucketSseKmsEncryptedObjectsPropertyToCloudFormation(properties.sseKmsEncryptedObjects)}):properties}function CfnBucketSourceSelectionCriteriaPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("replicaModifications","ReplicaModifications",properties.ReplicaModifications!=null?CfnBucketReplicaModificationsPropertyFromCloudFormation(properties.ReplicaModifications):void 0),ret.addPropertyResult("sseKmsEncryptedObjects","SseKmsEncryptedObjects",properties.SseKmsEncryptedObjects!=null?CfnBucketSseKmsEncryptedObjectsPropertyFromCloudFormation(properties.SseKmsEncryptedObjects):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_SseKmsEncryptedObjectsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "SseKmsEncryptedObjectsProperty"')}function cfnBucketSseKmsEncryptedObjectsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_SseKmsEncryptedObjectsPropertyValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketSseKmsEncryptedObjectsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_StorageClassAnalysisPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dataExport",CfnBucket_DataExportPropertyValidator)(properties.dataExport)),errors.wrap('supplied properties not correct for "StorageClassAnalysisProperty"')}function cfnBucketStorageClassAnalysisPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_StorageClassAnalysisPropertyValidator(properties).assertSuccess(),{DataExport:cfnBucketDataExportPropertyToCloudFormation(properties.dataExport)}):properties}function CfnBucketStorageClassAnalysisPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dataExport","DataExport",properties.DataExport!=null?CfnBucketDataExportPropertyFromCloudFormation(properties.DataExport):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_TagFilterPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("key",cdk.requiredValidator)(properties.key)),errors.collect(cdk.propertyValidator("key",cdk.validateString)(properties.key)),errors.collect(cdk.propertyValidator("value",cdk.requiredValidator)(properties.value)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "TagFilterProperty"')}function cfnBucketTagFilterPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_TagFilterPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnBucketTagFilterPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",cfn_parse.FromCloudFormation.getString(properties.Key)),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getString(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_TieringPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accessTier",cdk.requiredValidator)(properties.accessTier)),errors.collect(cdk.propertyValidator("accessTier",cdk.validateString)(properties.accessTier)),errors.collect(cdk.propertyValidator("days",cdk.requiredValidator)(properties.days)),errors.collect(cdk.propertyValidator("days",cdk.validateNumber)(properties.days)),errors.wrap('supplied properties not correct for "TieringProperty"')}function cfnBucketTieringPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_TieringPropertyValidator(properties).assertSuccess(),{AccessTier:cdk.stringToCloudFormation(properties.accessTier),Days:cdk.numberToCloudFormation(properties.days)}):properties}function CfnBucketTieringPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accessTier","AccessTier",cfn_parse.FromCloudFormation.getString(properties.AccessTier)),ret.addPropertyResult("days","Days",cfn_parse.FromCloudFormation.getNumber(properties.Days)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_TopicConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("event",cdk.requiredValidator)(properties.event)),errors.collect(cdk.propertyValidator("event",cdk.validateString)(properties.event)),errors.collect(cdk.propertyValidator("filter",CfnBucket_NotificationFilterPropertyValidator)(properties.filter)),errors.collect(cdk.propertyValidator("topic",cdk.requiredValidator)(properties.topic)),errors.collect(cdk.propertyValidator("topic",cdk.validateString)(properties.topic)),errors.wrap('supplied properties not correct for "TopicConfigurationProperty"')}function cfnBucketTopicConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_TopicConfigurationPropertyValidator(properties).assertSuccess(),{Event:cdk.stringToCloudFormation(properties.event),Filter:cfnBucketNotificationFilterPropertyToCloudFormation(properties.filter),Topic:cdk.stringToCloudFormation(properties.topic)}):properties}function CfnBucketTopicConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("event","Event",cfn_parse.FromCloudFormation.getString(properties.Event)),ret.addPropertyResult("filter","Filter",properties.Filter!=null?CfnBucketNotificationFilterPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("topic","Topic",cfn_parse.FromCloudFormation.getString(properties.Topic)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_TransitionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("storageClass",cdk.requiredValidator)(properties.storageClass)),errors.collect(cdk.propertyValidator("storageClass",cdk.validateString)(properties.storageClass)),errors.collect(cdk.propertyValidator("transitionDate",cdk.validateDate)(properties.transitionDate)),errors.collect(cdk.propertyValidator("transitionInDays",cdk.validateNumber)(properties.transitionInDays)),errors.wrap('supplied properties not correct for "TransitionProperty"')}function cfnBucketTransitionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_TransitionPropertyValidator(properties).assertSuccess(),{StorageClass:cdk.stringToCloudFormation(properties.storageClass),TransitionDate:cdk.dateToCloudFormation(properties.transitionDate),TransitionInDays:cdk.numberToCloudFormation(properties.transitionInDays)}):properties}function CfnBucketTransitionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("storageClass","StorageClass",cfn_parse.FromCloudFormation.getString(properties.StorageClass)),ret.addPropertyResult("transitionDate","TransitionDate",properties.TransitionDate!=null?cfn_parse.FromCloudFormation.getDate(properties.TransitionDate):void 0),ret.addPropertyResult("transitionInDays","TransitionInDays",properties.TransitionInDays!=null?cfn_parse.FromCloudFormation.getNumber(properties.TransitionInDays):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_VersioningConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "VersioningConfigurationProperty"')}function cfnBucketVersioningConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_VersioningConfigurationPropertyValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketVersioningConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_WebsiteConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("errorDocument",cdk.validateString)(properties.errorDocument)),errors.collect(cdk.propertyValidator("indexDocument",cdk.validateString)(properties.indexDocument)),errors.collect(cdk.propertyValidator("redirectAllRequestsTo",CfnBucket_RedirectAllRequestsToPropertyValidator)(properties.redirectAllRequestsTo)),errors.collect(cdk.propertyValidator("routingRules",cdk.listValidator(CfnBucket_RoutingRulePropertyValidator))(properties.routingRules)),errors.wrap('supplied properties not correct for "WebsiteConfigurationProperty"')}function cfnBucketWebsiteConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_WebsiteConfigurationPropertyValidator(properties).assertSuccess(),{ErrorDocument:cdk.stringToCloudFormation(properties.errorDocument),IndexDocument:cdk.stringToCloudFormation(properties.indexDocument),RedirectAllRequestsTo:cfnBucketRedirectAllRequestsToPropertyToCloudFormation(properties.redirectAllRequestsTo),RoutingRules:cdk.listMapper(cfnBucketRoutingRulePropertyToCloudFormation)(properties.routingRules)}):properties}function CfnBucketWebsiteConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("errorDocument","ErrorDocument",properties.ErrorDocument!=null?cfn_parse.FromCloudFormation.getString(properties.ErrorDocument):void 0),ret.addPropertyResult("indexDocument","IndexDocument",properties.IndexDocument!=null?cfn_parse.FromCloudFormation.getString(properties.IndexDocument):void 0),ret.addPropertyResult("redirectAllRequestsTo","RedirectAllRequestsTo",properties.RedirectAllRequestsTo!=null?CfnBucketRedirectAllRequestsToPropertyFromCloudFormation(properties.RedirectAllRequestsTo):void 0),ret.addPropertyResult("routingRules","RoutingRules",properties.RoutingRules!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketRoutingRulePropertyFromCloudFormation)(properties.RoutingRules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketPolicyPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bucket",cdk.requiredValidator)(properties.bucket)),errors.collect(cdk.propertyValidator("bucket",cdk.validateString)(properties.bucket)),errors.collect(cdk.propertyValidator("policyDocument",cdk.requiredValidator)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyDocument",cdk.validateObject)(properties.policyDocument)),errors.wrap('supplied properties not correct for "CfnBucketPolicyProps"')}function cfnBucketPolicyPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucketPolicyPropsValidator(properties).assertSuccess(),{Bucket:cdk.stringToCloudFormation(properties.bucket),PolicyDocument:cdk.objectToCloudFormation(properties.policyDocument)}):properties}function CfnBucketPolicyPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",cfn_parse.FromCloudFormation.getString(properties.Bucket)),ret.addPropertyResult("policyDocument","PolicyDocument",cfn_parse.FromCloudFormation.getAny(properties.PolicyDocument)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBucketPolicy extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnBucketPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnBucketPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBucketPolicy),error}cdk.requireProperty(props,"bucket",this),cdk.requireProperty(props,"policyDocument",this),this.bucket=props.bucket,this.policyDocument=props.policyDocument}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBucketPolicyPropsFromCloudFormation(resourceProperties),ret=new CfnBucketPolicy(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnBucketPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{bucket:this.bucket,policyDocument:this.policyDocument}}renderProperties(props){return cfnBucketPolicyPropsToCloudFormation(props)}}exports.CfnBucketPolicy=CfnBucketPolicy,_c=JSII_RTTI_SYMBOL_1,CfnBucketPolicy[_c]={fqn:"aws-cdk-lib.aws_s3.CfnBucketPolicy",version:"2.51.0"},CfnBucketPolicy.CFN_RESOURCE_TYPE_NAME="AWS::S3::BucketPolicy";function CfnMultiRegionAccessPointPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("publicAccessBlockConfiguration",CfnMultiRegionAccessPoint_PublicAccessBlockConfigurationPropertyValidator)(properties.publicAccessBlockConfiguration)),errors.collect(cdk.propertyValidator("regions",cdk.requiredValidator)(properties.regions)),errors.collect(cdk.propertyValidator("regions",cdk.listValidator(CfnMultiRegionAccessPoint_RegionPropertyValidator))(properties.regions)),errors.wrap('supplied properties not correct for "CfnMultiRegionAccessPointProps"')}function cfnMultiRegionAccessPointPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMultiRegionAccessPointPropsValidator(properties).assertSuccess(),{Regions:cdk.listMapper(cfnMultiRegionAccessPointRegionPropertyToCloudFormation)(properties.regions),Name:cdk.stringToCloudFormation(properties.name),PublicAccessBlockConfiguration:cfnMultiRegionAccessPointPublicAccessBlockConfigurationPropertyToCloudFormation(properties.publicAccessBlockConfiguration)}):properties}function CfnMultiRegionAccessPointPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("regions","Regions",cfn_parse.FromCloudFormation.getArray(CfnMultiRegionAccessPointRegionPropertyFromCloudFormation)(properties.Regions)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("publicAccessBlockConfiguration","PublicAccessBlockConfiguration",properties.PublicAccessBlockConfiguration!=null?CfnMultiRegionAccessPointPublicAccessBlockConfigurationPropertyFromCloudFormation(properties.PublicAccessBlockConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMultiRegionAccessPoint extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnMultiRegionAccessPoint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnMultiRegionAccessPointProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMultiRegionAccessPoint),error}cdk.requireProperty(props,"regions",this),this.attrAlias=cdk.Token.asString(this.getAtt("Alias")),this.attrCreatedAt=cdk.Token.asString(this.getAtt("CreatedAt")),this.regions=props.regions,this.name=props.name,this.publicAccessBlockConfiguration=props.publicAccessBlockConfiguration}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMultiRegionAccessPointPropsFromCloudFormation(resourceProperties),ret=new CfnMultiRegionAccessPoint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnMultiRegionAccessPoint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{regions:this.regions,name:this.name,publicAccessBlockConfiguration:this.publicAccessBlockConfiguration}}renderProperties(props){return cfnMultiRegionAccessPointPropsToCloudFormation(props)}}exports.CfnMultiRegionAccessPoint=CfnMultiRegionAccessPoint,_d=JSII_RTTI_SYMBOL_1,CfnMultiRegionAccessPoint[_d]={fqn:"aws-cdk-lib.aws_s3.CfnMultiRegionAccessPoint",version:"2.51.0"},CfnMultiRegionAccessPoint.CFN_RESOURCE_TYPE_NAME="AWS::S3::MultiRegionAccessPoint";function CfnMultiRegionAccessPoint_PublicAccessBlockConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("blockPublicAcls",cdk.validateBoolean)(properties.blockPublicAcls)),errors.collect(cdk.propertyValidator("blockPublicPolicy",cdk.validateBoolean)(properties.blockPublicPolicy)),errors.collect(cdk.propertyValidator("ignorePublicAcls",cdk.validateBoolean)(properties.ignorePublicAcls)),errors.collect(cdk.propertyValidator("restrictPublicBuckets",cdk.validateBoolean)(properties.restrictPublicBuckets)),errors.wrap('supplied properties not correct for "PublicAccessBlockConfigurationProperty"')}function cfnMultiRegionAccessPointPublicAccessBlockConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMultiRegionAccessPoint_PublicAccessBlockConfigurationPropertyValidator(properties).assertSuccess(),{BlockPublicAcls:cdk.booleanToCloudFormation(properties.blockPublicAcls),BlockPublicPolicy:cdk.booleanToCloudFormation(properties.blockPublicPolicy),IgnorePublicAcls:cdk.booleanToCloudFormation(properties.ignorePublicAcls),RestrictPublicBuckets:cdk.booleanToCloudFormation(properties.restrictPublicBuckets)}):properties}function CfnMultiRegionAccessPointPublicAccessBlockConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("blockPublicAcls","BlockPublicAcls",properties.BlockPublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicAcls):void 0),ret.addPropertyResult("blockPublicPolicy","BlockPublicPolicy",properties.BlockPublicPolicy!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicPolicy):void 0),ret.addPropertyResult("ignorePublicAcls","IgnorePublicAcls",properties.IgnorePublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IgnorePublicAcls):void 0),ret.addPropertyResult("restrictPublicBuckets","RestrictPublicBuckets",properties.RestrictPublicBuckets!=null?cfn_parse.FromCloudFormation.getBoolean(properties.RestrictPublicBuckets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMultiRegionAccessPoint_RegionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bucket",cdk.requiredValidator)(properties.bucket)),errors.collect(cdk.propertyValidator("bucket",cdk.validateString)(properties.bucket)),errors.wrap('supplied properties not correct for "RegionProperty"')}function cfnMultiRegionAccessPointRegionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMultiRegionAccessPoint_RegionPropertyValidator(properties).assertSuccess(),{Bucket:cdk.stringToCloudFormation(properties.bucket)}):properties}function CfnMultiRegionAccessPointRegionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",cfn_parse.FromCloudFormation.getString(properties.Bucket)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMultiRegionAccessPointPolicyPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("mrapName",cdk.requiredValidator)(properties.mrapName)),errors.collect(cdk.propertyValidator("mrapName",cdk.validateString)(properties.mrapName)),errors.collect(cdk.propertyValidator("policy",cdk.requiredValidator)(properties.policy)),errors.collect(cdk.propertyValidator("policy",cdk.validateObject)(properties.policy)),errors.wrap('supplied properties not correct for "CfnMultiRegionAccessPointPolicyProps"')}function cfnMultiRegionAccessPointPolicyPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMultiRegionAccessPointPolicyPropsValidator(properties).assertSuccess(),{MrapName:cdk.stringToCloudFormation(properties.mrapName),Policy:cdk.objectToCloudFormation(properties.policy)}):properties}function CfnMultiRegionAccessPointPolicyPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("mrapName","MrapName",cfn_parse.FromCloudFormation.getString(properties.MrapName)),ret.addPropertyResult("policy","Policy",cfn_parse.FromCloudFormation.getAny(properties.Policy)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMultiRegionAccessPointPolicy extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnMultiRegionAccessPointPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnMultiRegionAccessPointPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMultiRegionAccessPointPolicy),error}cdk.requireProperty(props,"mrapName",this),cdk.requireProperty(props,"policy",this),this.mrapName=props.mrapName,this.policy=props.policy}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMultiRegionAccessPointPolicyPropsFromCloudFormation(resourceProperties),ret=new CfnMultiRegionAccessPointPolicy(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnMultiRegionAccessPointPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{mrapName:this.mrapName,policy:this.policy}}renderProperties(props){return cfnMultiRegionAccessPointPolicyPropsToCloudFormation(props)}}exports.CfnMultiRegionAccessPointPolicy=CfnMultiRegionAccessPointPolicy,_e=JSII_RTTI_SYMBOL_1,CfnMultiRegionAccessPointPolicy[_e]={fqn:"aws-cdk-lib.aws_s3.CfnMultiRegionAccessPointPolicy",version:"2.51.0"},CfnMultiRegionAccessPointPolicy.CFN_RESOURCE_TYPE_NAME="AWS::S3::MultiRegionAccessPointPolicy";function CfnStorageLensPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("storageLensConfiguration",cdk.requiredValidator)(properties.storageLensConfiguration)),errors.collect(cdk.propertyValidator("storageLensConfiguration",CfnStorageLens_StorageLensConfigurationPropertyValidator)(properties.storageLensConfiguration)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnStorageLensProps"')}function cfnStorageLensPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLensPropsValidator(properties).assertSuccess(),{StorageLensConfiguration:cfnStorageLensStorageLensConfigurationPropertyToCloudFormation(properties.storageLensConfiguration),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnStorageLensPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("storageLensConfiguration","StorageLensConfiguration",CfnStorageLensStorageLensConfigurationPropertyFromCloudFormation(properties.StorageLensConfiguration)),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStorageLens extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnStorageLens.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnStorageLensProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStorageLens),error}cdk.requireProperty(props,"storageLensConfiguration",this),this.attrStorageLensConfigurationStorageLensArn=cdk.Token.asString(this.getAtt("StorageLensConfiguration.StorageLensArn")),this.storageLensConfiguration=props.storageLensConfiguration,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::S3::StorageLens",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStorageLensPropsFromCloudFormation(resourceProperties),ret=new CfnStorageLens(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnStorageLens.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{storageLensConfiguration:this.storageLensConfiguration,tags:this.tags.renderTags()}}renderProperties(props){return cfnStorageLensPropsToCloudFormation(props)}}exports.CfnStorageLens=CfnStorageLens,_f=JSII_RTTI_SYMBOL_1,CfnStorageLens[_f]={fqn:"aws-cdk-lib.aws_s3.CfnStorageLens",version:"2.51.0"},CfnStorageLens.CFN_RESOURCE_TYPE_NAME="AWS::S3::StorageLens";function CfnStorageLens_AccountLevelPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("activityMetrics",CfnStorageLens_ActivityMetricsPropertyValidator)(properties.activityMetrics)),errors.collect(cdk.propertyValidator("bucketLevel",cdk.requiredValidator)(properties.bucketLevel)),errors.collect(cdk.propertyValidator("bucketLevel",CfnStorageLens_BucketLevelPropertyValidator)(properties.bucketLevel)),errors.wrap('supplied properties not correct for "AccountLevelProperty"')}function cfnStorageLensAccountLevelPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_AccountLevelPropertyValidator(properties).assertSuccess(),{ActivityMetrics:cfnStorageLensActivityMetricsPropertyToCloudFormation(properties.activityMetrics),BucketLevel:cfnStorageLensBucketLevelPropertyToCloudFormation(properties.bucketLevel)}):properties}function CfnStorageLensAccountLevelPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("activityMetrics","ActivityMetrics",properties.ActivityMetrics!=null?CfnStorageLensActivityMetricsPropertyFromCloudFormation(properties.ActivityMetrics):void 0),ret.addPropertyResult("bucketLevel","BucketLevel",CfnStorageLensBucketLevelPropertyFromCloudFormation(properties.BucketLevel)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_ActivityMetricsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("isEnabled",cdk.validateBoolean)(properties.isEnabled)),errors.wrap('supplied properties not correct for "ActivityMetricsProperty"')}function cfnStorageLensActivityMetricsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_ActivityMetricsPropertyValidator(properties).assertSuccess(),{IsEnabled:cdk.booleanToCloudFormation(properties.isEnabled)}):properties}function CfnStorageLensActivityMetricsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("isEnabled","IsEnabled",properties.IsEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IsEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_AwsOrgPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("arn",cdk.requiredValidator)(properties.arn)),errors.collect(cdk.propertyValidator("arn",cdk.validateString)(properties.arn)),errors.wrap('supplied properties not correct for "AwsOrgProperty"')}function cfnStorageLensAwsOrgPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_AwsOrgPropertyValidator(properties).assertSuccess(),{Arn:cdk.stringToCloudFormation(properties.arn)}):properties}function CfnStorageLensAwsOrgPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",cfn_parse.FromCloudFormation.getString(properties.Arn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_BucketLevelPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("activityMetrics",CfnStorageLens_ActivityMetricsPropertyValidator)(properties.activityMetrics)),errors.collect(cdk.propertyValidator("prefixLevel",CfnStorageLens_PrefixLevelPropertyValidator)(properties.prefixLevel)),errors.wrap('supplied properties not correct for "BucketLevelProperty"')}function cfnStorageLensBucketLevelPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_BucketLevelPropertyValidator(properties).assertSuccess(),{ActivityMetrics:cfnStorageLensActivityMetricsPropertyToCloudFormation(properties.activityMetrics),PrefixLevel:cfnStorageLensPrefixLevelPropertyToCloudFormation(properties.prefixLevel)}):properties}function CfnStorageLensBucketLevelPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("activityMetrics","ActivityMetrics",properties.ActivityMetrics!=null?CfnStorageLensActivityMetricsPropertyFromCloudFormation(properties.ActivityMetrics):void 0),ret.addPropertyResult("prefixLevel","PrefixLevel",properties.PrefixLevel!=null?CfnStorageLensPrefixLevelPropertyFromCloudFormation(properties.PrefixLevel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_BucketsAndRegionsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("buckets",cdk.listValidator(cdk.validateString))(properties.buckets)),errors.collect(cdk.propertyValidator("regions",cdk.listValidator(cdk.validateString))(properties.regions)),errors.wrap('supplied properties not correct for "BucketsAndRegionsProperty"')}function cfnStorageLensBucketsAndRegionsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_BucketsAndRegionsPropertyValidator(properties).assertSuccess(),{Buckets:cdk.listMapper(cdk.stringToCloudFormation)(properties.buckets),Regions:cdk.listMapper(cdk.stringToCloudFormation)(properties.regions)}):properties}function CfnStorageLensBucketsAndRegionsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("buckets","Buckets",properties.Buckets!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Buckets):void 0),ret.addPropertyResult("regions","Regions",properties.Regions!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Regions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_CloudWatchMetricsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("isEnabled",cdk.requiredValidator)(properties.isEnabled)),errors.collect(cdk.propertyValidator("isEnabled",cdk.validateBoolean)(properties.isEnabled)),errors.wrap('supplied properties not correct for "CloudWatchMetricsProperty"')}function cfnStorageLensCloudWatchMetricsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_CloudWatchMetricsPropertyValidator(properties).assertSuccess(),{IsEnabled:cdk.booleanToCloudFormation(properties.isEnabled)}):properties}function CfnStorageLensCloudWatchMetricsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("isEnabled","IsEnabled",cfn_parse.FromCloudFormation.getBoolean(properties.IsEnabled)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_DataExportPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("cloudWatchMetrics",CfnStorageLens_CloudWatchMetricsPropertyValidator)(properties.cloudWatchMetrics)),errors.collect(cdk.propertyValidator("s3BucketDestination",CfnStorageLens_S3BucketDestinationPropertyValidator)(properties.s3BucketDestination)),errors.wrap('supplied properties not correct for "DataExportProperty"')}function cfnStorageLensDataExportPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_DataExportPropertyValidator(properties).assertSuccess(),{CloudWatchMetrics:cfnStorageLensCloudWatchMetricsPropertyToCloudFormation(properties.cloudWatchMetrics),S3BucketDestination:cfnStorageLensS3BucketDestinationPropertyToCloudFormation(properties.s3BucketDestination)}):properties}function CfnStorageLensDataExportPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudWatchMetrics","CloudWatchMetrics",properties.CloudWatchMetrics!=null?CfnStorageLensCloudWatchMetricsPropertyFromCloudFormation(properties.CloudWatchMetrics):void 0),ret.addPropertyResult("s3BucketDestination","S3BucketDestination",properties.S3BucketDestination!=null?CfnStorageLensS3BucketDestinationPropertyFromCloudFormation(properties.S3BucketDestination):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_EncryptionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("ssekms",CfnStorageLens_SSEKMSPropertyValidator)(properties.ssekms)),errors.collect(cdk.propertyValidator("sses3",cdk.validateObject)(properties.sses3)),errors.wrap('supplied properties not correct for "EncryptionProperty"')}function cfnStorageLensEncryptionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_EncryptionPropertyValidator(properties).assertSuccess(),{SSEKMS:cfnStorageLensSSEKMSPropertyToCloudFormation(properties.ssekms),SSES3:cdk.objectToCloudFormation(properties.sses3)}):properties}function CfnStorageLensEncryptionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("ssekms","SSEKMS",properties.SSEKMS!=null?CfnStorageLensSSEKMSPropertyFromCloudFormation(properties.SSEKMS):void 0),ret.addPropertyResult("sses3","SSES3",properties.SSES3!=null?cfn_parse.FromCloudFormation.getAny(properties.SSES3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_PrefixLevelPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("storageMetrics",cdk.requiredValidator)(properties.storageMetrics)),errors.collect(cdk.propertyValidator("storageMetrics",CfnStorageLens_PrefixLevelStorageMetricsPropertyValidator)(properties.storageMetrics)),errors.wrap('supplied properties not correct for "PrefixLevelProperty"')}function cfnStorageLensPrefixLevelPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_PrefixLevelPropertyValidator(properties).assertSuccess(),{StorageMetrics:cfnStorageLensPrefixLevelStorageMetricsPropertyToCloudFormation(properties.storageMetrics)}):properties}function CfnStorageLensPrefixLevelPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("storageMetrics","StorageMetrics",CfnStorageLensPrefixLevelStorageMetricsPropertyFromCloudFormation(properties.StorageMetrics)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_PrefixLevelStorageMetricsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("isEnabled",cdk.validateBoolean)(properties.isEnabled)),errors.collect(cdk.propertyValidator("selectionCriteria",CfnStorageLens_SelectionCriteriaPropertyValidator)(properties.selectionCriteria)),errors.wrap('supplied properties not correct for "PrefixLevelStorageMetricsProperty"')}function cfnStorageLensPrefixLevelStorageMetricsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_PrefixLevelStorageMetricsPropertyValidator(properties).assertSuccess(),{IsEnabled:cdk.booleanToCloudFormation(properties.isEnabled),SelectionCriteria:cfnStorageLensSelectionCriteriaPropertyToCloudFormation(properties.selectionCriteria)}):properties}function CfnStorageLensPrefixLevelStorageMetricsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("isEnabled","IsEnabled",properties.IsEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IsEnabled):void 0),ret.addPropertyResult("selectionCriteria","SelectionCriteria",properties.SelectionCriteria!=null?CfnStorageLensSelectionCriteriaPropertyFromCloudFormation(properties.SelectionCriteria):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_S3BucketDestinationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accountId",cdk.requiredValidator)(properties.accountId)),errors.collect(cdk.propertyValidator("accountId",cdk.validateString)(properties.accountId)),errors.collect(cdk.propertyValidator("arn",cdk.requiredValidator)(properties.arn)),errors.collect(cdk.propertyValidator("arn",cdk.validateString)(properties.arn)),errors.collect(cdk.propertyValidator("encryption",CfnStorageLens_EncryptionPropertyValidator)(properties.encryption)),errors.collect(cdk.propertyValidator("format",cdk.requiredValidator)(properties.format)),errors.collect(cdk.propertyValidator("format",cdk.validateString)(properties.format)),errors.collect(cdk.propertyValidator("outputSchemaVersion",cdk.requiredValidator)(properties.outputSchemaVersion)),errors.collect(cdk.propertyValidator("outputSchemaVersion",cdk.validateString)(properties.outputSchemaVersion)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.wrap('supplied properties not correct for "S3BucketDestinationProperty"')}function cfnStorageLensS3BucketDestinationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_S3BucketDestinationPropertyValidator(properties).assertSuccess(),{AccountId:cdk.stringToCloudFormation(properties.accountId),Arn:cdk.stringToCloudFormation(properties.arn),Encryption:cfnStorageLensEncryptionPropertyToCloudFormation(properties.encryption),Format:cdk.stringToCloudFormation(properties.format),OutputSchemaVersion:cdk.stringToCloudFormation(properties.outputSchemaVersion),Prefix:cdk.stringToCloudFormation(properties.prefix)}):properties}function CfnStorageLensS3BucketDestinationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accountId","AccountId",cfn_parse.FromCloudFormation.getString(properties.AccountId)),ret.addPropertyResult("arn","Arn",cfn_parse.FromCloudFormation.getString(properties.Arn)),ret.addPropertyResult("encryption","Encryption",properties.Encryption!=null?CfnStorageLensEncryptionPropertyFromCloudFormation(properties.Encryption):void 0),ret.addPropertyResult("format","Format",cfn_parse.FromCloudFormation.getString(properties.Format)),ret.addPropertyResult("outputSchemaVersion","OutputSchemaVersion",cfn_parse.FromCloudFormation.getString(properties.OutputSchemaVersion)),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_SSEKMSPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("keyId",cdk.requiredValidator)(properties.keyId)),errors.collect(cdk.propertyValidator("keyId",cdk.validateString)(properties.keyId)),errors.wrap('supplied properties not correct for "SSEKMSProperty"')}function cfnStorageLensSSEKMSPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_SSEKMSPropertyValidator(properties).assertSuccess(),{KeyId:cdk.stringToCloudFormation(properties.keyId)}):properties}function CfnStorageLensSSEKMSPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("keyId","KeyId",cfn_parse.FromCloudFormation.getString(properties.KeyId)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_SelectionCriteriaPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("delimiter",cdk.validateString)(properties.delimiter)),errors.collect(cdk.propertyValidator("maxDepth",cdk.validateNumber)(properties.maxDepth)),errors.collect(cdk.propertyValidator("minStorageBytesPercentage",cdk.validateNumber)(properties.minStorageBytesPercentage)),errors.wrap('supplied properties not correct for "SelectionCriteriaProperty"')}function cfnStorageLensSelectionCriteriaPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_SelectionCriteriaPropertyValidator(properties).assertSuccess(),{Delimiter:cdk.stringToCloudFormation(properties.delimiter),MaxDepth:cdk.numberToCloudFormation(properties.maxDepth),MinStorageBytesPercentage:cdk.numberToCloudFormation(properties.minStorageBytesPercentage)}):properties}function CfnStorageLensSelectionCriteriaPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse.FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("maxDepth","MaxDepth",properties.MaxDepth!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaxDepth):void 0),ret.addPropertyResult("minStorageBytesPercentage","MinStorageBytesPercentage",properties.MinStorageBytesPercentage!=null?cfn_parse.FromCloudFormation.getNumber(properties.MinStorageBytesPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_StorageLensConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accountLevel",cdk.requiredValidator)(properties.accountLevel)),errors.collect(cdk.propertyValidator("accountLevel",CfnStorageLens_AccountLevelPropertyValidator)(properties.accountLevel)),errors.collect(cdk.propertyValidator("awsOrg",CfnStorageLens_AwsOrgPropertyValidator)(properties.awsOrg)),errors.collect(cdk.propertyValidator("dataExport",CfnStorageLens_DataExportPropertyValidator)(properties.dataExport)),errors.collect(cdk.propertyValidator("exclude",CfnStorageLens_BucketsAndRegionsPropertyValidator)(properties.exclude)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("include",CfnStorageLens_BucketsAndRegionsPropertyValidator)(properties.include)),errors.collect(cdk.propertyValidator("isEnabled",cdk.requiredValidator)(properties.isEnabled)),errors.collect(cdk.propertyValidator("isEnabled",cdk.validateBoolean)(properties.isEnabled)),errors.collect(cdk.propertyValidator("storageLensArn",cdk.validateString)(properties.storageLensArn)),errors.wrap('supplied properties not correct for "StorageLensConfigurationProperty"')}function cfnStorageLensStorageLensConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_StorageLensConfigurationPropertyValidator(properties).assertSuccess(),{AccountLevel:cfnStorageLensAccountLevelPropertyToCloudFormation(properties.accountLevel),AwsOrg:cfnStorageLensAwsOrgPropertyToCloudFormation(properties.awsOrg),DataExport:cfnStorageLensDataExportPropertyToCloudFormation(properties.dataExport),Exclude:cfnStorageLensBucketsAndRegionsPropertyToCloudFormation(properties.exclude),Id:cdk.stringToCloudFormation(properties.id),Include:cfnStorageLensBucketsAndRegionsPropertyToCloudFormation(properties.include),IsEnabled:cdk.booleanToCloudFormation(properties.isEnabled),StorageLensArn:cdk.stringToCloudFormation(properties.storageLensArn)}):properties}function CfnStorageLensStorageLensConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accountLevel","AccountLevel",CfnStorageLensAccountLevelPropertyFromCloudFormation(properties.AccountLevel)),ret.addPropertyResult("awsOrg","AwsOrg",properties.AwsOrg!=null?CfnStorageLensAwsOrgPropertyFromCloudFormation(properties.AwsOrg):void 0),ret.addPropertyResult("dataExport","DataExport",properties.DataExport!=null?CfnStorageLensDataExportPropertyFromCloudFormation(properties.DataExport):void 0),ret.addPropertyResult("exclude","Exclude",properties.Exclude!=null?CfnStorageLensBucketsAndRegionsPropertyFromCloudFormation(properties.Exclude):void 0),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("include","Include",properties.Include!=null?CfnStorageLensBucketsAndRegionsPropertyFromCloudFormation(properties.Include):void 0),ret.addPropertyResult("isEnabled","IsEnabled",cfn_parse.FromCloudFormation.getBoolean(properties.IsEnabled)),ret.addPropertyResult("storageLensArn","StorageLensArn",properties.StorageLensArn!=null?cfn_parse.FromCloudFormation.getString(properties.StorageLensArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}
1
+ "use strict";var _a,_b,_c,_d,_e,_f;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnStorageLens=exports.CfnMultiRegionAccessPointPolicy=exports.CfnMultiRegionAccessPoint=exports.CfnBucketPolicy=exports.CfnBucket=exports.CfnAccessPoint=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnAccessPointPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bucket",cdk.requiredValidator)(properties.bucket)),errors.collect(cdk.propertyValidator("bucket",cdk.validateString)(properties.bucket)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("policy",cdk.validateObject)(properties.policy)),errors.collect(cdk.propertyValidator("policyStatus",cdk.validateObject)(properties.policyStatus)),errors.collect(cdk.propertyValidator("publicAccessBlockConfiguration",CfnAccessPoint_PublicAccessBlockConfigurationPropertyValidator)(properties.publicAccessBlockConfiguration)),errors.collect(cdk.propertyValidator("vpcConfiguration",CfnAccessPoint_VpcConfigurationPropertyValidator)(properties.vpcConfiguration)),errors.wrap('supplied properties not correct for "CfnAccessPointProps"')}function cfnAccessPointPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPointPropsValidator(properties).assertSuccess(),{Bucket:cdk.stringToCloudFormation(properties.bucket),Name:cdk.stringToCloudFormation(properties.name),Policy:cdk.objectToCloudFormation(properties.policy),PolicyStatus:cdk.objectToCloudFormation(properties.policyStatus),PublicAccessBlockConfiguration:cfnAccessPointPublicAccessBlockConfigurationPropertyToCloudFormation(properties.publicAccessBlockConfiguration),VpcConfiguration:cfnAccessPointVpcConfigurationPropertyToCloudFormation(properties.vpcConfiguration)}):properties}function CfnAccessPointPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",cfn_parse.FromCloudFormation.getString(properties.Bucket)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("policy","Policy",properties.Policy!=null?cfn_parse.FromCloudFormation.getAny(properties.Policy):void 0),ret.addPropertyResult("policyStatus","PolicyStatus",properties.PolicyStatus!=null?cfn_parse.FromCloudFormation.getAny(properties.PolicyStatus):void 0),ret.addPropertyResult("publicAccessBlockConfiguration","PublicAccessBlockConfiguration",properties.PublicAccessBlockConfiguration!=null?CfnAccessPointPublicAccessBlockConfigurationPropertyFromCloudFormation(properties.PublicAccessBlockConfiguration):void 0),ret.addPropertyResult("vpcConfiguration","VpcConfiguration",properties.VpcConfiguration!=null?CfnAccessPointVpcConfigurationPropertyFromCloudFormation(properties.VpcConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAccessPoint extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAccessPoint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnAccessPointProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccessPoint),error}cdk.requireProperty(props,"bucket",this),this.attrAlias=cdk.Token.asString(this.getAtt("Alias")),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrName=cdk.Token.asString(this.getAtt("Name")),this.attrNetworkOrigin=cdk.Token.asString(this.getAtt("NetworkOrigin")),this.bucket=props.bucket,this.name=props.name,this.policy=props.policy,this.policyStatus=props.policyStatus,this.publicAccessBlockConfiguration=props.publicAccessBlockConfiguration,this.vpcConfiguration=props.vpcConfiguration}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccessPointPropsFromCloudFormation(resourceProperties),ret=new CfnAccessPoint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnAccessPoint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{bucket:this.bucket,name:this.name,policy:this.policy,policyStatus:this.policyStatus,publicAccessBlockConfiguration:this.publicAccessBlockConfiguration,vpcConfiguration:this.vpcConfiguration}}renderProperties(props){return cfnAccessPointPropsToCloudFormation(props)}}exports.CfnAccessPoint=CfnAccessPoint,_a=JSII_RTTI_SYMBOL_1,CfnAccessPoint[_a]={fqn:"aws-cdk-lib.aws_s3.CfnAccessPoint",version:"2.51.1"},CfnAccessPoint.CFN_RESOURCE_TYPE_NAME="AWS::S3::AccessPoint";function CfnAccessPoint_PublicAccessBlockConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("blockPublicAcls",cdk.validateBoolean)(properties.blockPublicAcls)),errors.collect(cdk.propertyValidator("blockPublicPolicy",cdk.validateBoolean)(properties.blockPublicPolicy)),errors.collect(cdk.propertyValidator("ignorePublicAcls",cdk.validateBoolean)(properties.ignorePublicAcls)),errors.collect(cdk.propertyValidator("restrictPublicBuckets",cdk.validateBoolean)(properties.restrictPublicBuckets)),errors.wrap('supplied properties not correct for "PublicAccessBlockConfigurationProperty"')}function cfnAccessPointPublicAccessBlockConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPoint_PublicAccessBlockConfigurationPropertyValidator(properties).assertSuccess(),{BlockPublicAcls:cdk.booleanToCloudFormation(properties.blockPublicAcls),BlockPublicPolicy:cdk.booleanToCloudFormation(properties.blockPublicPolicy),IgnorePublicAcls:cdk.booleanToCloudFormation(properties.ignorePublicAcls),RestrictPublicBuckets:cdk.booleanToCloudFormation(properties.restrictPublicBuckets)}):properties}function CfnAccessPointPublicAccessBlockConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("blockPublicAcls","BlockPublicAcls",properties.BlockPublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicAcls):void 0),ret.addPropertyResult("blockPublicPolicy","BlockPublicPolicy",properties.BlockPublicPolicy!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicPolicy):void 0),ret.addPropertyResult("ignorePublicAcls","IgnorePublicAcls",properties.IgnorePublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IgnorePublicAcls):void 0),ret.addPropertyResult("restrictPublicBuckets","RestrictPublicBuckets",properties.RestrictPublicBuckets!=null?cfn_parse.FromCloudFormation.getBoolean(properties.RestrictPublicBuckets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPoint_VpcConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("vpcId",cdk.validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "VpcConfigurationProperty"')}function cfnAccessPointVpcConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPoint_VpcConfigurationPropertyValidator(properties).assertSuccess(),{VpcId:cdk.stringToCloudFormation(properties.vpcId)}):properties}function CfnAccessPointVpcConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse.FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accelerateConfiguration",CfnBucket_AccelerateConfigurationPropertyValidator)(properties.accelerateConfiguration)),errors.collect(cdk.propertyValidator("accessControl",cdk.validateString)(properties.accessControl)),errors.collect(cdk.propertyValidator("analyticsConfigurations",cdk.listValidator(CfnBucket_AnalyticsConfigurationPropertyValidator))(properties.analyticsConfigurations)),errors.collect(cdk.propertyValidator("bucketEncryption",CfnBucket_BucketEncryptionPropertyValidator)(properties.bucketEncryption)),errors.collect(cdk.propertyValidator("bucketName",cdk.validateString)(properties.bucketName)),errors.collect(cdk.propertyValidator("corsConfiguration",CfnBucket_CorsConfigurationPropertyValidator)(properties.corsConfiguration)),errors.collect(cdk.propertyValidator("intelligentTieringConfigurations",cdk.listValidator(CfnBucket_IntelligentTieringConfigurationPropertyValidator))(properties.intelligentTieringConfigurations)),errors.collect(cdk.propertyValidator("inventoryConfigurations",cdk.listValidator(CfnBucket_InventoryConfigurationPropertyValidator))(properties.inventoryConfigurations)),errors.collect(cdk.propertyValidator("lifecycleConfiguration",CfnBucket_LifecycleConfigurationPropertyValidator)(properties.lifecycleConfiguration)),errors.collect(cdk.propertyValidator("loggingConfiguration",CfnBucket_LoggingConfigurationPropertyValidator)(properties.loggingConfiguration)),errors.collect(cdk.propertyValidator("metricsConfigurations",cdk.listValidator(CfnBucket_MetricsConfigurationPropertyValidator))(properties.metricsConfigurations)),errors.collect(cdk.propertyValidator("notificationConfiguration",CfnBucket_NotificationConfigurationPropertyValidator)(properties.notificationConfiguration)),errors.collect(cdk.propertyValidator("objectLockConfiguration",CfnBucket_ObjectLockConfigurationPropertyValidator)(properties.objectLockConfiguration)),errors.collect(cdk.propertyValidator("objectLockEnabled",cdk.validateBoolean)(properties.objectLockEnabled)),errors.collect(cdk.propertyValidator("ownershipControls",CfnBucket_OwnershipControlsPropertyValidator)(properties.ownershipControls)),errors.collect(cdk.propertyValidator("publicAccessBlockConfiguration",CfnBucket_PublicAccessBlockConfigurationPropertyValidator)(properties.publicAccessBlockConfiguration)),errors.collect(cdk.propertyValidator("replicationConfiguration",CfnBucket_ReplicationConfigurationPropertyValidator)(properties.replicationConfiguration)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("versioningConfiguration",CfnBucket_VersioningConfigurationPropertyValidator)(properties.versioningConfiguration)),errors.collect(cdk.propertyValidator("websiteConfiguration",CfnBucket_WebsiteConfigurationPropertyValidator)(properties.websiteConfiguration)),errors.wrap('supplied properties not correct for "CfnBucketProps"')}function cfnBucketPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucketPropsValidator(properties).assertSuccess(),{AccelerateConfiguration:cfnBucketAccelerateConfigurationPropertyToCloudFormation(properties.accelerateConfiguration),AccessControl:cdk.stringToCloudFormation(properties.accessControl),AnalyticsConfigurations:cdk.listMapper(cfnBucketAnalyticsConfigurationPropertyToCloudFormation)(properties.analyticsConfigurations),BucketEncryption:cfnBucketBucketEncryptionPropertyToCloudFormation(properties.bucketEncryption),BucketName:cdk.stringToCloudFormation(properties.bucketName),CorsConfiguration:cfnBucketCorsConfigurationPropertyToCloudFormation(properties.corsConfiguration),IntelligentTieringConfigurations:cdk.listMapper(cfnBucketIntelligentTieringConfigurationPropertyToCloudFormation)(properties.intelligentTieringConfigurations),InventoryConfigurations:cdk.listMapper(cfnBucketInventoryConfigurationPropertyToCloudFormation)(properties.inventoryConfigurations),LifecycleConfiguration:cfnBucketLifecycleConfigurationPropertyToCloudFormation(properties.lifecycleConfiguration),LoggingConfiguration:cfnBucketLoggingConfigurationPropertyToCloudFormation(properties.loggingConfiguration),MetricsConfigurations:cdk.listMapper(cfnBucketMetricsConfigurationPropertyToCloudFormation)(properties.metricsConfigurations),NotificationConfiguration:cfnBucketNotificationConfigurationPropertyToCloudFormation(properties.notificationConfiguration),ObjectLockConfiguration:cfnBucketObjectLockConfigurationPropertyToCloudFormation(properties.objectLockConfiguration),ObjectLockEnabled:cdk.booleanToCloudFormation(properties.objectLockEnabled),OwnershipControls:cfnBucketOwnershipControlsPropertyToCloudFormation(properties.ownershipControls),PublicAccessBlockConfiguration:cfnBucketPublicAccessBlockConfigurationPropertyToCloudFormation(properties.publicAccessBlockConfiguration),ReplicationConfiguration:cfnBucketReplicationConfigurationPropertyToCloudFormation(properties.replicationConfiguration),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),VersioningConfiguration:cfnBucketVersioningConfigurationPropertyToCloudFormation(properties.versioningConfiguration),WebsiteConfiguration:cfnBucketWebsiteConfigurationPropertyToCloudFormation(properties.websiteConfiguration)}):properties}function CfnBucketPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accelerateConfiguration","AccelerateConfiguration",properties.AccelerateConfiguration!=null?CfnBucketAccelerateConfigurationPropertyFromCloudFormation(properties.AccelerateConfiguration):void 0),ret.addPropertyResult("accessControl","AccessControl",properties.AccessControl!=null?cfn_parse.FromCloudFormation.getString(properties.AccessControl):void 0),ret.addPropertyResult("analyticsConfigurations","AnalyticsConfigurations",properties.AnalyticsConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketAnalyticsConfigurationPropertyFromCloudFormation)(properties.AnalyticsConfigurations):void 0),ret.addPropertyResult("bucketEncryption","BucketEncryption",properties.BucketEncryption!=null?CfnBucketBucketEncryptionPropertyFromCloudFormation(properties.BucketEncryption):void 0),ret.addPropertyResult("bucketName","BucketName",properties.BucketName!=null?cfn_parse.FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("corsConfiguration","CorsConfiguration",properties.CorsConfiguration!=null?CfnBucketCorsConfigurationPropertyFromCloudFormation(properties.CorsConfiguration):void 0),ret.addPropertyResult("intelligentTieringConfigurations","IntelligentTieringConfigurations",properties.IntelligentTieringConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketIntelligentTieringConfigurationPropertyFromCloudFormation)(properties.IntelligentTieringConfigurations):void 0),ret.addPropertyResult("inventoryConfigurations","InventoryConfigurations",properties.InventoryConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketInventoryConfigurationPropertyFromCloudFormation)(properties.InventoryConfigurations):void 0),ret.addPropertyResult("lifecycleConfiguration","LifecycleConfiguration",properties.LifecycleConfiguration!=null?CfnBucketLifecycleConfigurationPropertyFromCloudFormation(properties.LifecycleConfiguration):void 0),ret.addPropertyResult("loggingConfiguration","LoggingConfiguration",properties.LoggingConfiguration!=null?CfnBucketLoggingConfigurationPropertyFromCloudFormation(properties.LoggingConfiguration):void 0),ret.addPropertyResult("metricsConfigurations","MetricsConfigurations",properties.MetricsConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketMetricsConfigurationPropertyFromCloudFormation)(properties.MetricsConfigurations):void 0),ret.addPropertyResult("notificationConfiguration","NotificationConfiguration",properties.NotificationConfiguration!=null?CfnBucketNotificationConfigurationPropertyFromCloudFormation(properties.NotificationConfiguration):void 0),ret.addPropertyResult("objectLockConfiguration","ObjectLockConfiguration",properties.ObjectLockConfiguration!=null?CfnBucketObjectLockConfigurationPropertyFromCloudFormation(properties.ObjectLockConfiguration):void 0),ret.addPropertyResult("objectLockEnabled","ObjectLockEnabled",properties.ObjectLockEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.ObjectLockEnabled):void 0),ret.addPropertyResult("ownershipControls","OwnershipControls",properties.OwnershipControls!=null?CfnBucketOwnershipControlsPropertyFromCloudFormation(properties.OwnershipControls):void 0),ret.addPropertyResult("publicAccessBlockConfiguration","PublicAccessBlockConfiguration",properties.PublicAccessBlockConfiguration!=null?CfnBucketPublicAccessBlockConfigurationPropertyFromCloudFormation(properties.PublicAccessBlockConfiguration):void 0),ret.addPropertyResult("replicationConfiguration","ReplicationConfiguration",properties.ReplicationConfiguration!=null?CfnBucketReplicationConfigurationPropertyFromCloudFormation(properties.ReplicationConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("versioningConfiguration","VersioningConfiguration",properties.VersioningConfiguration!=null?CfnBucketVersioningConfigurationPropertyFromCloudFormation(properties.VersioningConfiguration):void 0),ret.addPropertyResult("websiteConfiguration","WebsiteConfiguration",properties.WebsiteConfiguration!=null?CfnBucketWebsiteConfigurationPropertyFromCloudFormation(properties.WebsiteConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBucket extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnBucket.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnBucketProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBucket),error}this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrDomainName=cdk.Token.asString(this.getAtt("DomainName")),this.attrDualStackDomainName=cdk.Token.asString(this.getAtt("DualStackDomainName")),this.attrRegionalDomainName=cdk.Token.asString(this.getAtt("RegionalDomainName")),this.attrWebsiteUrl=cdk.Token.asString(this.getAtt("WebsiteURL")),this.accelerateConfiguration=props.accelerateConfiguration,this.accessControl=props.accessControl,this.analyticsConfigurations=props.analyticsConfigurations,this.bucketEncryption=props.bucketEncryption,this.bucketName=props.bucketName,this.corsConfiguration=props.corsConfiguration,this.intelligentTieringConfigurations=props.intelligentTieringConfigurations,this.inventoryConfigurations=props.inventoryConfigurations,this.lifecycleConfiguration=props.lifecycleConfiguration,this.loggingConfiguration=props.loggingConfiguration,this.metricsConfigurations=props.metricsConfigurations,this.notificationConfiguration=props.notificationConfiguration,this.objectLockConfiguration=props.objectLockConfiguration,this.objectLockEnabled=props.objectLockEnabled,this.ownershipControls=props.ownershipControls,this.publicAccessBlockConfiguration=props.publicAccessBlockConfiguration,this.replicationConfiguration=props.replicationConfiguration,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::S3::Bucket",props.tags,{tagPropertyName:"tags"}),this.versioningConfiguration=props.versioningConfiguration,this.websiteConfiguration=props.websiteConfiguration,this.node.scope&&cdk.Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::S3::Bucket' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBucketPropsFromCloudFormation(resourceProperties),ret=new CfnBucket(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnBucket.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{accelerateConfiguration:this.accelerateConfiguration,accessControl:this.accessControl,analyticsConfigurations:this.analyticsConfigurations,bucketEncryption:this.bucketEncryption,bucketName:this.bucketName,corsConfiguration:this.corsConfiguration,intelligentTieringConfigurations:this.intelligentTieringConfigurations,inventoryConfigurations:this.inventoryConfigurations,lifecycleConfiguration:this.lifecycleConfiguration,loggingConfiguration:this.loggingConfiguration,metricsConfigurations:this.metricsConfigurations,notificationConfiguration:this.notificationConfiguration,objectLockConfiguration:this.objectLockConfiguration,objectLockEnabled:this.objectLockEnabled,ownershipControls:this.ownershipControls,publicAccessBlockConfiguration:this.publicAccessBlockConfiguration,replicationConfiguration:this.replicationConfiguration,tags:this.tags.renderTags(),versioningConfiguration:this.versioningConfiguration,websiteConfiguration:this.websiteConfiguration}}renderProperties(props){return cfnBucketPropsToCloudFormation(props)}}exports.CfnBucket=CfnBucket,_b=JSII_RTTI_SYMBOL_1,CfnBucket[_b]={fqn:"aws-cdk-lib.aws_s3.CfnBucket",version:"2.51.1"},CfnBucket.CFN_RESOURCE_TYPE_NAME="AWS::S3::Bucket";function CfnBucket_AbortIncompleteMultipartUploadPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("daysAfterInitiation",cdk.requiredValidator)(properties.daysAfterInitiation)),errors.collect(cdk.propertyValidator("daysAfterInitiation",cdk.validateNumber)(properties.daysAfterInitiation)),errors.wrap('supplied properties not correct for "AbortIncompleteMultipartUploadProperty"')}function cfnBucketAbortIncompleteMultipartUploadPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_AbortIncompleteMultipartUploadPropertyValidator(properties).assertSuccess(),{DaysAfterInitiation:cdk.numberToCloudFormation(properties.daysAfterInitiation)}):properties}function CfnBucketAbortIncompleteMultipartUploadPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("daysAfterInitiation","DaysAfterInitiation",cfn_parse.FromCloudFormation.getNumber(properties.DaysAfterInitiation)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_AccelerateConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accelerationStatus",cdk.requiredValidator)(properties.accelerationStatus)),errors.collect(cdk.propertyValidator("accelerationStatus",cdk.validateString)(properties.accelerationStatus)),errors.wrap('supplied properties not correct for "AccelerateConfigurationProperty"')}function cfnBucketAccelerateConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_AccelerateConfigurationPropertyValidator(properties).assertSuccess(),{AccelerationStatus:cdk.stringToCloudFormation(properties.accelerationStatus)}):properties}function CfnBucketAccelerateConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accelerationStatus","AccelerationStatus",cfn_parse.FromCloudFormation.getString(properties.AccelerationStatus)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_AccessControlTranslationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("owner",cdk.requiredValidator)(properties.owner)),errors.collect(cdk.propertyValidator("owner",cdk.validateString)(properties.owner)),errors.wrap('supplied properties not correct for "AccessControlTranslationProperty"')}function cfnBucketAccessControlTranslationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_AccessControlTranslationPropertyValidator(properties).assertSuccess(),{Owner:cdk.stringToCloudFormation(properties.owner)}):properties}function CfnBucketAccessControlTranslationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("owner","Owner",cfn_parse.FromCloudFormation.getString(properties.Owner)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_AnalyticsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("storageClassAnalysis",cdk.requiredValidator)(properties.storageClassAnalysis)),errors.collect(cdk.propertyValidator("storageClassAnalysis",CfnBucket_StorageClassAnalysisPropertyValidator)(properties.storageClassAnalysis)),errors.collect(cdk.propertyValidator("tagFilters",cdk.listValidator(CfnBucket_TagFilterPropertyValidator))(properties.tagFilters)),errors.wrap('supplied properties not correct for "AnalyticsConfigurationProperty"')}function cfnBucketAnalyticsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_AnalyticsConfigurationPropertyValidator(properties).assertSuccess(),{Id:cdk.stringToCloudFormation(properties.id),Prefix:cdk.stringToCloudFormation(properties.prefix),StorageClassAnalysis:cfnBucketStorageClassAnalysisPropertyToCloudFormation(properties.storageClassAnalysis),TagFilters:cdk.listMapper(cfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters)}):properties}function CfnBucketAnalyticsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("storageClassAnalysis","StorageClassAnalysis",CfnBucketStorageClassAnalysisPropertyFromCloudFormation(properties.StorageClassAnalysis)),ret.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_BucketEncryptionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("serverSideEncryptionConfiguration",cdk.requiredValidator)(properties.serverSideEncryptionConfiguration)),errors.collect(cdk.propertyValidator("serverSideEncryptionConfiguration",cdk.listValidator(CfnBucket_ServerSideEncryptionRulePropertyValidator))(properties.serverSideEncryptionConfiguration)),errors.wrap('supplied properties not correct for "BucketEncryptionProperty"')}function cfnBucketBucketEncryptionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_BucketEncryptionPropertyValidator(properties).assertSuccess(),{ServerSideEncryptionConfiguration:cdk.listMapper(cfnBucketServerSideEncryptionRulePropertyToCloudFormation)(properties.serverSideEncryptionConfiguration)}):properties}function CfnBucketBucketEncryptionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("serverSideEncryptionConfiguration","ServerSideEncryptionConfiguration",cfn_parse.FromCloudFormation.getArray(CfnBucketServerSideEncryptionRulePropertyFromCloudFormation)(properties.ServerSideEncryptionConfiguration)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_CorsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("corsRules",cdk.requiredValidator)(properties.corsRules)),errors.collect(cdk.propertyValidator("corsRules",cdk.listValidator(CfnBucket_CorsRulePropertyValidator))(properties.corsRules)),errors.wrap('supplied properties not correct for "CorsConfigurationProperty"')}function cfnBucketCorsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_CorsConfigurationPropertyValidator(properties).assertSuccess(),{CorsRules:cdk.listMapper(cfnBucketCorsRulePropertyToCloudFormation)(properties.corsRules)}):properties}function CfnBucketCorsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("corsRules","CorsRules",cfn_parse.FromCloudFormation.getArray(CfnBucketCorsRulePropertyFromCloudFormation)(properties.CorsRules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_CorsRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allowedHeaders",cdk.listValidator(cdk.validateString))(properties.allowedHeaders)),errors.collect(cdk.propertyValidator("allowedMethods",cdk.requiredValidator)(properties.allowedMethods)),errors.collect(cdk.propertyValidator("allowedMethods",cdk.listValidator(cdk.validateString))(properties.allowedMethods)),errors.collect(cdk.propertyValidator("allowedOrigins",cdk.requiredValidator)(properties.allowedOrigins)),errors.collect(cdk.propertyValidator("allowedOrigins",cdk.listValidator(cdk.validateString))(properties.allowedOrigins)),errors.collect(cdk.propertyValidator("exposedHeaders",cdk.listValidator(cdk.validateString))(properties.exposedHeaders)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("maxAge",cdk.validateNumber)(properties.maxAge)),errors.wrap('supplied properties not correct for "CorsRuleProperty"')}function cfnBucketCorsRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_CorsRulePropertyValidator(properties).assertSuccess(),{AllowedHeaders:cdk.listMapper(cdk.stringToCloudFormation)(properties.allowedHeaders),AllowedMethods:cdk.listMapper(cdk.stringToCloudFormation)(properties.allowedMethods),AllowedOrigins:cdk.listMapper(cdk.stringToCloudFormation)(properties.allowedOrigins),ExposedHeaders:cdk.listMapper(cdk.stringToCloudFormation)(properties.exposedHeaders),Id:cdk.stringToCloudFormation(properties.id),MaxAge:cdk.numberToCloudFormation(properties.maxAge)}):properties}function CfnBucketCorsRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("allowedHeaders","AllowedHeaders",properties.AllowedHeaders!=null?cfn_parse.FromCloudFormation.getStringArray(properties.AllowedHeaders):void 0),ret.addPropertyResult("allowedMethods","AllowedMethods",cfn_parse.FromCloudFormation.getStringArray(properties.AllowedMethods)),ret.addPropertyResult("allowedOrigins","AllowedOrigins",cfn_parse.FromCloudFormation.getStringArray(properties.AllowedOrigins)),ret.addPropertyResult("exposedHeaders","ExposedHeaders",properties.ExposedHeaders!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ExposedHeaders):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse.FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("maxAge","MaxAge",properties.MaxAge!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaxAge):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_DataExportPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("destination",cdk.requiredValidator)(properties.destination)),errors.collect(cdk.propertyValidator("destination",CfnBucket_DestinationPropertyValidator)(properties.destination)),errors.collect(cdk.propertyValidator("outputSchemaVersion",cdk.requiredValidator)(properties.outputSchemaVersion)),errors.collect(cdk.propertyValidator("outputSchemaVersion",cdk.validateString)(properties.outputSchemaVersion)),errors.wrap('supplied properties not correct for "DataExportProperty"')}function cfnBucketDataExportPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_DataExportPropertyValidator(properties).assertSuccess(),{Destination:cfnBucketDestinationPropertyToCloudFormation(properties.destination),OutputSchemaVersion:cdk.stringToCloudFormation(properties.outputSchemaVersion)}):properties}function CfnBucketDataExportPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",CfnBucketDestinationPropertyFromCloudFormation(properties.Destination)),ret.addPropertyResult("outputSchemaVersion","OutputSchemaVersion",cfn_parse.FromCloudFormation.getString(properties.OutputSchemaVersion)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_DefaultRetentionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("days",cdk.validateNumber)(properties.days)),errors.collect(cdk.propertyValidator("mode",cdk.validateString)(properties.mode)),errors.collect(cdk.propertyValidator("years",cdk.validateNumber)(properties.years)),errors.wrap('supplied properties not correct for "DefaultRetentionProperty"')}function cfnBucketDefaultRetentionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_DefaultRetentionPropertyValidator(properties).assertSuccess(),{Days:cdk.numberToCloudFormation(properties.days),Mode:cdk.stringToCloudFormation(properties.mode),Years:cdk.numberToCloudFormation(properties.years)}):properties}function CfnBucketDefaultRetentionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("days","Days",properties.Days!=null?cfn_parse.FromCloudFormation.getNumber(properties.Days):void 0),ret.addPropertyResult("mode","Mode",properties.Mode!=null?cfn_parse.FromCloudFormation.getString(properties.Mode):void 0),ret.addPropertyResult("years","Years",properties.Years!=null?cfn_parse.FromCloudFormation.getNumber(properties.Years):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_DeleteMarkerReplicationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "DeleteMarkerReplicationProperty"')}function cfnBucketDeleteMarkerReplicationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_DeleteMarkerReplicationPropertyValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketDeleteMarkerReplicationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse.FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_DestinationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bucketAccountId",cdk.validateString)(properties.bucketAccountId)),errors.collect(cdk.propertyValidator("bucketArn",cdk.requiredValidator)(properties.bucketArn)),errors.collect(cdk.propertyValidator("bucketArn",cdk.validateString)(properties.bucketArn)),errors.collect(cdk.propertyValidator("format",cdk.requiredValidator)(properties.format)),errors.collect(cdk.propertyValidator("format",cdk.validateString)(properties.format)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.wrap('supplied properties not correct for "DestinationProperty"')}function cfnBucketDestinationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_DestinationPropertyValidator(properties).assertSuccess(),{BucketAccountId:cdk.stringToCloudFormation(properties.bucketAccountId),BucketArn:cdk.stringToCloudFormation(properties.bucketArn),Format:cdk.stringToCloudFormation(properties.format),Prefix:cdk.stringToCloudFormation(properties.prefix)}):properties}function CfnBucketDestinationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketAccountId","BucketAccountId",properties.BucketAccountId!=null?cfn_parse.FromCloudFormation.getString(properties.BucketAccountId):void 0),ret.addPropertyResult("bucketArn","BucketArn",cfn_parse.FromCloudFormation.getString(properties.BucketArn)),ret.addPropertyResult("format","Format",cfn_parse.FromCloudFormation.getString(properties.Format)),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_EncryptionConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("replicaKmsKeyId",cdk.requiredValidator)(properties.replicaKmsKeyId)),errors.collect(cdk.propertyValidator("replicaKmsKeyId",cdk.validateString)(properties.replicaKmsKeyId)),errors.wrap('supplied properties not correct for "EncryptionConfigurationProperty"')}function cfnBucketEncryptionConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_EncryptionConfigurationPropertyValidator(properties).assertSuccess(),{ReplicaKmsKeyID:cdk.stringToCloudFormation(properties.replicaKmsKeyId)}):properties}function CfnBucketEncryptionConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("replicaKmsKeyId","ReplicaKmsKeyID",cfn_parse.FromCloudFormation.getString(properties.ReplicaKmsKeyID)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_EventBridgeConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("eventBridgeEnabled",cdk.validateBoolean)(properties.eventBridgeEnabled)),errors.wrap('supplied properties not correct for "EventBridgeConfigurationProperty"')}function cfnBucketEventBridgeConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_EventBridgeConfigurationPropertyValidator(properties).assertSuccess(),{EventBridgeEnabled:cdk.booleanToCloudFormation(properties.eventBridgeEnabled)}):properties}function CfnBucketEventBridgeConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("eventBridgeEnabled","EventBridgeEnabled",properties.EventBridgeEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EventBridgeEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_FilterRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("value",cdk.requiredValidator)(properties.value)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "FilterRuleProperty"')}function cfnBucketFilterRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_FilterRulePropertyValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnBucketFilterRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getString(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_IntelligentTieringConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("tagFilters",cdk.listValidator(CfnBucket_TagFilterPropertyValidator))(properties.tagFilters)),errors.collect(cdk.propertyValidator("tierings",cdk.requiredValidator)(properties.tierings)),errors.collect(cdk.propertyValidator("tierings",cdk.listValidator(CfnBucket_TieringPropertyValidator))(properties.tierings)),errors.wrap('supplied properties not correct for "IntelligentTieringConfigurationProperty"')}function cfnBucketIntelligentTieringConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_IntelligentTieringConfigurationPropertyValidator(properties).assertSuccess(),{Id:cdk.stringToCloudFormation(properties.id),Prefix:cdk.stringToCloudFormation(properties.prefix),Status:cdk.stringToCloudFormation(properties.status),TagFilters:cdk.listMapper(cfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters),Tierings:cdk.listMapper(cfnBucketTieringPropertyToCloudFormation)(properties.tierings)}):properties}function CfnBucketIntelligentTieringConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addPropertyResult("tierings","Tierings",cfn_parse.FromCloudFormation.getArray(CfnBucketTieringPropertyFromCloudFormation)(properties.Tierings)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_InventoryConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("destination",cdk.requiredValidator)(properties.destination)),errors.collect(cdk.propertyValidator("destination",CfnBucket_DestinationPropertyValidator)(properties.destination)),errors.collect(cdk.propertyValidator("enabled",cdk.requiredValidator)(properties.enabled)),errors.collect(cdk.propertyValidator("enabled",cdk.validateBoolean)(properties.enabled)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("includedObjectVersions",cdk.requiredValidator)(properties.includedObjectVersions)),errors.collect(cdk.propertyValidator("includedObjectVersions",cdk.validateString)(properties.includedObjectVersions)),errors.collect(cdk.propertyValidator("optionalFields",cdk.listValidator(cdk.validateString))(properties.optionalFields)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("scheduleFrequency",cdk.requiredValidator)(properties.scheduleFrequency)),errors.collect(cdk.propertyValidator("scheduleFrequency",cdk.validateString)(properties.scheduleFrequency)),errors.wrap('supplied properties not correct for "InventoryConfigurationProperty"')}function cfnBucketInventoryConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_InventoryConfigurationPropertyValidator(properties).assertSuccess(),{Destination:cfnBucketDestinationPropertyToCloudFormation(properties.destination),Enabled:cdk.booleanToCloudFormation(properties.enabled),Id:cdk.stringToCloudFormation(properties.id),IncludedObjectVersions:cdk.stringToCloudFormation(properties.includedObjectVersions),OptionalFields:cdk.listMapper(cdk.stringToCloudFormation)(properties.optionalFields),Prefix:cdk.stringToCloudFormation(properties.prefix),ScheduleFrequency:cdk.stringToCloudFormation(properties.scheduleFrequency)}):properties}function CfnBucketInventoryConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("destination","Destination",CfnBucketDestinationPropertyFromCloudFormation(properties.Destination)),ret.addPropertyResult("enabled","Enabled",cfn_parse.FromCloudFormation.getBoolean(properties.Enabled)),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("includedObjectVersions","IncludedObjectVersions",cfn_parse.FromCloudFormation.getString(properties.IncludedObjectVersions)),ret.addPropertyResult("optionalFields","OptionalFields",properties.OptionalFields!=null?cfn_parse.FromCloudFormation.getStringArray(properties.OptionalFields):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("scheduleFrequency","ScheduleFrequency",cfn_parse.FromCloudFormation.getString(properties.ScheduleFrequency)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_LambdaConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("event",cdk.requiredValidator)(properties.event)),errors.collect(cdk.propertyValidator("event",cdk.validateString)(properties.event)),errors.collect(cdk.propertyValidator("filter",CfnBucket_NotificationFilterPropertyValidator)(properties.filter)),errors.collect(cdk.propertyValidator("function",cdk.requiredValidator)(properties.function)),errors.collect(cdk.propertyValidator("function",cdk.validateString)(properties.function)),errors.wrap('supplied properties not correct for "LambdaConfigurationProperty"')}function cfnBucketLambdaConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_LambdaConfigurationPropertyValidator(properties).assertSuccess(),{Event:cdk.stringToCloudFormation(properties.event),Filter:cfnBucketNotificationFilterPropertyToCloudFormation(properties.filter),Function:cdk.stringToCloudFormation(properties.function)}):properties}function CfnBucketLambdaConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("event","Event",cfn_parse.FromCloudFormation.getString(properties.Event)),ret.addPropertyResult("filter","Filter",properties.Filter!=null?CfnBucketNotificationFilterPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("function","Function",cfn_parse.FromCloudFormation.getString(properties.Function)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_LifecycleConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnBucket_RulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "LifecycleConfigurationProperty"')}function cfnBucketLifecycleConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_LifecycleConfigurationPropertyValidator(properties).assertSuccess(),{Rules:cdk.listMapper(cfnBucketRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnBucketLifecycleConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnBucketRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_LoggingConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("destinationBucketName",cdk.validateString)(properties.destinationBucketName)),errors.collect(cdk.propertyValidator("logFilePrefix",cdk.validateString)(properties.logFilePrefix)),errors.wrap('supplied properties not correct for "LoggingConfigurationProperty"')}function cfnBucketLoggingConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_LoggingConfigurationPropertyValidator(properties).assertSuccess(),{DestinationBucketName:cdk.stringToCloudFormation(properties.destinationBucketName),LogFilePrefix:cdk.stringToCloudFormation(properties.logFilePrefix)}):properties}function CfnBucketLoggingConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationBucketName","DestinationBucketName",properties.DestinationBucketName!=null?cfn_parse.FromCloudFormation.getString(properties.DestinationBucketName):void 0),ret.addPropertyResult("logFilePrefix","LogFilePrefix",properties.LogFilePrefix!=null?cfn_parse.FromCloudFormation.getString(properties.LogFilePrefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_MetricsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("eventThreshold",CfnBucket_ReplicationTimeValuePropertyValidator)(properties.eventThreshold)),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "MetricsProperty"')}function cfnBucketMetricsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_MetricsPropertyValidator(properties).assertSuccess(),{EventThreshold:cfnBucketReplicationTimeValuePropertyToCloudFormation(properties.eventThreshold),Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketMetricsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("eventThreshold","EventThreshold",properties.EventThreshold!=null?CfnBucketReplicationTimeValuePropertyFromCloudFormation(properties.EventThreshold):void 0),ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_MetricsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accessPointArn",cdk.validateString)(properties.accessPointArn)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("tagFilters",cdk.listValidator(CfnBucket_TagFilterPropertyValidator))(properties.tagFilters)),errors.wrap('supplied properties not correct for "MetricsConfigurationProperty"')}function cfnBucketMetricsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_MetricsConfigurationPropertyValidator(properties).assertSuccess(),{AccessPointArn:cdk.stringToCloudFormation(properties.accessPointArn),Id:cdk.stringToCloudFormation(properties.id),Prefix:cdk.stringToCloudFormation(properties.prefix),TagFilters:cdk.listMapper(cfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters)}):properties}function CfnBucketMetricsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accessPointArn","AccessPointArn",properties.AccessPointArn!=null?cfn_parse.FromCloudFormation.getString(properties.AccessPointArn):void 0),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_NoncurrentVersionExpirationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("newerNoncurrentVersions",cdk.validateNumber)(properties.newerNoncurrentVersions)),errors.collect(cdk.propertyValidator("noncurrentDays",cdk.requiredValidator)(properties.noncurrentDays)),errors.collect(cdk.propertyValidator("noncurrentDays",cdk.validateNumber)(properties.noncurrentDays)),errors.wrap('supplied properties not correct for "NoncurrentVersionExpirationProperty"')}function cfnBucketNoncurrentVersionExpirationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_NoncurrentVersionExpirationPropertyValidator(properties).assertSuccess(),{NewerNoncurrentVersions:cdk.numberToCloudFormation(properties.newerNoncurrentVersions),NoncurrentDays:cdk.numberToCloudFormation(properties.noncurrentDays)}):properties}function CfnBucketNoncurrentVersionExpirationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("newerNoncurrentVersions","NewerNoncurrentVersions",properties.NewerNoncurrentVersions!=null?cfn_parse.FromCloudFormation.getNumber(properties.NewerNoncurrentVersions):void 0),ret.addPropertyResult("noncurrentDays","NoncurrentDays",cfn_parse.FromCloudFormation.getNumber(properties.NoncurrentDays)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_NoncurrentVersionTransitionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("newerNoncurrentVersions",cdk.validateNumber)(properties.newerNoncurrentVersions)),errors.collect(cdk.propertyValidator("storageClass",cdk.requiredValidator)(properties.storageClass)),errors.collect(cdk.propertyValidator("storageClass",cdk.validateString)(properties.storageClass)),errors.collect(cdk.propertyValidator("transitionInDays",cdk.requiredValidator)(properties.transitionInDays)),errors.collect(cdk.propertyValidator("transitionInDays",cdk.validateNumber)(properties.transitionInDays)),errors.wrap('supplied properties not correct for "NoncurrentVersionTransitionProperty"')}function cfnBucketNoncurrentVersionTransitionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_NoncurrentVersionTransitionPropertyValidator(properties).assertSuccess(),{NewerNoncurrentVersions:cdk.numberToCloudFormation(properties.newerNoncurrentVersions),StorageClass:cdk.stringToCloudFormation(properties.storageClass),TransitionInDays:cdk.numberToCloudFormation(properties.transitionInDays)}):properties}function CfnBucketNoncurrentVersionTransitionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("newerNoncurrentVersions","NewerNoncurrentVersions",properties.NewerNoncurrentVersions!=null?cfn_parse.FromCloudFormation.getNumber(properties.NewerNoncurrentVersions):void 0),ret.addPropertyResult("storageClass","StorageClass",cfn_parse.FromCloudFormation.getString(properties.StorageClass)),ret.addPropertyResult("transitionInDays","TransitionInDays",cfn_parse.FromCloudFormation.getNumber(properties.TransitionInDays)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_NotificationConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("eventBridgeConfiguration",CfnBucket_EventBridgeConfigurationPropertyValidator)(properties.eventBridgeConfiguration)),errors.collect(cdk.propertyValidator("lambdaConfigurations",cdk.listValidator(CfnBucket_LambdaConfigurationPropertyValidator))(properties.lambdaConfigurations)),errors.collect(cdk.propertyValidator("queueConfigurations",cdk.listValidator(CfnBucket_QueueConfigurationPropertyValidator))(properties.queueConfigurations)),errors.collect(cdk.propertyValidator("topicConfigurations",cdk.listValidator(CfnBucket_TopicConfigurationPropertyValidator))(properties.topicConfigurations)),errors.wrap('supplied properties not correct for "NotificationConfigurationProperty"')}function cfnBucketNotificationConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_NotificationConfigurationPropertyValidator(properties).assertSuccess(),{EventBridgeConfiguration:cfnBucketEventBridgeConfigurationPropertyToCloudFormation(properties.eventBridgeConfiguration),LambdaConfigurations:cdk.listMapper(cfnBucketLambdaConfigurationPropertyToCloudFormation)(properties.lambdaConfigurations),QueueConfigurations:cdk.listMapper(cfnBucketQueueConfigurationPropertyToCloudFormation)(properties.queueConfigurations),TopicConfigurations:cdk.listMapper(cfnBucketTopicConfigurationPropertyToCloudFormation)(properties.topicConfigurations)}):properties}function CfnBucketNotificationConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("eventBridgeConfiguration","EventBridgeConfiguration",properties.EventBridgeConfiguration!=null?CfnBucketEventBridgeConfigurationPropertyFromCloudFormation(properties.EventBridgeConfiguration):void 0),ret.addPropertyResult("lambdaConfigurations","LambdaConfigurations",properties.LambdaConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketLambdaConfigurationPropertyFromCloudFormation)(properties.LambdaConfigurations):void 0),ret.addPropertyResult("queueConfigurations","QueueConfigurations",properties.QueueConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketQueueConfigurationPropertyFromCloudFormation)(properties.QueueConfigurations):void 0),ret.addPropertyResult("topicConfigurations","TopicConfigurations",properties.TopicConfigurations!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTopicConfigurationPropertyFromCloudFormation)(properties.TopicConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_NotificationFilterPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("s3Key",cdk.requiredValidator)(properties.s3Key)),errors.collect(cdk.propertyValidator("s3Key",CfnBucket_S3KeyFilterPropertyValidator)(properties.s3Key)),errors.wrap('supplied properties not correct for "NotificationFilterProperty"')}function cfnBucketNotificationFilterPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_NotificationFilterPropertyValidator(properties).assertSuccess(),{S3Key:cfnBucketS3KeyFilterPropertyToCloudFormation(properties.s3Key)}):properties}function CfnBucketNotificationFilterPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("s3Key","S3Key",CfnBucketS3KeyFilterPropertyFromCloudFormation(properties.S3Key)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ObjectLockConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("objectLockEnabled",cdk.validateString)(properties.objectLockEnabled)),errors.collect(cdk.propertyValidator("rule",CfnBucket_ObjectLockRulePropertyValidator)(properties.rule)),errors.wrap('supplied properties not correct for "ObjectLockConfigurationProperty"')}function cfnBucketObjectLockConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ObjectLockConfigurationPropertyValidator(properties).assertSuccess(),{ObjectLockEnabled:cdk.stringToCloudFormation(properties.objectLockEnabled),Rule:cfnBucketObjectLockRulePropertyToCloudFormation(properties.rule)}):properties}function CfnBucketObjectLockConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("objectLockEnabled","ObjectLockEnabled",properties.ObjectLockEnabled!=null?cfn_parse.FromCloudFormation.getString(properties.ObjectLockEnabled):void 0),ret.addPropertyResult("rule","Rule",properties.Rule!=null?CfnBucketObjectLockRulePropertyFromCloudFormation(properties.Rule):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ObjectLockRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("defaultRetention",CfnBucket_DefaultRetentionPropertyValidator)(properties.defaultRetention)),errors.wrap('supplied properties not correct for "ObjectLockRuleProperty"')}function cfnBucketObjectLockRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ObjectLockRulePropertyValidator(properties).assertSuccess(),{DefaultRetention:cfnBucketDefaultRetentionPropertyToCloudFormation(properties.defaultRetention)}):properties}function CfnBucketObjectLockRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("defaultRetention","DefaultRetention",properties.DefaultRetention!=null?CfnBucketDefaultRetentionPropertyFromCloudFormation(properties.DefaultRetention):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_OwnershipControlsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnBucket_OwnershipControlsRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "OwnershipControlsProperty"')}function cfnBucketOwnershipControlsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_OwnershipControlsPropertyValidator(properties).assertSuccess(),{Rules:cdk.listMapper(cfnBucketOwnershipControlsRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnBucketOwnershipControlsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnBucketOwnershipControlsRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_OwnershipControlsRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("objectOwnership",cdk.validateString)(properties.objectOwnership)),errors.wrap('supplied properties not correct for "OwnershipControlsRuleProperty"')}function cfnBucketOwnershipControlsRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_OwnershipControlsRulePropertyValidator(properties).assertSuccess(),{ObjectOwnership:cdk.stringToCloudFormation(properties.objectOwnership)}):properties}function CfnBucketOwnershipControlsRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("objectOwnership","ObjectOwnership",properties.ObjectOwnership!=null?cfn_parse.FromCloudFormation.getString(properties.ObjectOwnership):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_PublicAccessBlockConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("blockPublicAcls",cdk.validateBoolean)(properties.blockPublicAcls)),errors.collect(cdk.propertyValidator("blockPublicPolicy",cdk.validateBoolean)(properties.blockPublicPolicy)),errors.collect(cdk.propertyValidator("ignorePublicAcls",cdk.validateBoolean)(properties.ignorePublicAcls)),errors.collect(cdk.propertyValidator("restrictPublicBuckets",cdk.validateBoolean)(properties.restrictPublicBuckets)),errors.wrap('supplied properties not correct for "PublicAccessBlockConfigurationProperty"')}function cfnBucketPublicAccessBlockConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_PublicAccessBlockConfigurationPropertyValidator(properties).assertSuccess(),{BlockPublicAcls:cdk.booleanToCloudFormation(properties.blockPublicAcls),BlockPublicPolicy:cdk.booleanToCloudFormation(properties.blockPublicPolicy),IgnorePublicAcls:cdk.booleanToCloudFormation(properties.ignorePublicAcls),RestrictPublicBuckets:cdk.booleanToCloudFormation(properties.restrictPublicBuckets)}):properties}function CfnBucketPublicAccessBlockConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("blockPublicAcls","BlockPublicAcls",properties.BlockPublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicAcls):void 0),ret.addPropertyResult("blockPublicPolicy","BlockPublicPolicy",properties.BlockPublicPolicy!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicPolicy):void 0),ret.addPropertyResult("ignorePublicAcls","IgnorePublicAcls",properties.IgnorePublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IgnorePublicAcls):void 0),ret.addPropertyResult("restrictPublicBuckets","RestrictPublicBuckets",properties.RestrictPublicBuckets!=null?cfn_parse.FromCloudFormation.getBoolean(properties.RestrictPublicBuckets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_QueueConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("event",cdk.requiredValidator)(properties.event)),errors.collect(cdk.propertyValidator("event",cdk.validateString)(properties.event)),errors.collect(cdk.propertyValidator("filter",CfnBucket_NotificationFilterPropertyValidator)(properties.filter)),errors.collect(cdk.propertyValidator("queue",cdk.requiredValidator)(properties.queue)),errors.collect(cdk.propertyValidator("queue",cdk.validateString)(properties.queue)),errors.wrap('supplied properties not correct for "QueueConfigurationProperty"')}function cfnBucketQueueConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_QueueConfigurationPropertyValidator(properties).assertSuccess(),{Event:cdk.stringToCloudFormation(properties.event),Filter:cfnBucketNotificationFilterPropertyToCloudFormation(properties.filter),Queue:cdk.stringToCloudFormation(properties.queue)}):properties}function CfnBucketQueueConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("event","Event",cfn_parse.FromCloudFormation.getString(properties.Event)),ret.addPropertyResult("filter","Filter",properties.Filter!=null?CfnBucketNotificationFilterPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("queue","Queue",cfn_parse.FromCloudFormation.getString(properties.Queue)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_RedirectAllRequestsToPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("hostName",cdk.requiredValidator)(properties.hostName)),errors.collect(cdk.propertyValidator("hostName",cdk.validateString)(properties.hostName)),errors.collect(cdk.propertyValidator("protocol",cdk.validateString)(properties.protocol)),errors.wrap('supplied properties not correct for "RedirectAllRequestsToProperty"')}function cfnBucketRedirectAllRequestsToPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_RedirectAllRequestsToPropertyValidator(properties).assertSuccess(),{HostName:cdk.stringToCloudFormation(properties.hostName),Protocol:cdk.stringToCloudFormation(properties.protocol)}):properties}function CfnBucketRedirectAllRequestsToPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("hostName","HostName",cfn_parse.FromCloudFormation.getString(properties.HostName)),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse.FromCloudFormation.getString(properties.Protocol):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_RedirectRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("hostName",cdk.validateString)(properties.hostName)),errors.collect(cdk.propertyValidator("httpRedirectCode",cdk.validateString)(properties.httpRedirectCode)),errors.collect(cdk.propertyValidator("protocol",cdk.validateString)(properties.protocol)),errors.collect(cdk.propertyValidator("replaceKeyPrefixWith",cdk.validateString)(properties.replaceKeyPrefixWith)),errors.collect(cdk.propertyValidator("replaceKeyWith",cdk.validateString)(properties.replaceKeyWith)),errors.wrap('supplied properties not correct for "RedirectRuleProperty"')}function cfnBucketRedirectRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_RedirectRulePropertyValidator(properties).assertSuccess(),{HostName:cdk.stringToCloudFormation(properties.hostName),HttpRedirectCode:cdk.stringToCloudFormation(properties.httpRedirectCode),Protocol:cdk.stringToCloudFormation(properties.protocol),ReplaceKeyPrefixWith:cdk.stringToCloudFormation(properties.replaceKeyPrefixWith),ReplaceKeyWith:cdk.stringToCloudFormation(properties.replaceKeyWith)}):properties}function CfnBucketRedirectRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("hostName","HostName",properties.HostName!=null?cfn_parse.FromCloudFormation.getString(properties.HostName):void 0),ret.addPropertyResult("httpRedirectCode","HttpRedirectCode",properties.HttpRedirectCode!=null?cfn_parse.FromCloudFormation.getString(properties.HttpRedirectCode):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse.FromCloudFormation.getString(properties.Protocol):void 0),ret.addPropertyResult("replaceKeyPrefixWith","ReplaceKeyPrefixWith",properties.ReplaceKeyPrefixWith!=null?cfn_parse.FromCloudFormation.getString(properties.ReplaceKeyPrefixWith):void 0),ret.addPropertyResult("replaceKeyWith","ReplaceKeyWith",properties.ReplaceKeyWith!=null?cfn_parse.FromCloudFormation.getString(properties.ReplaceKeyWith):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicaModificationsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "ReplicaModificationsProperty"')}function cfnBucketReplicaModificationsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicaModificationsPropertyValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketReplicaModificationsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("role",cdk.requiredValidator)(properties.role)),errors.collect(cdk.propertyValidator("role",cdk.validateString)(properties.role)),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnBucket_ReplicationRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "ReplicationConfigurationProperty"')}function cfnBucketReplicationConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationConfigurationPropertyValidator(properties).assertSuccess(),{Role:cdk.stringToCloudFormation(properties.role),Rules:cdk.listMapper(cfnBucketReplicationRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnBucketReplicationConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("role","Role",cfn_parse.FromCloudFormation.getString(properties.Role)),ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnBucketReplicationRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationDestinationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accessControlTranslation",CfnBucket_AccessControlTranslationPropertyValidator)(properties.accessControlTranslation)),errors.collect(cdk.propertyValidator("account",cdk.validateString)(properties.account)),errors.collect(cdk.propertyValidator("bucket",cdk.requiredValidator)(properties.bucket)),errors.collect(cdk.propertyValidator("bucket",cdk.validateString)(properties.bucket)),errors.collect(cdk.propertyValidator("encryptionConfiguration",CfnBucket_EncryptionConfigurationPropertyValidator)(properties.encryptionConfiguration)),errors.collect(cdk.propertyValidator("metrics",CfnBucket_MetricsPropertyValidator)(properties.metrics)),errors.collect(cdk.propertyValidator("replicationTime",CfnBucket_ReplicationTimePropertyValidator)(properties.replicationTime)),errors.collect(cdk.propertyValidator("storageClass",cdk.validateString)(properties.storageClass)),errors.wrap('supplied properties not correct for "ReplicationDestinationProperty"')}function cfnBucketReplicationDestinationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationDestinationPropertyValidator(properties).assertSuccess(),{AccessControlTranslation:cfnBucketAccessControlTranslationPropertyToCloudFormation(properties.accessControlTranslation),Account:cdk.stringToCloudFormation(properties.account),Bucket:cdk.stringToCloudFormation(properties.bucket),EncryptionConfiguration:cfnBucketEncryptionConfigurationPropertyToCloudFormation(properties.encryptionConfiguration),Metrics:cfnBucketMetricsPropertyToCloudFormation(properties.metrics),ReplicationTime:cfnBucketReplicationTimePropertyToCloudFormation(properties.replicationTime),StorageClass:cdk.stringToCloudFormation(properties.storageClass)}):properties}function CfnBucketReplicationDestinationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accessControlTranslation","AccessControlTranslation",properties.AccessControlTranslation!=null?CfnBucketAccessControlTranslationPropertyFromCloudFormation(properties.AccessControlTranslation):void 0),ret.addPropertyResult("account","Account",properties.Account!=null?cfn_parse.FromCloudFormation.getString(properties.Account):void 0),ret.addPropertyResult("bucket","Bucket",cfn_parse.FromCloudFormation.getString(properties.Bucket)),ret.addPropertyResult("encryptionConfiguration","EncryptionConfiguration",properties.EncryptionConfiguration!=null?CfnBucketEncryptionConfigurationPropertyFromCloudFormation(properties.EncryptionConfiguration):void 0),ret.addPropertyResult("metrics","Metrics",properties.Metrics!=null?CfnBucketMetricsPropertyFromCloudFormation(properties.Metrics):void 0),ret.addPropertyResult("replicationTime","ReplicationTime",properties.ReplicationTime!=null?CfnBucketReplicationTimePropertyFromCloudFormation(properties.ReplicationTime):void 0),ret.addPropertyResult("storageClass","StorageClass",properties.StorageClass!=null?cfn_parse.FromCloudFormation.getString(properties.StorageClass):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("deleteMarkerReplication",CfnBucket_DeleteMarkerReplicationPropertyValidator)(properties.deleteMarkerReplication)),errors.collect(cdk.propertyValidator("destination",cdk.requiredValidator)(properties.destination)),errors.collect(cdk.propertyValidator("destination",CfnBucket_ReplicationDestinationPropertyValidator)(properties.destination)),errors.collect(cdk.propertyValidator("filter",CfnBucket_ReplicationRuleFilterPropertyValidator)(properties.filter)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("priority",cdk.validateNumber)(properties.priority)),errors.collect(cdk.propertyValidator("sourceSelectionCriteria",CfnBucket_SourceSelectionCriteriaPropertyValidator)(properties.sourceSelectionCriteria)),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "ReplicationRuleProperty"')}function cfnBucketReplicationRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationRulePropertyValidator(properties).assertSuccess(),{DeleteMarkerReplication:cfnBucketDeleteMarkerReplicationPropertyToCloudFormation(properties.deleteMarkerReplication),Destination:cfnBucketReplicationDestinationPropertyToCloudFormation(properties.destination),Filter:cfnBucketReplicationRuleFilterPropertyToCloudFormation(properties.filter),Id:cdk.stringToCloudFormation(properties.id),Prefix:cdk.stringToCloudFormation(properties.prefix),Priority:cdk.numberToCloudFormation(properties.priority),SourceSelectionCriteria:cfnBucketSourceSelectionCriteriaPropertyToCloudFormation(properties.sourceSelectionCriteria),Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketReplicationRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("deleteMarkerReplication","DeleteMarkerReplication",properties.DeleteMarkerReplication!=null?CfnBucketDeleteMarkerReplicationPropertyFromCloudFormation(properties.DeleteMarkerReplication):void 0),ret.addPropertyResult("destination","Destination",CfnBucketReplicationDestinationPropertyFromCloudFormation(properties.Destination)),ret.addPropertyResult("filter","Filter",properties.Filter!=null?CfnBucketReplicationRuleFilterPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse.FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse.FromCloudFormation.getNumber(properties.Priority):void 0),ret.addPropertyResult("sourceSelectionCriteria","SourceSelectionCriteria",properties.SourceSelectionCriteria!=null?CfnBucketSourceSelectionCriteriaPropertyFromCloudFormation(properties.SourceSelectionCriteria):void 0),ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationRuleAndOperatorPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("tagFilters",cdk.listValidator(CfnBucket_TagFilterPropertyValidator))(properties.tagFilters)),errors.wrap('supplied properties not correct for "ReplicationRuleAndOperatorProperty"')}function cfnBucketReplicationRuleAndOperatorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationRuleAndOperatorPropertyValidator(properties).assertSuccess(),{Prefix:cdk.stringToCloudFormation(properties.prefix),TagFilters:cdk.listMapper(cfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters)}):properties}function CfnBucketReplicationRuleAndOperatorPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationRuleFilterPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("and",CfnBucket_ReplicationRuleAndOperatorPropertyValidator)(properties.and)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("tagFilter",CfnBucket_TagFilterPropertyValidator)(properties.tagFilter)),errors.wrap('supplied properties not correct for "ReplicationRuleFilterProperty"')}function cfnBucketReplicationRuleFilterPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationRuleFilterPropertyValidator(properties).assertSuccess(),{And:cfnBucketReplicationRuleAndOperatorPropertyToCloudFormation(properties.and),Prefix:cdk.stringToCloudFormation(properties.prefix),TagFilter:cfnBucketTagFilterPropertyToCloudFormation(properties.tagFilter)}):properties}function CfnBucketReplicationRuleFilterPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("and","And",properties.And!=null?CfnBucketReplicationRuleAndOperatorPropertyFromCloudFormation(properties.And):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("tagFilter","TagFilter",properties.TagFilter!=null?CfnBucketTagFilterPropertyFromCloudFormation(properties.TagFilter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationTimePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("time",cdk.requiredValidator)(properties.time)),errors.collect(cdk.propertyValidator("time",CfnBucket_ReplicationTimeValuePropertyValidator)(properties.time)),errors.wrap('supplied properties not correct for "ReplicationTimeProperty"')}function cfnBucketReplicationTimePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationTimePropertyValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status),Time:cfnBucketReplicationTimeValuePropertyToCloudFormation(properties.time)}):properties}function CfnBucketReplicationTimePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addPropertyResult("time","Time",CfnBucketReplicationTimeValuePropertyFromCloudFormation(properties.Time)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ReplicationTimeValuePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("minutes",cdk.requiredValidator)(properties.minutes)),errors.collect(cdk.propertyValidator("minutes",cdk.validateNumber)(properties.minutes)),errors.wrap('supplied properties not correct for "ReplicationTimeValueProperty"')}function cfnBucketReplicationTimeValuePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ReplicationTimeValuePropertyValidator(properties).assertSuccess(),{Minutes:cdk.numberToCloudFormation(properties.minutes)}):properties}function CfnBucketReplicationTimeValuePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("minutes","Minutes",cfn_parse.FromCloudFormation.getNumber(properties.Minutes)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_RoutingRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("redirectRule",cdk.requiredValidator)(properties.redirectRule)),errors.collect(cdk.propertyValidator("redirectRule",CfnBucket_RedirectRulePropertyValidator)(properties.redirectRule)),errors.collect(cdk.propertyValidator("routingRuleCondition",CfnBucket_RoutingRuleConditionPropertyValidator)(properties.routingRuleCondition)),errors.wrap('supplied properties not correct for "RoutingRuleProperty"')}function cfnBucketRoutingRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_RoutingRulePropertyValidator(properties).assertSuccess(),{RedirectRule:cfnBucketRedirectRulePropertyToCloudFormation(properties.redirectRule),RoutingRuleCondition:cfnBucketRoutingRuleConditionPropertyToCloudFormation(properties.routingRuleCondition)}):properties}function CfnBucketRoutingRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("redirectRule","RedirectRule",CfnBucketRedirectRulePropertyFromCloudFormation(properties.RedirectRule)),ret.addPropertyResult("routingRuleCondition","RoutingRuleCondition",properties.RoutingRuleCondition!=null?CfnBucketRoutingRuleConditionPropertyFromCloudFormation(properties.RoutingRuleCondition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_RoutingRuleConditionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("httpErrorCodeReturnedEquals",cdk.validateString)(properties.httpErrorCodeReturnedEquals)),errors.collect(cdk.propertyValidator("keyPrefixEquals",cdk.validateString)(properties.keyPrefixEquals)),errors.wrap('supplied properties not correct for "RoutingRuleConditionProperty"')}function cfnBucketRoutingRuleConditionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_RoutingRuleConditionPropertyValidator(properties).assertSuccess(),{HttpErrorCodeReturnedEquals:cdk.stringToCloudFormation(properties.httpErrorCodeReturnedEquals),KeyPrefixEquals:cdk.stringToCloudFormation(properties.keyPrefixEquals)}):properties}function CfnBucketRoutingRuleConditionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("httpErrorCodeReturnedEquals","HttpErrorCodeReturnedEquals",properties.HttpErrorCodeReturnedEquals!=null?cfn_parse.FromCloudFormation.getString(properties.HttpErrorCodeReturnedEquals):void 0),ret.addPropertyResult("keyPrefixEquals","KeyPrefixEquals",properties.KeyPrefixEquals!=null?cfn_parse.FromCloudFormation.getString(properties.KeyPrefixEquals):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_RulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("abortIncompleteMultipartUpload",CfnBucket_AbortIncompleteMultipartUploadPropertyValidator)(properties.abortIncompleteMultipartUpload)),errors.collect(cdk.propertyValidator("expirationDate",cdk.validateDate)(properties.expirationDate)),errors.collect(cdk.propertyValidator("expirationInDays",cdk.validateNumber)(properties.expirationInDays)),errors.collect(cdk.propertyValidator("expiredObjectDeleteMarker",cdk.validateBoolean)(properties.expiredObjectDeleteMarker)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("noncurrentVersionExpiration",CfnBucket_NoncurrentVersionExpirationPropertyValidator)(properties.noncurrentVersionExpiration)),errors.collect(cdk.propertyValidator("noncurrentVersionExpirationInDays",cdk.validateNumber)(properties.noncurrentVersionExpirationInDays)),errors.collect(cdk.propertyValidator("noncurrentVersionTransition",CfnBucket_NoncurrentVersionTransitionPropertyValidator)(properties.noncurrentVersionTransition)),errors.collect(cdk.propertyValidator("noncurrentVersionTransitions",cdk.listValidator(CfnBucket_NoncurrentVersionTransitionPropertyValidator))(properties.noncurrentVersionTransitions)),errors.collect(cdk.propertyValidator("objectSizeGreaterThan",cdk.validateNumber)(properties.objectSizeGreaterThan)),errors.collect(cdk.propertyValidator("objectSizeLessThan",cdk.validateNumber)(properties.objectSizeLessThan)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("tagFilters",cdk.listValidator(CfnBucket_TagFilterPropertyValidator))(properties.tagFilters)),errors.collect(cdk.propertyValidator("transition",CfnBucket_TransitionPropertyValidator)(properties.transition)),errors.collect(cdk.propertyValidator("transitions",cdk.listValidator(CfnBucket_TransitionPropertyValidator))(properties.transitions)),errors.wrap('supplied properties not correct for "RuleProperty"')}function cfnBucketRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_RulePropertyValidator(properties).assertSuccess(),{AbortIncompleteMultipartUpload:cfnBucketAbortIncompleteMultipartUploadPropertyToCloudFormation(properties.abortIncompleteMultipartUpload),ExpirationDate:cdk.dateToCloudFormation(properties.expirationDate),ExpirationInDays:cdk.numberToCloudFormation(properties.expirationInDays),ExpiredObjectDeleteMarker:cdk.booleanToCloudFormation(properties.expiredObjectDeleteMarker),Id:cdk.stringToCloudFormation(properties.id),NoncurrentVersionExpiration:cfnBucketNoncurrentVersionExpirationPropertyToCloudFormation(properties.noncurrentVersionExpiration),NoncurrentVersionExpirationInDays:cdk.numberToCloudFormation(properties.noncurrentVersionExpirationInDays),NoncurrentVersionTransition:cfnBucketNoncurrentVersionTransitionPropertyToCloudFormation(properties.noncurrentVersionTransition),NoncurrentVersionTransitions:cdk.listMapper(cfnBucketNoncurrentVersionTransitionPropertyToCloudFormation)(properties.noncurrentVersionTransitions),ObjectSizeGreaterThan:cdk.numberToCloudFormation(properties.objectSizeGreaterThan),ObjectSizeLessThan:cdk.numberToCloudFormation(properties.objectSizeLessThan),Prefix:cdk.stringToCloudFormation(properties.prefix),Status:cdk.stringToCloudFormation(properties.status),TagFilters:cdk.listMapper(cfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters),Transition:cfnBucketTransitionPropertyToCloudFormation(properties.transition),Transitions:cdk.listMapper(cfnBucketTransitionPropertyToCloudFormation)(properties.transitions)}):properties}function CfnBucketRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("abortIncompleteMultipartUpload","AbortIncompleteMultipartUpload",properties.AbortIncompleteMultipartUpload!=null?CfnBucketAbortIncompleteMultipartUploadPropertyFromCloudFormation(properties.AbortIncompleteMultipartUpload):void 0),ret.addPropertyResult("expirationDate","ExpirationDate",properties.ExpirationDate!=null?cfn_parse.FromCloudFormation.getDate(properties.ExpirationDate):void 0),ret.addPropertyResult("expirationInDays","ExpirationInDays",properties.ExpirationInDays!=null?cfn_parse.FromCloudFormation.getNumber(properties.ExpirationInDays):void 0),ret.addPropertyResult("expiredObjectDeleteMarker","ExpiredObjectDeleteMarker",properties.ExpiredObjectDeleteMarker!=null?cfn_parse.FromCloudFormation.getBoolean(properties.ExpiredObjectDeleteMarker):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse.FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("noncurrentVersionExpiration","NoncurrentVersionExpiration",properties.NoncurrentVersionExpiration!=null?CfnBucketNoncurrentVersionExpirationPropertyFromCloudFormation(properties.NoncurrentVersionExpiration):void 0),ret.addPropertyResult("noncurrentVersionExpirationInDays","NoncurrentVersionExpirationInDays",properties.NoncurrentVersionExpirationInDays!=null?cfn_parse.FromCloudFormation.getNumber(properties.NoncurrentVersionExpirationInDays):void 0),ret.addPropertyResult("noncurrentVersionTransition","NoncurrentVersionTransition",properties.NoncurrentVersionTransition!=null?CfnBucketNoncurrentVersionTransitionPropertyFromCloudFormation(properties.NoncurrentVersionTransition):void 0),ret.addPropertyResult("noncurrentVersionTransitions","NoncurrentVersionTransitions",properties.NoncurrentVersionTransitions!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketNoncurrentVersionTransitionPropertyFromCloudFormation)(properties.NoncurrentVersionTransitions):void 0),ret.addPropertyResult("objectSizeGreaterThan","ObjectSizeGreaterThan",properties.ObjectSizeGreaterThan!=null?cfn_parse.FromCloudFormation.getNumber(properties.ObjectSizeGreaterThan):void 0),ret.addPropertyResult("objectSizeLessThan","ObjectSizeLessThan",properties.ObjectSizeLessThan!=null?cfn_parse.FromCloudFormation.getNumber(properties.ObjectSizeLessThan):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addPropertyResult("transition","Transition",properties.Transition!=null?CfnBucketTransitionPropertyFromCloudFormation(properties.Transition):void 0),ret.addPropertyResult("transitions","Transitions",properties.Transitions!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketTransitionPropertyFromCloudFormation)(properties.Transitions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_S3KeyFilterPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnBucket_FilterRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "S3KeyFilterProperty"')}function cfnBucketS3KeyFilterPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_S3KeyFilterPropertyValidator(properties).assertSuccess(),{Rules:cdk.listMapper(cfnBucketFilterRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnBucketS3KeyFilterPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnBucketFilterRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ServerSideEncryptionByDefaultPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("kmsMasterKeyId",cdk.validateString)(properties.kmsMasterKeyId)),errors.collect(cdk.propertyValidator("sseAlgorithm",cdk.requiredValidator)(properties.sseAlgorithm)),errors.collect(cdk.propertyValidator("sseAlgorithm",cdk.validateString)(properties.sseAlgorithm)),errors.wrap('supplied properties not correct for "ServerSideEncryptionByDefaultProperty"')}function cfnBucketServerSideEncryptionByDefaultPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ServerSideEncryptionByDefaultPropertyValidator(properties).assertSuccess(),{KMSMasterKeyID:cdk.stringToCloudFormation(properties.kmsMasterKeyId),SSEAlgorithm:cdk.stringToCloudFormation(properties.sseAlgorithm)}):properties}function CfnBucketServerSideEncryptionByDefaultPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("kmsMasterKeyId","KMSMasterKeyID",properties.KMSMasterKeyID!=null?cfn_parse.FromCloudFormation.getString(properties.KMSMasterKeyID):void 0),ret.addPropertyResult("sseAlgorithm","SSEAlgorithm",cfn_parse.FromCloudFormation.getString(properties.SSEAlgorithm)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_ServerSideEncryptionRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bucketKeyEnabled",cdk.validateBoolean)(properties.bucketKeyEnabled)),errors.collect(cdk.propertyValidator("serverSideEncryptionByDefault",CfnBucket_ServerSideEncryptionByDefaultPropertyValidator)(properties.serverSideEncryptionByDefault)),errors.wrap('supplied properties not correct for "ServerSideEncryptionRuleProperty"')}function cfnBucketServerSideEncryptionRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_ServerSideEncryptionRulePropertyValidator(properties).assertSuccess(),{BucketKeyEnabled:cdk.booleanToCloudFormation(properties.bucketKeyEnabled),ServerSideEncryptionByDefault:cfnBucketServerSideEncryptionByDefaultPropertyToCloudFormation(properties.serverSideEncryptionByDefault)}):properties}function CfnBucketServerSideEncryptionRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketKeyEnabled","BucketKeyEnabled",properties.BucketKeyEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BucketKeyEnabled):void 0),ret.addPropertyResult("serverSideEncryptionByDefault","ServerSideEncryptionByDefault",properties.ServerSideEncryptionByDefault!=null?CfnBucketServerSideEncryptionByDefaultPropertyFromCloudFormation(properties.ServerSideEncryptionByDefault):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_SourceSelectionCriteriaPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("replicaModifications",CfnBucket_ReplicaModificationsPropertyValidator)(properties.replicaModifications)),errors.collect(cdk.propertyValidator("sseKmsEncryptedObjects",CfnBucket_SseKmsEncryptedObjectsPropertyValidator)(properties.sseKmsEncryptedObjects)),errors.wrap('supplied properties not correct for "SourceSelectionCriteriaProperty"')}function cfnBucketSourceSelectionCriteriaPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_SourceSelectionCriteriaPropertyValidator(properties).assertSuccess(),{ReplicaModifications:cfnBucketReplicaModificationsPropertyToCloudFormation(properties.replicaModifications),SseKmsEncryptedObjects:cfnBucketSseKmsEncryptedObjectsPropertyToCloudFormation(properties.sseKmsEncryptedObjects)}):properties}function CfnBucketSourceSelectionCriteriaPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("replicaModifications","ReplicaModifications",properties.ReplicaModifications!=null?CfnBucketReplicaModificationsPropertyFromCloudFormation(properties.ReplicaModifications):void 0),ret.addPropertyResult("sseKmsEncryptedObjects","SseKmsEncryptedObjects",properties.SseKmsEncryptedObjects!=null?CfnBucketSseKmsEncryptedObjectsPropertyFromCloudFormation(properties.SseKmsEncryptedObjects):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_SseKmsEncryptedObjectsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "SseKmsEncryptedObjectsProperty"')}function cfnBucketSseKmsEncryptedObjectsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_SseKmsEncryptedObjectsPropertyValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketSseKmsEncryptedObjectsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_StorageClassAnalysisPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("dataExport",CfnBucket_DataExportPropertyValidator)(properties.dataExport)),errors.wrap('supplied properties not correct for "StorageClassAnalysisProperty"')}function cfnBucketStorageClassAnalysisPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_StorageClassAnalysisPropertyValidator(properties).assertSuccess(),{DataExport:cfnBucketDataExportPropertyToCloudFormation(properties.dataExport)}):properties}function CfnBucketStorageClassAnalysisPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("dataExport","DataExport",properties.DataExport!=null?CfnBucketDataExportPropertyFromCloudFormation(properties.DataExport):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_TagFilterPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("key",cdk.requiredValidator)(properties.key)),errors.collect(cdk.propertyValidator("key",cdk.validateString)(properties.key)),errors.collect(cdk.propertyValidator("value",cdk.requiredValidator)(properties.value)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "TagFilterProperty"')}function cfnBucketTagFilterPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_TagFilterPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnBucketTagFilterPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",cfn_parse.FromCloudFormation.getString(properties.Key)),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getString(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_TieringPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accessTier",cdk.requiredValidator)(properties.accessTier)),errors.collect(cdk.propertyValidator("accessTier",cdk.validateString)(properties.accessTier)),errors.collect(cdk.propertyValidator("days",cdk.requiredValidator)(properties.days)),errors.collect(cdk.propertyValidator("days",cdk.validateNumber)(properties.days)),errors.wrap('supplied properties not correct for "TieringProperty"')}function cfnBucketTieringPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_TieringPropertyValidator(properties).assertSuccess(),{AccessTier:cdk.stringToCloudFormation(properties.accessTier),Days:cdk.numberToCloudFormation(properties.days)}):properties}function CfnBucketTieringPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accessTier","AccessTier",cfn_parse.FromCloudFormation.getString(properties.AccessTier)),ret.addPropertyResult("days","Days",cfn_parse.FromCloudFormation.getNumber(properties.Days)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_TopicConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("event",cdk.requiredValidator)(properties.event)),errors.collect(cdk.propertyValidator("event",cdk.validateString)(properties.event)),errors.collect(cdk.propertyValidator("filter",CfnBucket_NotificationFilterPropertyValidator)(properties.filter)),errors.collect(cdk.propertyValidator("topic",cdk.requiredValidator)(properties.topic)),errors.collect(cdk.propertyValidator("topic",cdk.validateString)(properties.topic)),errors.wrap('supplied properties not correct for "TopicConfigurationProperty"')}function cfnBucketTopicConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_TopicConfigurationPropertyValidator(properties).assertSuccess(),{Event:cdk.stringToCloudFormation(properties.event),Filter:cfnBucketNotificationFilterPropertyToCloudFormation(properties.filter),Topic:cdk.stringToCloudFormation(properties.topic)}):properties}function CfnBucketTopicConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("event","Event",cfn_parse.FromCloudFormation.getString(properties.Event)),ret.addPropertyResult("filter","Filter",properties.Filter!=null?CfnBucketNotificationFilterPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("topic","Topic",cfn_parse.FromCloudFormation.getString(properties.Topic)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_TransitionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("storageClass",cdk.requiredValidator)(properties.storageClass)),errors.collect(cdk.propertyValidator("storageClass",cdk.validateString)(properties.storageClass)),errors.collect(cdk.propertyValidator("transitionDate",cdk.validateDate)(properties.transitionDate)),errors.collect(cdk.propertyValidator("transitionInDays",cdk.validateNumber)(properties.transitionInDays)),errors.wrap('supplied properties not correct for "TransitionProperty"')}function cfnBucketTransitionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_TransitionPropertyValidator(properties).assertSuccess(),{StorageClass:cdk.stringToCloudFormation(properties.storageClass),TransitionDate:cdk.dateToCloudFormation(properties.transitionDate),TransitionInDays:cdk.numberToCloudFormation(properties.transitionInDays)}):properties}function CfnBucketTransitionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("storageClass","StorageClass",cfn_parse.FromCloudFormation.getString(properties.StorageClass)),ret.addPropertyResult("transitionDate","TransitionDate",properties.TransitionDate!=null?cfn_parse.FromCloudFormation.getDate(properties.TransitionDate):void 0),ret.addPropertyResult("transitionInDays","TransitionInDays",properties.TransitionInDays!=null?cfn_parse.FromCloudFormation.getNumber(properties.TransitionInDays):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_VersioningConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "VersioningConfigurationProperty"')}function cfnBucketVersioningConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_VersioningConfigurationPropertyValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnBucketVersioningConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucket_WebsiteConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("errorDocument",cdk.validateString)(properties.errorDocument)),errors.collect(cdk.propertyValidator("indexDocument",cdk.validateString)(properties.indexDocument)),errors.collect(cdk.propertyValidator("redirectAllRequestsTo",CfnBucket_RedirectAllRequestsToPropertyValidator)(properties.redirectAllRequestsTo)),errors.collect(cdk.propertyValidator("routingRules",cdk.listValidator(CfnBucket_RoutingRulePropertyValidator))(properties.routingRules)),errors.wrap('supplied properties not correct for "WebsiteConfigurationProperty"')}function cfnBucketWebsiteConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucket_WebsiteConfigurationPropertyValidator(properties).assertSuccess(),{ErrorDocument:cdk.stringToCloudFormation(properties.errorDocument),IndexDocument:cdk.stringToCloudFormation(properties.indexDocument),RedirectAllRequestsTo:cfnBucketRedirectAllRequestsToPropertyToCloudFormation(properties.redirectAllRequestsTo),RoutingRules:cdk.listMapper(cfnBucketRoutingRulePropertyToCloudFormation)(properties.routingRules)}):properties}function CfnBucketWebsiteConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("errorDocument","ErrorDocument",properties.ErrorDocument!=null?cfn_parse.FromCloudFormation.getString(properties.ErrorDocument):void 0),ret.addPropertyResult("indexDocument","IndexDocument",properties.IndexDocument!=null?cfn_parse.FromCloudFormation.getString(properties.IndexDocument):void 0),ret.addPropertyResult("redirectAllRequestsTo","RedirectAllRequestsTo",properties.RedirectAllRequestsTo!=null?CfnBucketRedirectAllRequestsToPropertyFromCloudFormation(properties.RedirectAllRequestsTo):void 0),ret.addPropertyResult("routingRules","RoutingRules",properties.RoutingRules!=null?cfn_parse.FromCloudFormation.getArray(CfnBucketRoutingRulePropertyFromCloudFormation)(properties.RoutingRules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketPolicyPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bucket",cdk.requiredValidator)(properties.bucket)),errors.collect(cdk.propertyValidator("bucket",cdk.validateString)(properties.bucket)),errors.collect(cdk.propertyValidator("policyDocument",cdk.requiredValidator)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyDocument",cdk.validateObject)(properties.policyDocument)),errors.wrap('supplied properties not correct for "CfnBucketPolicyProps"')}function cfnBucketPolicyPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnBucketPolicyPropsValidator(properties).assertSuccess(),{Bucket:cdk.stringToCloudFormation(properties.bucket),PolicyDocument:cdk.objectToCloudFormation(properties.policyDocument)}):properties}function CfnBucketPolicyPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",cfn_parse.FromCloudFormation.getString(properties.Bucket)),ret.addPropertyResult("policyDocument","PolicyDocument",cfn_parse.FromCloudFormation.getAny(properties.PolicyDocument)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBucketPolicy extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnBucketPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnBucketPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBucketPolicy),error}cdk.requireProperty(props,"bucket",this),cdk.requireProperty(props,"policyDocument",this),this.bucket=props.bucket,this.policyDocument=props.policyDocument}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBucketPolicyPropsFromCloudFormation(resourceProperties),ret=new CfnBucketPolicy(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnBucketPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{bucket:this.bucket,policyDocument:this.policyDocument}}renderProperties(props){return cfnBucketPolicyPropsToCloudFormation(props)}}exports.CfnBucketPolicy=CfnBucketPolicy,_c=JSII_RTTI_SYMBOL_1,CfnBucketPolicy[_c]={fqn:"aws-cdk-lib.aws_s3.CfnBucketPolicy",version:"2.51.1"},CfnBucketPolicy.CFN_RESOURCE_TYPE_NAME="AWS::S3::BucketPolicy";function CfnMultiRegionAccessPointPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("publicAccessBlockConfiguration",CfnMultiRegionAccessPoint_PublicAccessBlockConfigurationPropertyValidator)(properties.publicAccessBlockConfiguration)),errors.collect(cdk.propertyValidator("regions",cdk.requiredValidator)(properties.regions)),errors.collect(cdk.propertyValidator("regions",cdk.listValidator(CfnMultiRegionAccessPoint_RegionPropertyValidator))(properties.regions)),errors.wrap('supplied properties not correct for "CfnMultiRegionAccessPointProps"')}function cfnMultiRegionAccessPointPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMultiRegionAccessPointPropsValidator(properties).assertSuccess(),{Regions:cdk.listMapper(cfnMultiRegionAccessPointRegionPropertyToCloudFormation)(properties.regions),Name:cdk.stringToCloudFormation(properties.name),PublicAccessBlockConfiguration:cfnMultiRegionAccessPointPublicAccessBlockConfigurationPropertyToCloudFormation(properties.publicAccessBlockConfiguration)}):properties}function CfnMultiRegionAccessPointPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("regions","Regions",cfn_parse.FromCloudFormation.getArray(CfnMultiRegionAccessPointRegionPropertyFromCloudFormation)(properties.Regions)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("publicAccessBlockConfiguration","PublicAccessBlockConfiguration",properties.PublicAccessBlockConfiguration!=null?CfnMultiRegionAccessPointPublicAccessBlockConfigurationPropertyFromCloudFormation(properties.PublicAccessBlockConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMultiRegionAccessPoint extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnMultiRegionAccessPoint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnMultiRegionAccessPointProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMultiRegionAccessPoint),error}cdk.requireProperty(props,"regions",this),this.attrAlias=cdk.Token.asString(this.getAtt("Alias")),this.attrCreatedAt=cdk.Token.asString(this.getAtt("CreatedAt")),this.regions=props.regions,this.name=props.name,this.publicAccessBlockConfiguration=props.publicAccessBlockConfiguration}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMultiRegionAccessPointPropsFromCloudFormation(resourceProperties),ret=new CfnMultiRegionAccessPoint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnMultiRegionAccessPoint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{regions:this.regions,name:this.name,publicAccessBlockConfiguration:this.publicAccessBlockConfiguration}}renderProperties(props){return cfnMultiRegionAccessPointPropsToCloudFormation(props)}}exports.CfnMultiRegionAccessPoint=CfnMultiRegionAccessPoint,_d=JSII_RTTI_SYMBOL_1,CfnMultiRegionAccessPoint[_d]={fqn:"aws-cdk-lib.aws_s3.CfnMultiRegionAccessPoint",version:"2.51.1"},CfnMultiRegionAccessPoint.CFN_RESOURCE_TYPE_NAME="AWS::S3::MultiRegionAccessPoint";function CfnMultiRegionAccessPoint_PublicAccessBlockConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("blockPublicAcls",cdk.validateBoolean)(properties.blockPublicAcls)),errors.collect(cdk.propertyValidator("blockPublicPolicy",cdk.validateBoolean)(properties.blockPublicPolicy)),errors.collect(cdk.propertyValidator("ignorePublicAcls",cdk.validateBoolean)(properties.ignorePublicAcls)),errors.collect(cdk.propertyValidator("restrictPublicBuckets",cdk.validateBoolean)(properties.restrictPublicBuckets)),errors.wrap('supplied properties not correct for "PublicAccessBlockConfigurationProperty"')}function cfnMultiRegionAccessPointPublicAccessBlockConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMultiRegionAccessPoint_PublicAccessBlockConfigurationPropertyValidator(properties).assertSuccess(),{BlockPublicAcls:cdk.booleanToCloudFormation(properties.blockPublicAcls),BlockPublicPolicy:cdk.booleanToCloudFormation(properties.blockPublicPolicy),IgnorePublicAcls:cdk.booleanToCloudFormation(properties.ignorePublicAcls),RestrictPublicBuckets:cdk.booleanToCloudFormation(properties.restrictPublicBuckets)}):properties}function CfnMultiRegionAccessPointPublicAccessBlockConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("blockPublicAcls","BlockPublicAcls",properties.BlockPublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicAcls):void 0),ret.addPropertyResult("blockPublicPolicy","BlockPublicPolicy",properties.BlockPublicPolicy!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BlockPublicPolicy):void 0),ret.addPropertyResult("ignorePublicAcls","IgnorePublicAcls",properties.IgnorePublicAcls!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IgnorePublicAcls):void 0),ret.addPropertyResult("restrictPublicBuckets","RestrictPublicBuckets",properties.RestrictPublicBuckets!=null?cfn_parse.FromCloudFormation.getBoolean(properties.RestrictPublicBuckets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMultiRegionAccessPoint_RegionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bucket",cdk.requiredValidator)(properties.bucket)),errors.collect(cdk.propertyValidator("bucket",cdk.validateString)(properties.bucket)),errors.wrap('supplied properties not correct for "RegionProperty"')}function cfnMultiRegionAccessPointRegionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMultiRegionAccessPoint_RegionPropertyValidator(properties).assertSuccess(),{Bucket:cdk.stringToCloudFormation(properties.bucket)}):properties}function CfnMultiRegionAccessPointRegionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",cfn_parse.FromCloudFormation.getString(properties.Bucket)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMultiRegionAccessPointPolicyPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("mrapName",cdk.requiredValidator)(properties.mrapName)),errors.collect(cdk.propertyValidator("mrapName",cdk.validateString)(properties.mrapName)),errors.collect(cdk.propertyValidator("policy",cdk.requiredValidator)(properties.policy)),errors.collect(cdk.propertyValidator("policy",cdk.validateObject)(properties.policy)),errors.wrap('supplied properties not correct for "CfnMultiRegionAccessPointPolicyProps"')}function cfnMultiRegionAccessPointPolicyPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMultiRegionAccessPointPolicyPropsValidator(properties).assertSuccess(),{MrapName:cdk.stringToCloudFormation(properties.mrapName),Policy:cdk.objectToCloudFormation(properties.policy)}):properties}function CfnMultiRegionAccessPointPolicyPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("mrapName","MrapName",cfn_parse.FromCloudFormation.getString(properties.MrapName)),ret.addPropertyResult("policy","Policy",cfn_parse.FromCloudFormation.getAny(properties.Policy)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMultiRegionAccessPointPolicy extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnMultiRegionAccessPointPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnMultiRegionAccessPointPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMultiRegionAccessPointPolicy),error}cdk.requireProperty(props,"mrapName",this),cdk.requireProperty(props,"policy",this),this.mrapName=props.mrapName,this.policy=props.policy}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMultiRegionAccessPointPolicyPropsFromCloudFormation(resourceProperties),ret=new CfnMultiRegionAccessPointPolicy(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnMultiRegionAccessPointPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{mrapName:this.mrapName,policy:this.policy}}renderProperties(props){return cfnMultiRegionAccessPointPolicyPropsToCloudFormation(props)}}exports.CfnMultiRegionAccessPointPolicy=CfnMultiRegionAccessPointPolicy,_e=JSII_RTTI_SYMBOL_1,CfnMultiRegionAccessPointPolicy[_e]={fqn:"aws-cdk-lib.aws_s3.CfnMultiRegionAccessPointPolicy",version:"2.51.1"},CfnMultiRegionAccessPointPolicy.CFN_RESOURCE_TYPE_NAME="AWS::S3::MultiRegionAccessPointPolicy";function CfnStorageLensPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("storageLensConfiguration",cdk.requiredValidator)(properties.storageLensConfiguration)),errors.collect(cdk.propertyValidator("storageLensConfiguration",CfnStorageLens_StorageLensConfigurationPropertyValidator)(properties.storageLensConfiguration)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnStorageLensProps"')}function cfnStorageLensPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLensPropsValidator(properties).assertSuccess(),{StorageLensConfiguration:cfnStorageLensStorageLensConfigurationPropertyToCloudFormation(properties.storageLensConfiguration),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnStorageLensPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("storageLensConfiguration","StorageLensConfiguration",CfnStorageLensStorageLensConfigurationPropertyFromCloudFormation(properties.StorageLensConfiguration)),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStorageLens extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnStorageLens.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_s3_CfnStorageLensProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStorageLens),error}cdk.requireProperty(props,"storageLensConfiguration",this),this.attrStorageLensConfigurationStorageLensArn=cdk.Token.asString(this.getAtt("StorageLensConfiguration.StorageLensArn")),this.storageLensConfiguration=props.storageLensConfiguration,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::S3::StorageLens",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStorageLensPropsFromCloudFormation(resourceProperties),ret=new CfnStorageLens(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnStorageLens.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{storageLensConfiguration:this.storageLensConfiguration,tags:this.tags.renderTags()}}renderProperties(props){return cfnStorageLensPropsToCloudFormation(props)}}exports.CfnStorageLens=CfnStorageLens,_f=JSII_RTTI_SYMBOL_1,CfnStorageLens[_f]={fqn:"aws-cdk-lib.aws_s3.CfnStorageLens",version:"2.51.1"},CfnStorageLens.CFN_RESOURCE_TYPE_NAME="AWS::S3::StorageLens";function CfnStorageLens_AccountLevelPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("activityMetrics",CfnStorageLens_ActivityMetricsPropertyValidator)(properties.activityMetrics)),errors.collect(cdk.propertyValidator("bucketLevel",cdk.requiredValidator)(properties.bucketLevel)),errors.collect(cdk.propertyValidator("bucketLevel",CfnStorageLens_BucketLevelPropertyValidator)(properties.bucketLevel)),errors.wrap('supplied properties not correct for "AccountLevelProperty"')}function cfnStorageLensAccountLevelPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_AccountLevelPropertyValidator(properties).assertSuccess(),{ActivityMetrics:cfnStorageLensActivityMetricsPropertyToCloudFormation(properties.activityMetrics),BucketLevel:cfnStorageLensBucketLevelPropertyToCloudFormation(properties.bucketLevel)}):properties}function CfnStorageLensAccountLevelPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("activityMetrics","ActivityMetrics",properties.ActivityMetrics!=null?CfnStorageLensActivityMetricsPropertyFromCloudFormation(properties.ActivityMetrics):void 0),ret.addPropertyResult("bucketLevel","BucketLevel",CfnStorageLensBucketLevelPropertyFromCloudFormation(properties.BucketLevel)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_ActivityMetricsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("isEnabled",cdk.validateBoolean)(properties.isEnabled)),errors.wrap('supplied properties not correct for "ActivityMetricsProperty"')}function cfnStorageLensActivityMetricsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_ActivityMetricsPropertyValidator(properties).assertSuccess(),{IsEnabled:cdk.booleanToCloudFormation(properties.isEnabled)}):properties}function CfnStorageLensActivityMetricsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("isEnabled","IsEnabled",properties.IsEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IsEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_AwsOrgPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("arn",cdk.requiredValidator)(properties.arn)),errors.collect(cdk.propertyValidator("arn",cdk.validateString)(properties.arn)),errors.wrap('supplied properties not correct for "AwsOrgProperty"')}function cfnStorageLensAwsOrgPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_AwsOrgPropertyValidator(properties).assertSuccess(),{Arn:cdk.stringToCloudFormation(properties.arn)}):properties}function CfnStorageLensAwsOrgPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",cfn_parse.FromCloudFormation.getString(properties.Arn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_BucketLevelPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("activityMetrics",CfnStorageLens_ActivityMetricsPropertyValidator)(properties.activityMetrics)),errors.collect(cdk.propertyValidator("prefixLevel",CfnStorageLens_PrefixLevelPropertyValidator)(properties.prefixLevel)),errors.wrap('supplied properties not correct for "BucketLevelProperty"')}function cfnStorageLensBucketLevelPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_BucketLevelPropertyValidator(properties).assertSuccess(),{ActivityMetrics:cfnStorageLensActivityMetricsPropertyToCloudFormation(properties.activityMetrics),PrefixLevel:cfnStorageLensPrefixLevelPropertyToCloudFormation(properties.prefixLevel)}):properties}function CfnStorageLensBucketLevelPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("activityMetrics","ActivityMetrics",properties.ActivityMetrics!=null?CfnStorageLensActivityMetricsPropertyFromCloudFormation(properties.ActivityMetrics):void 0),ret.addPropertyResult("prefixLevel","PrefixLevel",properties.PrefixLevel!=null?CfnStorageLensPrefixLevelPropertyFromCloudFormation(properties.PrefixLevel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_BucketsAndRegionsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("buckets",cdk.listValidator(cdk.validateString))(properties.buckets)),errors.collect(cdk.propertyValidator("regions",cdk.listValidator(cdk.validateString))(properties.regions)),errors.wrap('supplied properties not correct for "BucketsAndRegionsProperty"')}function cfnStorageLensBucketsAndRegionsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_BucketsAndRegionsPropertyValidator(properties).assertSuccess(),{Buckets:cdk.listMapper(cdk.stringToCloudFormation)(properties.buckets),Regions:cdk.listMapper(cdk.stringToCloudFormation)(properties.regions)}):properties}function CfnStorageLensBucketsAndRegionsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("buckets","Buckets",properties.Buckets!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Buckets):void 0),ret.addPropertyResult("regions","Regions",properties.Regions!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Regions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_CloudWatchMetricsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("isEnabled",cdk.requiredValidator)(properties.isEnabled)),errors.collect(cdk.propertyValidator("isEnabled",cdk.validateBoolean)(properties.isEnabled)),errors.wrap('supplied properties not correct for "CloudWatchMetricsProperty"')}function cfnStorageLensCloudWatchMetricsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_CloudWatchMetricsPropertyValidator(properties).assertSuccess(),{IsEnabled:cdk.booleanToCloudFormation(properties.isEnabled)}):properties}function CfnStorageLensCloudWatchMetricsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("isEnabled","IsEnabled",cfn_parse.FromCloudFormation.getBoolean(properties.IsEnabled)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_DataExportPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("cloudWatchMetrics",CfnStorageLens_CloudWatchMetricsPropertyValidator)(properties.cloudWatchMetrics)),errors.collect(cdk.propertyValidator("s3BucketDestination",CfnStorageLens_S3BucketDestinationPropertyValidator)(properties.s3BucketDestination)),errors.wrap('supplied properties not correct for "DataExportProperty"')}function cfnStorageLensDataExportPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_DataExportPropertyValidator(properties).assertSuccess(),{CloudWatchMetrics:cfnStorageLensCloudWatchMetricsPropertyToCloudFormation(properties.cloudWatchMetrics),S3BucketDestination:cfnStorageLensS3BucketDestinationPropertyToCloudFormation(properties.s3BucketDestination)}):properties}function CfnStorageLensDataExportPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudWatchMetrics","CloudWatchMetrics",properties.CloudWatchMetrics!=null?CfnStorageLensCloudWatchMetricsPropertyFromCloudFormation(properties.CloudWatchMetrics):void 0),ret.addPropertyResult("s3BucketDestination","S3BucketDestination",properties.S3BucketDestination!=null?CfnStorageLensS3BucketDestinationPropertyFromCloudFormation(properties.S3BucketDestination):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_EncryptionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("ssekms",CfnStorageLens_SSEKMSPropertyValidator)(properties.ssekms)),errors.collect(cdk.propertyValidator("sses3",cdk.validateObject)(properties.sses3)),errors.wrap('supplied properties not correct for "EncryptionProperty"')}function cfnStorageLensEncryptionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_EncryptionPropertyValidator(properties).assertSuccess(),{SSEKMS:cfnStorageLensSSEKMSPropertyToCloudFormation(properties.ssekms),SSES3:cdk.objectToCloudFormation(properties.sses3)}):properties}function CfnStorageLensEncryptionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("ssekms","SSEKMS",properties.SSEKMS!=null?CfnStorageLensSSEKMSPropertyFromCloudFormation(properties.SSEKMS):void 0),ret.addPropertyResult("sses3","SSES3",properties.SSES3!=null?cfn_parse.FromCloudFormation.getAny(properties.SSES3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_PrefixLevelPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("storageMetrics",cdk.requiredValidator)(properties.storageMetrics)),errors.collect(cdk.propertyValidator("storageMetrics",CfnStorageLens_PrefixLevelStorageMetricsPropertyValidator)(properties.storageMetrics)),errors.wrap('supplied properties not correct for "PrefixLevelProperty"')}function cfnStorageLensPrefixLevelPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_PrefixLevelPropertyValidator(properties).assertSuccess(),{StorageMetrics:cfnStorageLensPrefixLevelStorageMetricsPropertyToCloudFormation(properties.storageMetrics)}):properties}function CfnStorageLensPrefixLevelPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("storageMetrics","StorageMetrics",CfnStorageLensPrefixLevelStorageMetricsPropertyFromCloudFormation(properties.StorageMetrics)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_PrefixLevelStorageMetricsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("isEnabled",cdk.validateBoolean)(properties.isEnabled)),errors.collect(cdk.propertyValidator("selectionCriteria",CfnStorageLens_SelectionCriteriaPropertyValidator)(properties.selectionCriteria)),errors.wrap('supplied properties not correct for "PrefixLevelStorageMetricsProperty"')}function cfnStorageLensPrefixLevelStorageMetricsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_PrefixLevelStorageMetricsPropertyValidator(properties).assertSuccess(),{IsEnabled:cdk.booleanToCloudFormation(properties.isEnabled),SelectionCriteria:cfnStorageLensSelectionCriteriaPropertyToCloudFormation(properties.selectionCriteria)}):properties}function CfnStorageLensPrefixLevelStorageMetricsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("isEnabled","IsEnabled",properties.IsEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.IsEnabled):void 0),ret.addPropertyResult("selectionCriteria","SelectionCriteria",properties.SelectionCriteria!=null?CfnStorageLensSelectionCriteriaPropertyFromCloudFormation(properties.SelectionCriteria):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_S3BucketDestinationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accountId",cdk.requiredValidator)(properties.accountId)),errors.collect(cdk.propertyValidator("accountId",cdk.validateString)(properties.accountId)),errors.collect(cdk.propertyValidator("arn",cdk.requiredValidator)(properties.arn)),errors.collect(cdk.propertyValidator("arn",cdk.validateString)(properties.arn)),errors.collect(cdk.propertyValidator("encryption",CfnStorageLens_EncryptionPropertyValidator)(properties.encryption)),errors.collect(cdk.propertyValidator("format",cdk.requiredValidator)(properties.format)),errors.collect(cdk.propertyValidator("format",cdk.validateString)(properties.format)),errors.collect(cdk.propertyValidator("outputSchemaVersion",cdk.requiredValidator)(properties.outputSchemaVersion)),errors.collect(cdk.propertyValidator("outputSchemaVersion",cdk.validateString)(properties.outputSchemaVersion)),errors.collect(cdk.propertyValidator("prefix",cdk.validateString)(properties.prefix)),errors.wrap('supplied properties not correct for "S3BucketDestinationProperty"')}function cfnStorageLensS3BucketDestinationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_S3BucketDestinationPropertyValidator(properties).assertSuccess(),{AccountId:cdk.stringToCloudFormation(properties.accountId),Arn:cdk.stringToCloudFormation(properties.arn),Encryption:cfnStorageLensEncryptionPropertyToCloudFormation(properties.encryption),Format:cdk.stringToCloudFormation(properties.format),OutputSchemaVersion:cdk.stringToCloudFormation(properties.outputSchemaVersion),Prefix:cdk.stringToCloudFormation(properties.prefix)}):properties}function CfnStorageLensS3BucketDestinationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accountId","AccountId",cfn_parse.FromCloudFormation.getString(properties.AccountId)),ret.addPropertyResult("arn","Arn",cfn_parse.FromCloudFormation.getString(properties.Arn)),ret.addPropertyResult("encryption","Encryption",properties.Encryption!=null?CfnStorageLensEncryptionPropertyFromCloudFormation(properties.Encryption):void 0),ret.addPropertyResult("format","Format",cfn_parse.FromCloudFormation.getString(properties.Format)),ret.addPropertyResult("outputSchemaVersion","OutputSchemaVersion",cfn_parse.FromCloudFormation.getString(properties.OutputSchemaVersion)),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse.FromCloudFormation.getString(properties.Prefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_SSEKMSPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("keyId",cdk.requiredValidator)(properties.keyId)),errors.collect(cdk.propertyValidator("keyId",cdk.validateString)(properties.keyId)),errors.wrap('supplied properties not correct for "SSEKMSProperty"')}function cfnStorageLensSSEKMSPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_SSEKMSPropertyValidator(properties).assertSuccess(),{KeyId:cdk.stringToCloudFormation(properties.keyId)}):properties}function CfnStorageLensSSEKMSPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("keyId","KeyId",cfn_parse.FromCloudFormation.getString(properties.KeyId)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_SelectionCriteriaPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("delimiter",cdk.validateString)(properties.delimiter)),errors.collect(cdk.propertyValidator("maxDepth",cdk.validateNumber)(properties.maxDepth)),errors.collect(cdk.propertyValidator("minStorageBytesPercentage",cdk.validateNumber)(properties.minStorageBytesPercentage)),errors.wrap('supplied properties not correct for "SelectionCriteriaProperty"')}function cfnStorageLensSelectionCriteriaPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_SelectionCriteriaPropertyValidator(properties).assertSuccess(),{Delimiter:cdk.stringToCloudFormation(properties.delimiter),MaxDepth:cdk.numberToCloudFormation(properties.maxDepth),MinStorageBytesPercentage:cdk.numberToCloudFormation(properties.minStorageBytesPercentage)}):properties}function CfnStorageLensSelectionCriteriaPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("delimiter","Delimiter",properties.Delimiter!=null?cfn_parse.FromCloudFormation.getString(properties.Delimiter):void 0),ret.addPropertyResult("maxDepth","MaxDepth",properties.MaxDepth!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaxDepth):void 0),ret.addPropertyResult("minStorageBytesPercentage","MinStorageBytesPercentage",properties.MinStorageBytesPercentage!=null?cfn_parse.FromCloudFormation.getNumber(properties.MinStorageBytesPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageLens_StorageLensConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accountLevel",cdk.requiredValidator)(properties.accountLevel)),errors.collect(cdk.propertyValidator("accountLevel",CfnStorageLens_AccountLevelPropertyValidator)(properties.accountLevel)),errors.collect(cdk.propertyValidator("awsOrg",CfnStorageLens_AwsOrgPropertyValidator)(properties.awsOrg)),errors.collect(cdk.propertyValidator("dataExport",CfnStorageLens_DataExportPropertyValidator)(properties.dataExport)),errors.collect(cdk.propertyValidator("exclude",CfnStorageLens_BucketsAndRegionsPropertyValidator)(properties.exclude)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("include",CfnStorageLens_BucketsAndRegionsPropertyValidator)(properties.include)),errors.collect(cdk.propertyValidator("isEnabled",cdk.requiredValidator)(properties.isEnabled)),errors.collect(cdk.propertyValidator("isEnabled",cdk.validateBoolean)(properties.isEnabled)),errors.collect(cdk.propertyValidator("storageLensArn",cdk.validateString)(properties.storageLensArn)),errors.wrap('supplied properties not correct for "StorageLensConfigurationProperty"')}function cfnStorageLensStorageLensConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStorageLens_StorageLensConfigurationPropertyValidator(properties).assertSuccess(),{AccountLevel:cfnStorageLensAccountLevelPropertyToCloudFormation(properties.accountLevel),AwsOrg:cfnStorageLensAwsOrgPropertyToCloudFormation(properties.awsOrg),DataExport:cfnStorageLensDataExportPropertyToCloudFormation(properties.dataExport),Exclude:cfnStorageLensBucketsAndRegionsPropertyToCloudFormation(properties.exclude),Id:cdk.stringToCloudFormation(properties.id),Include:cfnStorageLensBucketsAndRegionsPropertyToCloudFormation(properties.include),IsEnabled:cdk.booleanToCloudFormation(properties.isEnabled),StorageLensArn:cdk.stringToCloudFormation(properties.storageLensArn)}):properties}function CfnStorageLensStorageLensConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("accountLevel","AccountLevel",CfnStorageLensAccountLevelPropertyFromCloudFormation(properties.AccountLevel)),ret.addPropertyResult("awsOrg","AwsOrg",properties.AwsOrg!=null?CfnStorageLensAwsOrgPropertyFromCloudFormation(properties.AwsOrg):void 0),ret.addPropertyResult("dataExport","DataExport",properties.DataExport!=null?CfnStorageLensDataExportPropertyFromCloudFormation(properties.DataExport):void 0),ret.addPropertyResult("exclude","Exclude",properties.Exclude!=null?CfnStorageLensBucketsAndRegionsPropertyFromCloudFormation(properties.Exclude):void 0),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("include","Include",properties.Include!=null?CfnStorageLensBucketsAndRegionsPropertyFromCloudFormation(properties.Include):void 0),ret.addPropertyResult("isEnabled","IsEnabled",cfn_parse.FromCloudFormation.getBoolean(properties.IsEnabled)),ret.addPropertyResult("storageLensArn","StorageLensArn",properties.StorageLensArn!=null?cfn_parse.FromCloudFormation.getString(properties.StorageLensArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}
2
2
  //# sourceMappingURL=s3.generated.js.map