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,_g,_h,_j,_k,_l,_m,_o,_p,_q,_r,_s,_t,_u,_v,_w,_x;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTopicRuleDestination=exports.CfnTopicRule=exports.CfnThingPrincipalAttachment=exports.CfnThing=exports.CfnSecurityProfile=exports.CfnScheduledAudit=exports.CfnRoleAlias=exports.CfnResourceSpecificLogging=exports.CfnProvisioningTemplate=exports.CfnPolicyPrincipalAttachment=exports.CfnPolicy=exports.CfnMitigationAction=exports.CfnLogging=exports.CfnJobTemplate=exports.CfnFleetMetric=exports.CfnDomainConfiguration=exports.CfnDimension=exports.CfnCustomMetric=exports.CfnCertificate=exports.CfnCACertificate=exports.CfnAuthorizer=exports.CfnAccountAuditConfiguration=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 CfnAccountAuditConfigurationPropsValidator(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("auditCheckConfigurations",cdk.requiredValidator)(properties.auditCheckConfigurations)),errors.collect(cdk.propertyValidator("auditCheckConfigurations",CfnAccountAuditConfiguration_AuditCheckConfigurationsPropertyValidator)(properties.auditCheckConfigurations)),errors.collect(cdk.propertyValidator("auditNotificationTargetConfigurations",CfnAccountAuditConfiguration_AuditNotificationTargetConfigurationsPropertyValidator)(properties.auditNotificationTargetConfigurations)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "CfnAccountAuditConfigurationProps"')}function cfnAccountAuditConfigurationPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccountAuditConfigurationPropsValidator(properties).assertSuccess(),{AccountId:cdk.stringToCloudFormation(properties.accountId),AuditCheckConfigurations:cfnAccountAuditConfigurationAuditCheckConfigurationsPropertyToCloudFormation(properties.auditCheckConfigurations),RoleArn:cdk.stringToCloudFormation(properties.roleArn),AuditNotificationTargetConfigurations:cfnAccountAuditConfigurationAuditNotificationTargetConfigurationsPropertyToCloudFormation(properties.auditNotificationTargetConfigurations)}):properties}function CfnAccountAuditConfigurationPropsFromCloudFormation(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("auditCheckConfigurations","AuditCheckConfigurations",CfnAccountAuditConfigurationAuditCheckConfigurationsPropertyFromCloudFormation(properties.AuditCheckConfigurations)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("auditNotificationTargetConfigurations","AuditNotificationTargetConfigurations",properties.AuditNotificationTargetConfigurations!=null?CfnAccountAuditConfigurationAuditNotificationTargetConfigurationsPropertyFromCloudFormation(properties.AuditNotificationTargetConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAccountAuditConfiguration extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAccountAuditConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnAccountAuditConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccountAuditConfiguration),error}cdk.requireProperty(props,"accountId",this),cdk.requireProperty(props,"auditCheckConfigurations",this),cdk.requireProperty(props,"roleArn",this),this.accountId=props.accountId,this.auditCheckConfigurations=props.auditCheckConfigurations,this.roleArn=props.roleArn,this.auditNotificationTargetConfigurations=props.auditNotificationTargetConfigurations}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccountAuditConfigurationPropsFromCloudFormation(resourceProperties),ret=new CfnAccountAuditConfiguration(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",CfnAccountAuditConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{accountId:this.accountId,auditCheckConfigurations:this.auditCheckConfigurations,roleArn:this.roleArn,auditNotificationTargetConfigurations:this.auditNotificationTargetConfigurations}}renderProperties(props){return cfnAccountAuditConfigurationPropsToCloudFormation(props)}}exports.CfnAccountAuditConfiguration=CfnAccountAuditConfiguration,_a=JSII_RTTI_SYMBOL_1,CfnAccountAuditConfiguration[_a]={fqn:"aws-cdk-lib.aws_iot.CfnAccountAuditConfiguration",version:"2.51.0"},CfnAccountAuditConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::IoT::AccountAuditConfiguration";function CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator(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("enabled",cdk.validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "AuditCheckConfigurationProperty"')}function cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator(properties).assertSuccess(),{Enabled:cdk.booleanToCloudFormation(properties.enabled)}):properties}function CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(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("enabled","Enabled",properties.Enabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccountAuditConfiguration_AuditCheckConfigurationsPropertyValidator(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("authenticatedCognitoRoleOverlyPermissiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.authenticatedCognitoRoleOverlyPermissiveCheck)),errors.collect(cdk.propertyValidator("caCertificateExpiringCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.caCertificateExpiringCheck)),errors.collect(cdk.propertyValidator("caCertificateKeyQualityCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.caCertificateKeyQualityCheck)),errors.collect(cdk.propertyValidator("conflictingClientIdsCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.conflictingClientIdsCheck)),errors.collect(cdk.propertyValidator("deviceCertificateExpiringCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.deviceCertificateExpiringCheck)),errors.collect(cdk.propertyValidator("deviceCertificateKeyQualityCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.deviceCertificateKeyQualityCheck)),errors.collect(cdk.propertyValidator("deviceCertificateSharedCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.deviceCertificateSharedCheck)),errors.collect(cdk.propertyValidator("iotPolicyOverlyPermissiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.iotPolicyOverlyPermissiveCheck)),errors.collect(cdk.propertyValidator("iotRoleAliasAllowsAccessToUnusedServicesCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.iotRoleAliasAllowsAccessToUnusedServicesCheck)),errors.collect(cdk.propertyValidator("iotRoleAliasOverlyPermissiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.iotRoleAliasOverlyPermissiveCheck)),errors.collect(cdk.propertyValidator("loggingDisabledCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.loggingDisabledCheck)),errors.collect(cdk.propertyValidator("revokedCaCertificateStillActiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.revokedCaCertificateStillActiveCheck)),errors.collect(cdk.propertyValidator("revokedDeviceCertificateStillActiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.revokedDeviceCertificateStillActiveCheck)),errors.collect(cdk.propertyValidator("unauthenticatedCognitoRoleOverlyPermissiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.unauthenticatedCognitoRoleOverlyPermissiveCheck)),errors.wrap('supplied properties not correct for "AuditCheckConfigurationsProperty"')}function cfnAccountAuditConfigurationAuditCheckConfigurationsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccountAuditConfiguration_AuditCheckConfigurationsPropertyValidator(properties).assertSuccess(),{AuthenticatedCognitoRoleOverlyPermissiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.authenticatedCognitoRoleOverlyPermissiveCheck),CaCertificateExpiringCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.caCertificateExpiringCheck),CaCertificateKeyQualityCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.caCertificateKeyQualityCheck),ConflictingClientIdsCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.conflictingClientIdsCheck),DeviceCertificateExpiringCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.deviceCertificateExpiringCheck),DeviceCertificateKeyQualityCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.deviceCertificateKeyQualityCheck),DeviceCertificateSharedCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.deviceCertificateSharedCheck),IotPolicyOverlyPermissiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.iotPolicyOverlyPermissiveCheck),IotRoleAliasAllowsAccessToUnusedServicesCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.iotRoleAliasAllowsAccessToUnusedServicesCheck),IotRoleAliasOverlyPermissiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.iotRoleAliasOverlyPermissiveCheck),LoggingDisabledCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.loggingDisabledCheck),RevokedCaCertificateStillActiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.revokedCaCertificateStillActiveCheck),RevokedDeviceCertificateStillActiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.revokedDeviceCertificateStillActiveCheck),UnauthenticatedCognitoRoleOverlyPermissiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.unauthenticatedCognitoRoleOverlyPermissiveCheck)}):properties}function CfnAccountAuditConfigurationAuditCheckConfigurationsPropertyFromCloudFormation(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("authenticatedCognitoRoleOverlyPermissiveCheck","AuthenticatedCognitoRoleOverlyPermissiveCheck",properties.AuthenticatedCognitoRoleOverlyPermissiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.AuthenticatedCognitoRoleOverlyPermissiveCheck):void 0),ret.addPropertyResult("caCertificateExpiringCheck","CaCertificateExpiringCheck",properties.CaCertificateExpiringCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.CaCertificateExpiringCheck):void 0),ret.addPropertyResult("caCertificateKeyQualityCheck","CaCertificateKeyQualityCheck",properties.CaCertificateKeyQualityCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.CaCertificateKeyQualityCheck):void 0),ret.addPropertyResult("conflictingClientIdsCheck","ConflictingClientIdsCheck",properties.ConflictingClientIdsCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.ConflictingClientIdsCheck):void 0),ret.addPropertyResult("deviceCertificateExpiringCheck","DeviceCertificateExpiringCheck",properties.DeviceCertificateExpiringCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.DeviceCertificateExpiringCheck):void 0),ret.addPropertyResult("deviceCertificateKeyQualityCheck","DeviceCertificateKeyQualityCheck",properties.DeviceCertificateKeyQualityCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.DeviceCertificateKeyQualityCheck):void 0),ret.addPropertyResult("deviceCertificateSharedCheck","DeviceCertificateSharedCheck",properties.DeviceCertificateSharedCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.DeviceCertificateSharedCheck):void 0),ret.addPropertyResult("iotPolicyOverlyPermissiveCheck","IotPolicyOverlyPermissiveCheck",properties.IotPolicyOverlyPermissiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.IotPolicyOverlyPermissiveCheck):void 0),ret.addPropertyResult("iotRoleAliasAllowsAccessToUnusedServicesCheck","IotRoleAliasAllowsAccessToUnusedServicesCheck",properties.IotRoleAliasAllowsAccessToUnusedServicesCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.IotRoleAliasAllowsAccessToUnusedServicesCheck):void 0),ret.addPropertyResult("iotRoleAliasOverlyPermissiveCheck","IotRoleAliasOverlyPermissiveCheck",properties.IotRoleAliasOverlyPermissiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.IotRoleAliasOverlyPermissiveCheck):void 0),ret.addPropertyResult("loggingDisabledCheck","LoggingDisabledCheck",properties.LoggingDisabledCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.LoggingDisabledCheck):void 0),ret.addPropertyResult("revokedCaCertificateStillActiveCheck","RevokedCaCertificateStillActiveCheck",properties.RevokedCaCertificateStillActiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.RevokedCaCertificateStillActiveCheck):void 0),ret.addPropertyResult("revokedDeviceCertificateStillActiveCheck","RevokedDeviceCertificateStillActiveCheck",properties.RevokedDeviceCertificateStillActiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.RevokedDeviceCertificateStillActiveCheck):void 0),ret.addPropertyResult("unauthenticatedCognitoRoleOverlyPermissiveCheck","UnauthenticatedCognitoRoleOverlyPermissiveCheck",properties.UnauthenticatedCognitoRoleOverlyPermissiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.UnauthenticatedCognitoRoleOverlyPermissiveCheck):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccountAuditConfiguration_AuditNotificationTargetPropertyValidator(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("enabled",cdk.validateBoolean)(properties.enabled)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("targetArn",cdk.validateString)(properties.targetArn)),errors.wrap('supplied properties not correct for "AuditNotificationTargetProperty"')}function cfnAccountAuditConfigurationAuditNotificationTargetPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccountAuditConfiguration_AuditNotificationTargetPropertyValidator(properties).assertSuccess(),{Enabled:cdk.booleanToCloudFormation(properties.enabled),RoleArn:cdk.stringToCloudFormation(properties.roleArn),TargetArn:cdk.stringToCloudFormation(properties.targetArn)}):properties}function CfnAccountAuditConfigurationAuditNotificationTargetPropertyFromCloudFormation(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("enabled","Enabled",properties.Enabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("targetArn","TargetArn",properties.TargetArn!=null?cfn_parse.FromCloudFormation.getString(properties.TargetArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccountAuditConfiguration_AuditNotificationTargetConfigurationsPropertyValidator(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("sns",CfnAccountAuditConfiguration_AuditNotificationTargetPropertyValidator)(properties.sns)),errors.wrap('supplied properties not correct for "AuditNotificationTargetConfigurationsProperty"')}function cfnAccountAuditConfigurationAuditNotificationTargetConfigurationsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccountAuditConfiguration_AuditNotificationTargetConfigurationsPropertyValidator(properties).assertSuccess(),{Sns:cfnAccountAuditConfigurationAuditNotificationTargetPropertyToCloudFormation(properties.sns)}):properties}function CfnAccountAuditConfigurationAuditNotificationTargetConfigurationsPropertyFromCloudFormation(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("sns","Sns",properties.Sns!=null?CfnAccountAuditConfigurationAuditNotificationTargetPropertyFromCloudFormation(properties.Sns):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAuthorizerPropsValidator(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("authorizerFunctionArn",cdk.requiredValidator)(properties.authorizerFunctionArn)),errors.collect(cdk.propertyValidator("authorizerFunctionArn",cdk.validateString)(properties.authorizerFunctionArn)),errors.collect(cdk.propertyValidator("authorizerName",cdk.validateString)(properties.authorizerName)),errors.collect(cdk.propertyValidator("enableCachingForHttp",cdk.validateBoolean)(properties.enableCachingForHttp)),errors.collect(cdk.propertyValidator("signingDisabled",cdk.validateBoolean)(properties.signingDisabled)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("tokenKeyName",cdk.validateString)(properties.tokenKeyName)),errors.collect(cdk.propertyValidator("tokenSigningPublicKeys",cdk.hashValidator(cdk.validateString))(properties.tokenSigningPublicKeys)),errors.wrap('supplied properties not correct for "CfnAuthorizerProps"')}function cfnAuthorizerPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAuthorizerPropsValidator(properties).assertSuccess(),{AuthorizerFunctionArn:cdk.stringToCloudFormation(properties.authorizerFunctionArn),AuthorizerName:cdk.stringToCloudFormation(properties.authorizerName),EnableCachingForHttp:cdk.booleanToCloudFormation(properties.enableCachingForHttp),SigningDisabled:cdk.booleanToCloudFormation(properties.signingDisabled),Status:cdk.stringToCloudFormation(properties.status),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TokenKeyName:cdk.stringToCloudFormation(properties.tokenKeyName),TokenSigningPublicKeys:cdk.hashMapper(cdk.stringToCloudFormation)(properties.tokenSigningPublicKeys)}):properties}function CfnAuthorizerPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("authorizerFunctionArn","AuthorizerFunctionArn",cfn_parse.FromCloudFormation.getString(properties.AuthorizerFunctionArn)),ret.addPropertyResult("authorizerName","AuthorizerName",properties.AuthorizerName!=null?cfn_parse.FromCloudFormation.getString(properties.AuthorizerName):void 0),ret.addPropertyResult("enableCachingForHttp","EnableCachingForHttp",properties.EnableCachingForHttp!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EnableCachingForHttp):void 0),ret.addPropertyResult("signingDisabled","SigningDisabled",properties.SigningDisabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.SigningDisabled):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse.FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("tokenKeyName","TokenKeyName",properties.TokenKeyName!=null?cfn_parse.FromCloudFormation.getString(properties.TokenKeyName):void 0),ret.addPropertyResult("tokenSigningPublicKeys","TokenSigningPublicKeys",properties.TokenSigningPublicKeys!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.TokenSigningPublicKeys):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAuthorizer extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAuthorizer.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnAuthorizerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAuthorizer),error}cdk.requireProperty(props,"authorizerFunctionArn",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.authorizerFunctionArn=props.authorizerFunctionArn,this.authorizerName=props.authorizerName,this.enableCachingForHttp=props.enableCachingForHttp,this.signingDisabled=props.signingDisabled,this.status=props.status,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::Authorizer",props.tags,{tagPropertyName:"tags"}),this.tokenKeyName=props.tokenKeyName,this.tokenSigningPublicKeys=props.tokenSigningPublicKeys}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAuthorizerPropsFromCloudFormation(resourceProperties),ret=new CfnAuthorizer(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",CfnAuthorizer.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{authorizerFunctionArn:this.authorizerFunctionArn,authorizerName:this.authorizerName,enableCachingForHttp:this.enableCachingForHttp,signingDisabled:this.signingDisabled,status:this.status,tags:this.tags.renderTags(),tokenKeyName:this.tokenKeyName,tokenSigningPublicKeys:this.tokenSigningPublicKeys}}renderProperties(props){return cfnAuthorizerPropsToCloudFormation(props)}}exports.CfnAuthorizer=CfnAuthorizer,_b=JSII_RTTI_SYMBOL_1,CfnAuthorizer[_b]={fqn:"aws-cdk-lib.aws_iot.CfnAuthorizer",version:"2.51.0"},CfnAuthorizer.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Authorizer";function CfnCACertificatePropsValidator(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("autoRegistrationStatus",cdk.validateString)(properties.autoRegistrationStatus)),errors.collect(cdk.propertyValidator("caCertificatePem",cdk.requiredValidator)(properties.caCertificatePem)),errors.collect(cdk.propertyValidator("caCertificatePem",cdk.validateString)(properties.caCertificatePem)),errors.collect(cdk.propertyValidator("certificateMode",cdk.validateString)(properties.certificateMode)),errors.collect(cdk.propertyValidator("registrationConfig",CfnCACertificate_RegistrationConfigPropertyValidator)(properties.registrationConfig)),errors.collect(cdk.propertyValidator("removeAutoRegistration",cdk.validateBoolean)(properties.removeAutoRegistration)),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("verificationCertificatePem",cdk.validateString)(properties.verificationCertificatePem)),errors.wrap('supplied properties not correct for "CfnCACertificateProps"')}function cfnCACertificatePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCACertificatePropsValidator(properties).assertSuccess(),{CACertificatePem:cdk.stringToCloudFormation(properties.caCertificatePem),Status:cdk.stringToCloudFormation(properties.status),AutoRegistrationStatus:cdk.stringToCloudFormation(properties.autoRegistrationStatus),CertificateMode:cdk.stringToCloudFormation(properties.certificateMode),RegistrationConfig:cfnCACertificateRegistrationConfigPropertyToCloudFormation(properties.registrationConfig),RemoveAutoRegistration:cdk.booleanToCloudFormation(properties.removeAutoRegistration),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),VerificationCertificatePem:cdk.stringToCloudFormation(properties.verificationCertificatePem)}):properties}function CfnCACertificatePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("caCertificatePem","CACertificatePem",cfn_parse.FromCloudFormation.getString(properties.CACertificatePem)),ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addPropertyResult("autoRegistrationStatus","AutoRegistrationStatus",properties.AutoRegistrationStatus!=null?cfn_parse.FromCloudFormation.getString(properties.AutoRegistrationStatus):void 0),ret.addPropertyResult("certificateMode","CertificateMode",properties.CertificateMode!=null?cfn_parse.FromCloudFormation.getString(properties.CertificateMode):void 0),ret.addPropertyResult("registrationConfig","RegistrationConfig",properties.RegistrationConfig!=null?CfnCACertificateRegistrationConfigPropertyFromCloudFormation(properties.RegistrationConfig):void 0),ret.addPropertyResult("removeAutoRegistration","RemoveAutoRegistration",properties.RemoveAutoRegistration!=null?cfn_parse.FromCloudFormation.getBoolean(properties.RemoveAutoRegistration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("verificationCertificatePem","VerificationCertificatePem",properties.VerificationCertificatePem!=null?cfn_parse.FromCloudFormation.getString(properties.VerificationCertificatePem):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCACertificate extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnCACertificate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnCACertificateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCACertificate),error}cdk.requireProperty(props,"caCertificatePem",this),cdk.requireProperty(props,"status",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrId=cdk.Token.asString(this.getAtt("Id")),this.caCertificatePem=props.caCertificatePem,this.status=props.status,this.autoRegistrationStatus=props.autoRegistrationStatus,this.certificateMode=props.certificateMode,this.registrationConfig=props.registrationConfig,this.removeAutoRegistration=props.removeAutoRegistration,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::CACertificate",props.tags,{tagPropertyName:"tags"}),this.verificationCertificatePem=props.verificationCertificatePem}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCACertificatePropsFromCloudFormation(resourceProperties),ret=new CfnCACertificate(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",CfnCACertificate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{caCertificatePem:this.caCertificatePem,status:this.status,autoRegistrationStatus:this.autoRegistrationStatus,certificateMode:this.certificateMode,registrationConfig:this.registrationConfig,removeAutoRegistration:this.removeAutoRegistration,tags:this.tags.renderTags(),verificationCertificatePem:this.verificationCertificatePem}}renderProperties(props){return cfnCACertificatePropsToCloudFormation(props)}}exports.CfnCACertificate=CfnCACertificate,_c=JSII_RTTI_SYMBOL_1,CfnCACertificate[_c]={fqn:"aws-cdk-lib.aws_iot.CfnCACertificate",version:"2.51.0"},CfnCACertificate.CFN_RESOURCE_TYPE_NAME="AWS::IoT::CACertificate";function CfnCACertificate_RegistrationConfigPropertyValidator(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("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("templateBody",cdk.validateString)(properties.templateBody)),errors.collect(cdk.propertyValidator("templateName",cdk.validateString)(properties.templateName)),errors.wrap('supplied properties not correct for "RegistrationConfigProperty"')}function cfnCACertificateRegistrationConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCACertificate_RegistrationConfigPropertyValidator(properties).assertSuccess(),{RoleArn:cdk.stringToCloudFormation(properties.roleArn),TemplateBody:cdk.stringToCloudFormation(properties.templateBody),TemplateName:cdk.stringToCloudFormation(properties.templateName)}):properties}function CfnCACertificateRegistrationConfigPropertyFromCloudFormation(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("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("templateBody","TemplateBody",properties.TemplateBody!=null?cfn_parse.FromCloudFormation.getString(properties.TemplateBody):void 0),ret.addPropertyResult("templateName","TemplateName",properties.TemplateName!=null?cfn_parse.FromCloudFormation.getString(properties.TemplateName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificatePropsValidator(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("caCertificatePem",cdk.validateString)(properties.caCertificatePem)),errors.collect(cdk.propertyValidator("certificateMode",cdk.validateString)(properties.certificateMode)),errors.collect(cdk.propertyValidator("certificatePem",cdk.validateString)(properties.certificatePem)),errors.collect(cdk.propertyValidator("certificateSigningRequest",cdk.validateString)(properties.certificateSigningRequest)),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 "CfnCertificateProps"')}function cfnCertificatePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCertificatePropsValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status),CACertificatePem:cdk.stringToCloudFormation(properties.caCertificatePem),CertificateMode:cdk.stringToCloudFormation(properties.certificateMode),CertificatePem:cdk.stringToCloudFormation(properties.certificatePem),CertificateSigningRequest:cdk.stringToCloudFormation(properties.certificateSigningRequest)}):properties}function CfnCertificatePropsFromCloudFormation(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("caCertificatePem","CACertificatePem",properties.CACertificatePem!=null?cfn_parse.FromCloudFormation.getString(properties.CACertificatePem):void 0),ret.addPropertyResult("certificateMode","CertificateMode",properties.CertificateMode!=null?cfn_parse.FromCloudFormation.getString(properties.CertificateMode):void 0),ret.addPropertyResult("certificatePem","CertificatePem",properties.CertificatePem!=null?cfn_parse.FromCloudFormation.getString(properties.CertificatePem):void 0),ret.addPropertyResult("certificateSigningRequest","CertificateSigningRequest",properties.CertificateSigningRequest!=null?cfn_parse.FromCloudFormation.getString(properties.CertificateSigningRequest):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCertificate extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnCertificate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnCertificateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCertificate),error}cdk.requireProperty(props,"status",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrId=cdk.Token.asString(this.getAtt("Id")),this.status=props.status,this.caCertificatePem=props.caCertificatePem,this.certificateMode=props.certificateMode,this.certificatePem=props.certificatePem,this.certificateSigningRequest=props.certificateSigningRequest}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCertificatePropsFromCloudFormation(resourceProperties),ret=new CfnCertificate(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",CfnCertificate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{status:this.status,caCertificatePem:this.caCertificatePem,certificateMode:this.certificateMode,certificatePem:this.certificatePem,certificateSigningRequest:this.certificateSigningRequest}}renderProperties(props){return cfnCertificatePropsToCloudFormation(props)}}exports.CfnCertificate=CfnCertificate,_d=JSII_RTTI_SYMBOL_1,CfnCertificate[_d]={fqn:"aws-cdk-lib.aws_iot.CfnCertificate",version:"2.51.0"},CfnCertificate.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Certificate";function CfnCustomMetricPropsValidator(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("displayName",cdk.validateString)(properties.displayName)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("metricType",cdk.requiredValidator)(properties.metricType)),errors.collect(cdk.propertyValidator("metricType",cdk.validateString)(properties.metricType)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnCustomMetricProps"')}function cfnCustomMetricPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCustomMetricPropsValidator(properties).assertSuccess(),{MetricType:cdk.stringToCloudFormation(properties.metricType),DisplayName:cdk.stringToCloudFormation(properties.displayName),MetricName:cdk.stringToCloudFormation(properties.metricName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnCustomMetricPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("metricType","MetricType",cfn_parse.FromCloudFormation.getString(properties.MetricType)),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse.FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("metricName","MetricName",properties.MetricName!=null?cfn_parse.FromCloudFormation.getString(properties.MetricName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCustomMetric extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnCustomMetric.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnCustomMetricProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCustomMetric),error}cdk.requireProperty(props,"metricType",this),this.attrMetricArn=cdk.Token.asString(this.getAtt("MetricArn")),this.metricType=props.metricType,this.displayName=props.displayName,this.metricName=props.metricName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::CustomMetric",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCustomMetricPropsFromCloudFormation(resourceProperties),ret=new CfnCustomMetric(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",CfnCustomMetric.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{metricType:this.metricType,displayName:this.displayName,metricName:this.metricName,tags:this.tags.renderTags()}}renderProperties(props){return cfnCustomMetricPropsToCloudFormation(props)}}exports.CfnCustomMetric=CfnCustomMetric,_e=JSII_RTTI_SYMBOL_1,CfnCustomMetric[_e]={fqn:"aws-cdk-lib.aws_iot.CfnCustomMetric",version:"2.51.0"},CfnCustomMetric.CFN_RESOURCE_TYPE_NAME="AWS::IoT::CustomMetric";function CfnDimensionPropsValidator(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("stringValues",cdk.requiredValidator)(properties.stringValues)),errors.collect(cdk.propertyValidator("stringValues",cdk.listValidator(cdk.validateString))(properties.stringValues)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("type",cdk.requiredValidator)(properties.type)),errors.collect(cdk.propertyValidator("type",cdk.validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnDimensionProps"')}function cfnDimensionPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDimensionPropsValidator(properties).assertSuccess(),{StringValues:cdk.listMapper(cdk.stringToCloudFormation)(properties.stringValues),Type:cdk.stringToCloudFormation(properties.type),Name:cdk.stringToCloudFormation(properties.name),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDimensionPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("stringValues","StringValues",cfn_parse.FromCloudFormation.getStringArray(properties.StringValues)),ret.addPropertyResult("type","Type",cfn_parse.FromCloudFormation.getString(properties.Type)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDimension extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnDimension.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnDimensionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDimension),error}cdk.requireProperty(props,"stringValues",this),cdk.requireProperty(props,"type",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.stringValues=props.stringValues,this.type=props.type,this.name=props.name,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::Dimension",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDimensionPropsFromCloudFormation(resourceProperties),ret=new CfnDimension(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",CfnDimension.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{stringValues:this.stringValues,type:this.type,name:this.name,tags:this.tags.renderTags()}}renderProperties(props){return cfnDimensionPropsToCloudFormation(props)}}exports.CfnDimension=CfnDimension,_f=JSII_RTTI_SYMBOL_1,CfnDimension[_f]={fqn:"aws-cdk-lib.aws_iot.CfnDimension",version:"2.51.0"},CfnDimension.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Dimension";function CfnDomainConfigurationPropsValidator(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("authorizerConfig",CfnDomainConfiguration_AuthorizerConfigPropertyValidator)(properties.authorizerConfig)),errors.collect(cdk.propertyValidator("domainConfigurationName",cdk.validateString)(properties.domainConfigurationName)),errors.collect(cdk.propertyValidator("domainConfigurationStatus",cdk.validateString)(properties.domainConfigurationStatus)),errors.collect(cdk.propertyValidator("domainName",cdk.validateString)(properties.domainName)),errors.collect(cdk.propertyValidator("serverCertificateArns",cdk.listValidator(cdk.validateString))(properties.serverCertificateArns)),errors.collect(cdk.propertyValidator("serviceType",cdk.validateString)(properties.serviceType)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("validationCertificateArn",cdk.validateString)(properties.validationCertificateArn)),errors.wrap('supplied properties not correct for "CfnDomainConfigurationProps"')}function cfnDomainConfigurationPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDomainConfigurationPropsValidator(properties).assertSuccess(),{AuthorizerConfig:cfnDomainConfigurationAuthorizerConfigPropertyToCloudFormation(properties.authorizerConfig),DomainConfigurationName:cdk.stringToCloudFormation(properties.domainConfigurationName),DomainConfigurationStatus:cdk.stringToCloudFormation(properties.domainConfigurationStatus),DomainName:cdk.stringToCloudFormation(properties.domainName),ServerCertificateArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.serverCertificateArns),ServiceType:cdk.stringToCloudFormation(properties.serviceType),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),ValidationCertificateArn:cdk.stringToCloudFormation(properties.validationCertificateArn)}):properties}function CfnDomainConfigurationPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("authorizerConfig","AuthorizerConfig",properties.AuthorizerConfig!=null?CfnDomainConfigurationAuthorizerConfigPropertyFromCloudFormation(properties.AuthorizerConfig):void 0),ret.addPropertyResult("domainConfigurationName","DomainConfigurationName",properties.DomainConfigurationName!=null?cfn_parse.FromCloudFormation.getString(properties.DomainConfigurationName):void 0),ret.addPropertyResult("domainConfigurationStatus","DomainConfigurationStatus",properties.DomainConfigurationStatus!=null?cfn_parse.FromCloudFormation.getString(properties.DomainConfigurationStatus):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse.FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("serverCertificateArns","ServerCertificateArns",properties.ServerCertificateArns!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ServerCertificateArns):void 0),ret.addPropertyResult("serviceType","ServiceType",properties.ServiceType!=null?cfn_parse.FromCloudFormation.getString(properties.ServiceType):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("validationCertificateArn","ValidationCertificateArn",properties.ValidationCertificateArn!=null?cfn_parse.FromCloudFormation.getString(properties.ValidationCertificateArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDomainConfiguration extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnDomainConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnDomainConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDomainConfiguration),error}this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrDomainType=cdk.Token.asString(this.getAtt("DomainType")),this.attrServerCertificates=this.getAtt("ServerCertificates"),this.authorizerConfig=props.authorizerConfig,this.domainConfigurationName=props.domainConfigurationName,this.domainConfigurationStatus=props.domainConfigurationStatus,this.domainName=props.domainName,this.serverCertificateArns=props.serverCertificateArns,this.serviceType=props.serviceType,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::DomainConfiguration",props.tags,{tagPropertyName:"tags"}),this.validationCertificateArn=props.validationCertificateArn}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDomainConfigurationPropsFromCloudFormation(resourceProperties),ret=new CfnDomainConfiguration(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",CfnDomainConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{authorizerConfig:this.authorizerConfig,domainConfigurationName:this.domainConfigurationName,domainConfigurationStatus:this.domainConfigurationStatus,domainName:this.domainName,serverCertificateArns:this.serverCertificateArns,serviceType:this.serviceType,tags:this.tags.renderTags(),validationCertificateArn:this.validationCertificateArn}}renderProperties(props){return cfnDomainConfigurationPropsToCloudFormation(props)}}exports.CfnDomainConfiguration=CfnDomainConfiguration,_g=JSII_RTTI_SYMBOL_1,CfnDomainConfiguration[_g]={fqn:"aws-cdk-lib.aws_iot.CfnDomainConfiguration",version:"2.51.0"},CfnDomainConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::IoT::DomainConfiguration";function CfnDomainConfiguration_AuthorizerConfigPropertyValidator(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("allowAuthorizerOverride",cdk.validateBoolean)(properties.allowAuthorizerOverride)),errors.collect(cdk.propertyValidator("defaultAuthorizerName",cdk.validateString)(properties.defaultAuthorizerName)),errors.wrap('supplied properties not correct for "AuthorizerConfigProperty"')}function cfnDomainConfigurationAuthorizerConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDomainConfiguration_AuthorizerConfigPropertyValidator(properties).assertSuccess(),{AllowAuthorizerOverride:cdk.booleanToCloudFormation(properties.allowAuthorizerOverride),DefaultAuthorizerName:cdk.stringToCloudFormation(properties.defaultAuthorizerName)}):properties}function CfnDomainConfigurationAuthorizerConfigPropertyFromCloudFormation(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("allowAuthorizerOverride","AllowAuthorizerOverride",properties.AllowAuthorizerOverride!=null?cfn_parse.FromCloudFormation.getBoolean(properties.AllowAuthorizerOverride):void 0),ret.addPropertyResult("defaultAuthorizerName","DefaultAuthorizerName",properties.DefaultAuthorizerName!=null?cfn_parse.FromCloudFormation.getString(properties.DefaultAuthorizerName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainConfiguration_ServerCertificateSummaryPropertyValidator(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("serverCertificateArn",cdk.validateString)(properties.serverCertificateArn)),errors.collect(cdk.propertyValidator("serverCertificateStatus",cdk.validateString)(properties.serverCertificateStatus)),errors.collect(cdk.propertyValidator("serverCertificateStatusDetail",cdk.validateString)(properties.serverCertificateStatusDetail)),errors.wrap('supplied properties not correct for "ServerCertificateSummaryProperty"')}function cfnDomainConfigurationServerCertificateSummaryPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDomainConfiguration_ServerCertificateSummaryPropertyValidator(properties).assertSuccess(),{ServerCertificateArn:cdk.stringToCloudFormation(properties.serverCertificateArn),ServerCertificateStatus:cdk.stringToCloudFormation(properties.serverCertificateStatus),ServerCertificateStatusDetail:cdk.stringToCloudFormation(properties.serverCertificateStatusDetail)}):properties}function CfnDomainConfigurationServerCertificateSummaryPropertyFromCloudFormation(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("serverCertificateArn","ServerCertificateArn",properties.ServerCertificateArn!=null?cfn_parse.FromCloudFormation.getString(properties.ServerCertificateArn):void 0),ret.addPropertyResult("serverCertificateStatus","ServerCertificateStatus",properties.ServerCertificateStatus!=null?cfn_parse.FromCloudFormation.getString(properties.ServerCertificateStatus):void 0),ret.addPropertyResult("serverCertificateStatusDetail","ServerCertificateStatusDetail",properties.ServerCertificateStatusDetail!=null?cfn_parse.FromCloudFormation.getString(properties.ServerCertificateStatusDetail):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetMetricPropsValidator(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("aggregationField",cdk.validateString)(properties.aggregationField)),errors.collect(cdk.propertyValidator("aggregationType",CfnFleetMetric_AggregationTypePropertyValidator)(properties.aggregationType)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("indexName",cdk.validateString)(properties.indexName)),errors.collect(cdk.propertyValidator("metricName",cdk.requiredValidator)(properties.metricName)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("period",cdk.validateNumber)(properties.period)),errors.collect(cdk.propertyValidator("queryString",cdk.validateString)(properties.queryString)),errors.collect(cdk.propertyValidator("queryVersion",cdk.validateString)(properties.queryVersion)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),errors.wrap('supplied properties not correct for "CfnFleetMetricProps"')}function cfnFleetMetricPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnFleetMetricPropsValidator(properties).assertSuccess(),{MetricName:cdk.stringToCloudFormation(properties.metricName),AggregationField:cdk.stringToCloudFormation(properties.aggregationField),AggregationType:cfnFleetMetricAggregationTypePropertyToCloudFormation(properties.aggregationType),Description:cdk.stringToCloudFormation(properties.description),IndexName:cdk.stringToCloudFormation(properties.indexName),Period:cdk.numberToCloudFormation(properties.period),QueryString:cdk.stringToCloudFormation(properties.queryString),QueryVersion:cdk.stringToCloudFormation(properties.queryVersion),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),Unit:cdk.stringToCloudFormation(properties.unit)}):properties}function CfnFleetMetricPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("metricName","MetricName",cfn_parse.FromCloudFormation.getString(properties.MetricName)),ret.addPropertyResult("aggregationField","AggregationField",properties.AggregationField!=null?cfn_parse.FromCloudFormation.getString(properties.AggregationField):void 0),ret.addPropertyResult("aggregationType","AggregationType",properties.AggregationType!=null?CfnFleetMetricAggregationTypePropertyFromCloudFormation(properties.AggregationType):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("indexName","IndexName",properties.IndexName!=null?cfn_parse.FromCloudFormation.getString(properties.IndexName):void 0),ret.addPropertyResult("period","Period",properties.Period!=null?cfn_parse.FromCloudFormation.getNumber(properties.Period):void 0),ret.addPropertyResult("queryString","QueryString",properties.QueryString!=null?cfn_parse.FromCloudFormation.getString(properties.QueryString):void 0),ret.addPropertyResult("queryVersion","QueryVersion",properties.QueryVersion!=null?cfn_parse.FromCloudFormation.getString(properties.QueryVersion):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFleetMetric extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnFleetMetric.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnFleetMetricProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFleetMetric),error}cdk.requireProperty(props,"metricName",this),this.attrCreationDate=this.getAtt("CreationDate"),this.attrLastModifiedDate=this.getAtt("LastModifiedDate"),this.attrMetricArn=cdk.Token.asString(this.getAtt("MetricArn")),this.attrVersion=this.getAtt("Version"),this.metricName=props.metricName,this.aggregationField=props.aggregationField,this.aggregationType=props.aggregationType,this.description=props.description,this.indexName=props.indexName,this.period=props.period,this.queryString=props.queryString,this.queryVersion=props.queryVersion,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::FleetMetric",props.tags,{tagPropertyName:"tags"}),this.unit=props.unit}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFleetMetricPropsFromCloudFormation(resourceProperties),ret=new CfnFleetMetric(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",CfnFleetMetric.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{metricName:this.metricName,aggregationField:this.aggregationField,aggregationType:this.aggregationType,description:this.description,indexName:this.indexName,period:this.period,queryString:this.queryString,queryVersion:this.queryVersion,tags:this.tags.renderTags(),unit:this.unit}}renderProperties(props){return cfnFleetMetricPropsToCloudFormation(props)}}exports.CfnFleetMetric=CfnFleetMetric,_h=JSII_RTTI_SYMBOL_1,CfnFleetMetric[_h]={fqn:"aws-cdk-lib.aws_iot.CfnFleetMetric",version:"2.51.0"},CfnFleetMetric.CFN_RESOURCE_TYPE_NAME="AWS::IoT::FleetMetric";function CfnFleetMetric_AggregationTypePropertyValidator(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("values",cdk.requiredValidator)(properties.values)),errors.collect(cdk.propertyValidator("values",cdk.listValidator(cdk.validateString))(properties.values)),errors.wrap('supplied properties not correct for "AggregationTypeProperty"')}function cfnFleetMetricAggregationTypePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnFleetMetric_AggregationTypePropertyValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),Values:cdk.listMapper(cdk.stringToCloudFormation)(properties.values)}):properties}function CfnFleetMetricAggregationTypePropertyFromCloudFormation(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("values","Values",cfn_parse.FromCloudFormation.getStringArray(properties.Values)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobTemplatePropsValidator(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("abortConfig",cdk.validateObject)(properties.abortConfig)),errors.collect(cdk.propertyValidator("description",cdk.requiredValidator)(properties.description)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("document",cdk.validateString)(properties.document)),errors.collect(cdk.propertyValidator("documentSource",cdk.validateString)(properties.documentSource)),errors.collect(cdk.propertyValidator("jobArn",cdk.validateString)(properties.jobArn)),errors.collect(cdk.propertyValidator("jobExecutionsRetryConfig",cdk.validateObject)(properties.jobExecutionsRetryConfig)),errors.collect(cdk.propertyValidator("jobExecutionsRolloutConfig",cdk.validateObject)(properties.jobExecutionsRolloutConfig)),errors.collect(cdk.propertyValidator("jobTemplateId",cdk.requiredValidator)(properties.jobTemplateId)),errors.collect(cdk.propertyValidator("jobTemplateId",cdk.validateString)(properties.jobTemplateId)),errors.collect(cdk.propertyValidator("presignedUrlConfig",cdk.validateObject)(properties.presignedUrlConfig)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("timeoutConfig",cdk.validateObject)(properties.timeoutConfig)),errors.wrap('supplied properties not correct for "CfnJobTemplateProps"')}function cfnJobTemplatePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnJobTemplatePropsValidator(properties).assertSuccess(),{Description:cdk.stringToCloudFormation(properties.description),JobTemplateId:cdk.stringToCloudFormation(properties.jobTemplateId),AbortConfig:cdk.objectToCloudFormation(properties.abortConfig),Document:cdk.stringToCloudFormation(properties.document),DocumentSource:cdk.stringToCloudFormation(properties.documentSource),JobArn:cdk.stringToCloudFormation(properties.jobArn),JobExecutionsRetryConfig:cdk.objectToCloudFormation(properties.jobExecutionsRetryConfig),JobExecutionsRolloutConfig:cdk.objectToCloudFormation(properties.jobExecutionsRolloutConfig),PresignedUrlConfig:cdk.objectToCloudFormation(properties.presignedUrlConfig),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TimeoutConfig:cdk.objectToCloudFormation(properties.timeoutConfig)}):properties}function CfnJobTemplatePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",cfn_parse.FromCloudFormation.getString(properties.Description)),ret.addPropertyResult("jobTemplateId","JobTemplateId",cfn_parse.FromCloudFormation.getString(properties.JobTemplateId)),ret.addPropertyResult("abortConfig","AbortConfig",properties.AbortConfig!=null?cfn_parse.FromCloudFormation.getAny(properties.AbortConfig):void 0),ret.addPropertyResult("document","Document",properties.Document!=null?cfn_parse.FromCloudFormation.getString(properties.Document):void 0),ret.addPropertyResult("documentSource","DocumentSource",properties.DocumentSource!=null?cfn_parse.FromCloudFormation.getString(properties.DocumentSource):void 0),ret.addPropertyResult("jobArn","JobArn",properties.JobArn!=null?cfn_parse.FromCloudFormation.getString(properties.JobArn):void 0),ret.addPropertyResult("jobExecutionsRetryConfig","JobExecutionsRetryConfig",properties.JobExecutionsRetryConfig!=null?cfn_parse.FromCloudFormation.getAny(properties.JobExecutionsRetryConfig):void 0),ret.addPropertyResult("jobExecutionsRolloutConfig","JobExecutionsRolloutConfig",properties.JobExecutionsRolloutConfig!=null?cfn_parse.FromCloudFormation.getAny(properties.JobExecutionsRolloutConfig):void 0),ret.addPropertyResult("presignedUrlConfig","PresignedUrlConfig",properties.PresignedUrlConfig!=null?cfn_parse.FromCloudFormation.getAny(properties.PresignedUrlConfig):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("timeoutConfig","TimeoutConfig",properties.TimeoutConfig!=null?cfn_parse.FromCloudFormation.getAny(properties.TimeoutConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnJobTemplate extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnJobTemplate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnJobTemplateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnJobTemplate),error}cdk.requireProperty(props,"description",this),cdk.requireProperty(props,"jobTemplateId",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.description=props.description,this.jobTemplateId=props.jobTemplateId,this.abortConfig=props.abortConfig,this.document=props.document,this.documentSource=props.documentSource,this.jobArn=props.jobArn,this.jobExecutionsRetryConfig=props.jobExecutionsRetryConfig,this.jobExecutionsRolloutConfig=props.jobExecutionsRolloutConfig,this.presignedUrlConfig=props.presignedUrlConfig,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::JobTemplate",props.tags,{tagPropertyName:"tags"}),this.timeoutConfig=props.timeoutConfig}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnJobTemplatePropsFromCloudFormation(resourceProperties),ret=new CfnJobTemplate(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",CfnJobTemplate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{description:this.description,jobTemplateId:this.jobTemplateId,abortConfig:this.abortConfig,document:this.document,documentSource:this.documentSource,jobArn:this.jobArn,jobExecutionsRetryConfig:this.jobExecutionsRetryConfig,jobExecutionsRolloutConfig:this.jobExecutionsRolloutConfig,presignedUrlConfig:this.presignedUrlConfig,tags:this.tags.renderTags(),timeoutConfig:this.timeoutConfig}}renderProperties(props){return cfnJobTemplatePropsToCloudFormation(props)}}exports.CfnJobTemplate=CfnJobTemplate,_j=JSII_RTTI_SYMBOL_1,CfnJobTemplate[_j]={fqn:"aws-cdk-lib.aws_iot.CfnJobTemplate",version:"2.51.0"},CfnJobTemplate.CFN_RESOURCE_TYPE_NAME="AWS::IoT::JobTemplate";function CfnLoggingPropsValidator(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("defaultLogLevel",cdk.requiredValidator)(properties.defaultLogLevel)),errors.collect(cdk.propertyValidator("defaultLogLevel",cdk.validateString)(properties.defaultLogLevel)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "CfnLoggingProps"')}function cfnLoggingPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLoggingPropsValidator(properties).assertSuccess(),{AccountId:cdk.stringToCloudFormation(properties.accountId),DefaultLogLevel:cdk.stringToCloudFormation(properties.defaultLogLevel),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnLoggingPropsFromCloudFormation(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("defaultLogLevel","DefaultLogLevel",cfn_parse.FromCloudFormation.getString(properties.DefaultLogLevel)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLogging extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnLogging.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnLoggingProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLogging),error}cdk.requireProperty(props,"accountId",this),cdk.requireProperty(props,"defaultLogLevel",this),cdk.requireProperty(props,"roleArn",this),this.accountId=props.accountId,this.defaultLogLevel=props.defaultLogLevel,this.roleArn=props.roleArn}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLoggingPropsFromCloudFormation(resourceProperties),ret=new CfnLogging(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",CfnLogging.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{accountId:this.accountId,defaultLogLevel:this.defaultLogLevel,roleArn:this.roleArn}}renderProperties(props){return cfnLoggingPropsToCloudFormation(props)}}exports.CfnLogging=CfnLogging,_k=JSII_RTTI_SYMBOL_1,CfnLogging[_k]={fqn:"aws-cdk-lib.aws_iot.CfnLogging",version:"2.51.0"},CfnLogging.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Logging";function CfnMitigationActionPropsValidator(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("actionName",cdk.validateString)(properties.actionName)),errors.collect(cdk.propertyValidator("actionParams",cdk.requiredValidator)(properties.actionParams)),errors.collect(cdk.propertyValidator("actionParams",CfnMitigationAction_ActionParamsPropertyValidator)(properties.actionParams)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnMitigationActionProps"')}function cfnMitigationActionPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationActionPropsValidator(properties).assertSuccess(),{ActionParams:cfnMitigationActionActionParamsPropertyToCloudFormation(properties.actionParams),RoleArn:cdk.stringToCloudFormation(properties.roleArn),ActionName:cdk.stringToCloudFormation(properties.actionName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnMitigationActionPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("actionParams","ActionParams",CfnMitigationActionActionParamsPropertyFromCloudFormation(properties.ActionParams)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("actionName","ActionName",properties.ActionName!=null?cfn_parse.FromCloudFormation.getString(properties.ActionName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMitigationAction extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnMitigationAction.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnMitigationActionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMitigationAction),error}cdk.requireProperty(props,"actionParams",this),cdk.requireProperty(props,"roleArn",this),this.attrMitigationActionArn=cdk.Token.asString(this.getAtt("MitigationActionArn")),this.attrMitigationActionId=cdk.Token.asString(this.getAtt("MitigationActionId")),this.actionParams=props.actionParams,this.roleArn=props.roleArn,this.actionName=props.actionName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::MitigationAction",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMitigationActionPropsFromCloudFormation(resourceProperties),ret=new CfnMitigationAction(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",CfnMitigationAction.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{actionParams:this.actionParams,roleArn:this.roleArn,actionName:this.actionName,tags:this.tags.renderTags()}}renderProperties(props){return cfnMitigationActionPropsToCloudFormation(props)}}exports.CfnMitigationAction=CfnMitigationAction,_l=JSII_RTTI_SYMBOL_1,CfnMitigationAction[_l]={fqn:"aws-cdk-lib.aws_iot.CfnMitigationAction",version:"2.51.0"},CfnMitigationAction.CFN_RESOURCE_TYPE_NAME="AWS::IoT::MitigationAction";function CfnMitigationAction_ActionParamsPropertyValidator(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("addThingsToThingGroupParams",CfnMitigationAction_AddThingsToThingGroupParamsPropertyValidator)(properties.addThingsToThingGroupParams)),errors.collect(cdk.propertyValidator("enableIoTLoggingParams",CfnMitigationAction_EnableIoTLoggingParamsPropertyValidator)(properties.enableIoTLoggingParams)),errors.collect(cdk.propertyValidator("publishFindingToSnsParams",CfnMitigationAction_PublishFindingToSnsParamsPropertyValidator)(properties.publishFindingToSnsParams)),errors.collect(cdk.propertyValidator("replaceDefaultPolicyVersionParams",CfnMitigationAction_ReplaceDefaultPolicyVersionParamsPropertyValidator)(properties.replaceDefaultPolicyVersionParams)),errors.collect(cdk.propertyValidator("updateCaCertificateParams",CfnMitigationAction_UpdateCACertificateParamsPropertyValidator)(properties.updateCaCertificateParams)),errors.collect(cdk.propertyValidator("updateDeviceCertificateParams",CfnMitigationAction_UpdateDeviceCertificateParamsPropertyValidator)(properties.updateDeviceCertificateParams)),errors.wrap('supplied properties not correct for "ActionParamsProperty"')}function cfnMitigationActionActionParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_ActionParamsPropertyValidator(properties).assertSuccess(),{AddThingsToThingGroupParams:cfnMitigationActionAddThingsToThingGroupParamsPropertyToCloudFormation(properties.addThingsToThingGroupParams),EnableIoTLoggingParams:cfnMitigationActionEnableIoTLoggingParamsPropertyToCloudFormation(properties.enableIoTLoggingParams),PublishFindingToSnsParams:cfnMitigationActionPublishFindingToSnsParamsPropertyToCloudFormation(properties.publishFindingToSnsParams),ReplaceDefaultPolicyVersionParams:cfnMitigationActionReplaceDefaultPolicyVersionParamsPropertyToCloudFormation(properties.replaceDefaultPolicyVersionParams),UpdateCACertificateParams:cfnMitigationActionUpdateCACertificateParamsPropertyToCloudFormation(properties.updateCaCertificateParams),UpdateDeviceCertificateParams:cfnMitigationActionUpdateDeviceCertificateParamsPropertyToCloudFormation(properties.updateDeviceCertificateParams)}):properties}function CfnMitigationActionActionParamsPropertyFromCloudFormation(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("addThingsToThingGroupParams","AddThingsToThingGroupParams",properties.AddThingsToThingGroupParams!=null?CfnMitigationActionAddThingsToThingGroupParamsPropertyFromCloudFormation(properties.AddThingsToThingGroupParams):void 0),ret.addPropertyResult("enableIoTLoggingParams","EnableIoTLoggingParams",properties.EnableIoTLoggingParams!=null?CfnMitigationActionEnableIoTLoggingParamsPropertyFromCloudFormation(properties.EnableIoTLoggingParams):void 0),ret.addPropertyResult("publishFindingToSnsParams","PublishFindingToSnsParams",properties.PublishFindingToSnsParams!=null?CfnMitigationActionPublishFindingToSnsParamsPropertyFromCloudFormation(properties.PublishFindingToSnsParams):void 0),ret.addPropertyResult("replaceDefaultPolicyVersionParams","ReplaceDefaultPolicyVersionParams",properties.ReplaceDefaultPolicyVersionParams!=null?CfnMitigationActionReplaceDefaultPolicyVersionParamsPropertyFromCloudFormation(properties.ReplaceDefaultPolicyVersionParams):void 0),ret.addPropertyResult("updateCaCertificateParams","UpdateCACertificateParams",properties.UpdateCACertificateParams!=null?CfnMitigationActionUpdateCACertificateParamsPropertyFromCloudFormation(properties.UpdateCACertificateParams):void 0),ret.addPropertyResult("updateDeviceCertificateParams","UpdateDeviceCertificateParams",properties.UpdateDeviceCertificateParams!=null?CfnMitigationActionUpdateDeviceCertificateParamsPropertyFromCloudFormation(properties.UpdateDeviceCertificateParams):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_AddThingsToThingGroupParamsPropertyValidator(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("overrideDynamicGroups",cdk.validateBoolean)(properties.overrideDynamicGroups)),errors.collect(cdk.propertyValidator("thingGroupNames",cdk.requiredValidator)(properties.thingGroupNames)),errors.collect(cdk.propertyValidator("thingGroupNames",cdk.listValidator(cdk.validateString))(properties.thingGroupNames)),errors.wrap('supplied properties not correct for "AddThingsToThingGroupParamsProperty"')}function cfnMitigationActionAddThingsToThingGroupParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_AddThingsToThingGroupParamsPropertyValidator(properties).assertSuccess(),{OverrideDynamicGroups:cdk.booleanToCloudFormation(properties.overrideDynamicGroups),ThingGroupNames:cdk.listMapper(cdk.stringToCloudFormation)(properties.thingGroupNames)}):properties}function CfnMitigationActionAddThingsToThingGroupParamsPropertyFromCloudFormation(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("overrideDynamicGroups","OverrideDynamicGroups",properties.OverrideDynamicGroups!=null?cfn_parse.FromCloudFormation.getBoolean(properties.OverrideDynamicGroups):void 0),ret.addPropertyResult("thingGroupNames","ThingGroupNames",cfn_parse.FromCloudFormation.getStringArray(properties.ThingGroupNames)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_EnableIoTLoggingParamsPropertyValidator(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("logLevel",cdk.requiredValidator)(properties.logLevel)),errors.collect(cdk.propertyValidator("logLevel",cdk.validateString)(properties.logLevel)),errors.collect(cdk.propertyValidator("roleArnForLogging",cdk.requiredValidator)(properties.roleArnForLogging)),errors.collect(cdk.propertyValidator("roleArnForLogging",cdk.validateString)(properties.roleArnForLogging)),errors.wrap('supplied properties not correct for "EnableIoTLoggingParamsProperty"')}function cfnMitigationActionEnableIoTLoggingParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_EnableIoTLoggingParamsPropertyValidator(properties).assertSuccess(),{LogLevel:cdk.stringToCloudFormation(properties.logLevel),RoleArnForLogging:cdk.stringToCloudFormation(properties.roleArnForLogging)}):properties}function CfnMitigationActionEnableIoTLoggingParamsPropertyFromCloudFormation(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("logLevel","LogLevel",cfn_parse.FromCloudFormation.getString(properties.LogLevel)),ret.addPropertyResult("roleArnForLogging","RoleArnForLogging",cfn_parse.FromCloudFormation.getString(properties.RoleArnForLogging)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_PublishFindingToSnsParamsPropertyValidator(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("topicArn",cdk.requiredValidator)(properties.topicArn)),errors.collect(cdk.propertyValidator("topicArn",cdk.validateString)(properties.topicArn)),errors.wrap('supplied properties not correct for "PublishFindingToSnsParamsProperty"')}function cfnMitigationActionPublishFindingToSnsParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_PublishFindingToSnsParamsPropertyValidator(properties).assertSuccess(),{TopicArn:cdk.stringToCloudFormation(properties.topicArn)}):properties}function CfnMitigationActionPublishFindingToSnsParamsPropertyFromCloudFormation(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("topicArn","TopicArn",cfn_parse.FromCloudFormation.getString(properties.TopicArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_ReplaceDefaultPolicyVersionParamsPropertyValidator(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("templateName",cdk.requiredValidator)(properties.templateName)),errors.collect(cdk.propertyValidator("templateName",cdk.validateString)(properties.templateName)),errors.wrap('supplied properties not correct for "ReplaceDefaultPolicyVersionParamsProperty"')}function cfnMitigationActionReplaceDefaultPolicyVersionParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_ReplaceDefaultPolicyVersionParamsPropertyValidator(properties).assertSuccess(),{TemplateName:cdk.stringToCloudFormation(properties.templateName)}):properties}function CfnMitigationActionReplaceDefaultPolicyVersionParamsPropertyFromCloudFormation(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("templateName","TemplateName",cfn_parse.FromCloudFormation.getString(properties.TemplateName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_UpdateCACertificateParamsPropertyValidator(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("action",cdk.requiredValidator)(properties.action)),errors.collect(cdk.propertyValidator("action",cdk.validateString)(properties.action)),errors.wrap('supplied properties not correct for "UpdateCACertificateParamsProperty"')}function cfnMitigationActionUpdateCACertificateParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_UpdateCACertificateParamsPropertyValidator(properties).assertSuccess(),{Action:cdk.stringToCloudFormation(properties.action)}):properties}function CfnMitigationActionUpdateCACertificateParamsPropertyFromCloudFormation(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("action","Action",cfn_parse.FromCloudFormation.getString(properties.Action)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_UpdateDeviceCertificateParamsPropertyValidator(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("action",cdk.requiredValidator)(properties.action)),errors.collect(cdk.propertyValidator("action",cdk.validateString)(properties.action)),errors.wrap('supplied properties not correct for "UpdateDeviceCertificateParamsProperty"')}function cfnMitigationActionUpdateDeviceCertificateParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_UpdateDeviceCertificateParamsPropertyValidator(properties).assertSuccess(),{Action:cdk.stringToCloudFormation(properties.action)}):properties}function CfnMitigationActionUpdateDeviceCertificateParamsPropertyFromCloudFormation(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("action","Action",cfn_parse.FromCloudFormation.getString(properties.Action)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPolicyPropsValidator(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("policyDocument",cdk.requiredValidator)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyDocument",cdk.validateObject)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyName",cdk.validateString)(properties.policyName)),errors.wrap('supplied properties not correct for "CfnPolicyProps"')}function cfnPolicyPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPolicyPropsValidator(properties).assertSuccess(),{PolicyDocument:cdk.objectToCloudFormation(properties.policyDocument),PolicyName:cdk.stringToCloudFormation(properties.policyName)}):properties}function CfnPolicyPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("policyDocument","PolicyDocument",cfn_parse.FromCloudFormation.getAny(properties.PolicyDocument)),ret.addPropertyResult("policyName","PolicyName",properties.PolicyName!=null?cfn_parse.FromCloudFormation.getString(properties.PolicyName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPolicy extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPolicy),error}cdk.requireProperty(props,"policyDocument",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrId=cdk.Token.asString(this.getAtt("Id")),this.policyDocument=props.policyDocument,this.policyName=props.policyName}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPolicyPropsFromCloudFormation(resourceProperties),ret=new CfnPolicy(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",CfnPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{policyDocument:this.policyDocument,policyName:this.policyName}}renderProperties(props){return cfnPolicyPropsToCloudFormation(props)}}exports.CfnPolicy=CfnPolicy,_m=JSII_RTTI_SYMBOL_1,CfnPolicy[_m]={fqn:"aws-cdk-lib.aws_iot.CfnPolicy",version:"2.51.0"},CfnPolicy.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Policy";function CfnPolicyPrincipalAttachmentPropsValidator(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("policyName",cdk.requiredValidator)(properties.policyName)),errors.collect(cdk.propertyValidator("policyName",cdk.validateString)(properties.policyName)),errors.collect(cdk.propertyValidator("principal",cdk.requiredValidator)(properties.principal)),errors.collect(cdk.propertyValidator("principal",cdk.validateString)(properties.principal)),errors.wrap('supplied properties not correct for "CfnPolicyPrincipalAttachmentProps"')}function cfnPolicyPrincipalAttachmentPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPolicyPrincipalAttachmentPropsValidator(properties).assertSuccess(),{PolicyName:cdk.stringToCloudFormation(properties.policyName),Principal:cdk.stringToCloudFormation(properties.principal)}):properties}function CfnPolicyPrincipalAttachmentPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("policyName","PolicyName",cfn_parse.FromCloudFormation.getString(properties.PolicyName)),ret.addPropertyResult("principal","Principal",cfn_parse.FromCloudFormation.getString(properties.Principal)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPolicyPrincipalAttachment extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnPolicyPrincipalAttachment.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnPolicyPrincipalAttachmentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPolicyPrincipalAttachment),error}cdk.requireProperty(props,"policyName",this),cdk.requireProperty(props,"principal",this),this.policyName=props.policyName,this.principal=props.principal}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPolicyPrincipalAttachmentPropsFromCloudFormation(resourceProperties),ret=new CfnPolicyPrincipalAttachment(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",CfnPolicyPrincipalAttachment.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{policyName:this.policyName,principal:this.principal}}renderProperties(props){return cfnPolicyPrincipalAttachmentPropsToCloudFormation(props)}}exports.CfnPolicyPrincipalAttachment=CfnPolicyPrincipalAttachment,_o=JSII_RTTI_SYMBOL_1,CfnPolicyPrincipalAttachment[_o]={fqn:"aws-cdk-lib.aws_iot.CfnPolicyPrincipalAttachment",version:"2.51.0"},CfnPolicyPrincipalAttachment.CFN_RESOURCE_TYPE_NAME="AWS::IoT::PolicyPrincipalAttachment";function CfnProvisioningTemplatePropsValidator(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("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("enabled",cdk.validateBoolean)(properties.enabled)),errors.collect(cdk.propertyValidator("preProvisioningHook",CfnProvisioningTemplate_ProvisioningHookPropertyValidator)(properties.preProvisioningHook)),errors.collect(cdk.propertyValidator("provisioningRoleArn",cdk.requiredValidator)(properties.provisioningRoleArn)),errors.collect(cdk.propertyValidator("provisioningRoleArn",cdk.validateString)(properties.provisioningRoleArn)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("templateBody",cdk.requiredValidator)(properties.templateBody)),errors.collect(cdk.propertyValidator("templateBody",cdk.validateString)(properties.templateBody)),errors.collect(cdk.propertyValidator("templateName",cdk.validateString)(properties.templateName)),errors.collect(cdk.propertyValidator("templateType",cdk.validateString)(properties.templateType)),errors.wrap('supplied properties not correct for "CfnProvisioningTemplateProps"')}function cfnProvisioningTemplatePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnProvisioningTemplatePropsValidator(properties).assertSuccess(),{ProvisioningRoleArn:cdk.stringToCloudFormation(properties.provisioningRoleArn),TemplateBody:cdk.stringToCloudFormation(properties.templateBody),Description:cdk.stringToCloudFormation(properties.description),Enabled:cdk.booleanToCloudFormation(properties.enabled),PreProvisioningHook:cfnProvisioningTemplateProvisioningHookPropertyToCloudFormation(properties.preProvisioningHook),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TemplateName:cdk.stringToCloudFormation(properties.templateName),TemplateType:cdk.stringToCloudFormation(properties.templateType)}):properties}function CfnProvisioningTemplatePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("provisioningRoleArn","ProvisioningRoleArn",cfn_parse.FromCloudFormation.getString(properties.ProvisioningRoleArn)),ret.addPropertyResult("templateBody","TemplateBody",cfn_parse.FromCloudFormation.getString(properties.TemplateBody)),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("preProvisioningHook","PreProvisioningHook",properties.PreProvisioningHook!=null?CfnProvisioningTemplateProvisioningHookPropertyFromCloudFormation(properties.PreProvisioningHook):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("templateName","TemplateName",properties.TemplateName!=null?cfn_parse.FromCloudFormation.getString(properties.TemplateName):void 0),ret.addPropertyResult("templateType","TemplateType",properties.TemplateType!=null?cfn_parse.FromCloudFormation.getString(properties.TemplateType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnProvisioningTemplate extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnProvisioningTemplate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnProvisioningTemplateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnProvisioningTemplate),error}cdk.requireProperty(props,"provisioningRoleArn",this),cdk.requireProperty(props,"templateBody",this),this.attrTemplateArn=cdk.Token.asString(this.getAtt("TemplateArn")),this.provisioningRoleArn=props.provisioningRoleArn,this.templateBody=props.templateBody,this.description=props.description,this.enabled=props.enabled,this.preProvisioningHook=props.preProvisioningHook,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::ProvisioningTemplate",props.tags,{tagPropertyName:"tags"}),this.templateName=props.templateName,this.templateType=props.templateType}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnProvisioningTemplatePropsFromCloudFormation(resourceProperties),ret=new CfnProvisioningTemplate(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",CfnProvisioningTemplate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{provisioningRoleArn:this.provisioningRoleArn,templateBody:this.templateBody,description:this.description,enabled:this.enabled,preProvisioningHook:this.preProvisioningHook,tags:this.tags.renderTags(),templateName:this.templateName,templateType:this.templateType}}renderProperties(props){return cfnProvisioningTemplatePropsToCloudFormation(props)}}exports.CfnProvisioningTemplate=CfnProvisioningTemplate,_p=JSII_RTTI_SYMBOL_1,CfnProvisioningTemplate[_p]={fqn:"aws-cdk-lib.aws_iot.CfnProvisioningTemplate",version:"2.51.0"},CfnProvisioningTemplate.CFN_RESOURCE_TYPE_NAME="AWS::IoT::ProvisioningTemplate";function CfnProvisioningTemplate_ProvisioningHookPropertyValidator(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("payloadVersion",cdk.validateString)(properties.payloadVersion)),errors.collect(cdk.propertyValidator("targetArn",cdk.validateString)(properties.targetArn)),errors.wrap('supplied properties not correct for "ProvisioningHookProperty"')}function cfnProvisioningTemplateProvisioningHookPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnProvisioningTemplate_ProvisioningHookPropertyValidator(properties).assertSuccess(),{PayloadVersion:cdk.stringToCloudFormation(properties.payloadVersion),TargetArn:cdk.stringToCloudFormation(properties.targetArn)}):properties}function CfnProvisioningTemplateProvisioningHookPropertyFromCloudFormation(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("payloadVersion","PayloadVersion",properties.PayloadVersion!=null?cfn_parse.FromCloudFormation.getString(properties.PayloadVersion):void 0),ret.addPropertyResult("targetArn","TargetArn",properties.TargetArn!=null?cfn_parse.FromCloudFormation.getString(properties.TargetArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceSpecificLoggingPropsValidator(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("logLevel",cdk.requiredValidator)(properties.logLevel)),errors.collect(cdk.propertyValidator("logLevel",cdk.validateString)(properties.logLevel)),errors.collect(cdk.propertyValidator("targetName",cdk.requiredValidator)(properties.targetName)),errors.collect(cdk.propertyValidator("targetName",cdk.validateString)(properties.targetName)),errors.collect(cdk.propertyValidator("targetType",cdk.requiredValidator)(properties.targetType)),errors.collect(cdk.propertyValidator("targetType",cdk.validateString)(properties.targetType)),errors.wrap('supplied properties not correct for "CfnResourceSpecificLoggingProps"')}function cfnResourceSpecificLoggingPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnResourceSpecificLoggingPropsValidator(properties).assertSuccess(),{LogLevel:cdk.stringToCloudFormation(properties.logLevel),TargetName:cdk.stringToCloudFormation(properties.targetName),TargetType:cdk.stringToCloudFormation(properties.targetType)}):properties}function CfnResourceSpecificLoggingPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("logLevel","LogLevel",cfn_parse.FromCloudFormation.getString(properties.LogLevel)),ret.addPropertyResult("targetName","TargetName",cfn_parse.FromCloudFormation.getString(properties.TargetName)),ret.addPropertyResult("targetType","TargetType",cfn_parse.FromCloudFormation.getString(properties.TargetType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResourceSpecificLogging extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnResourceSpecificLogging.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnResourceSpecificLoggingProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResourceSpecificLogging),error}cdk.requireProperty(props,"logLevel",this),cdk.requireProperty(props,"targetName",this),cdk.requireProperty(props,"targetType",this),this.attrTargetId=cdk.Token.asString(this.getAtt("TargetId")),this.logLevel=props.logLevel,this.targetName=props.targetName,this.targetType=props.targetType}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResourceSpecificLoggingPropsFromCloudFormation(resourceProperties),ret=new CfnResourceSpecificLogging(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",CfnResourceSpecificLogging.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{logLevel:this.logLevel,targetName:this.targetName,targetType:this.targetType}}renderProperties(props){return cfnResourceSpecificLoggingPropsToCloudFormation(props)}}exports.CfnResourceSpecificLogging=CfnResourceSpecificLogging,_q=JSII_RTTI_SYMBOL_1,CfnResourceSpecificLogging[_q]={fqn:"aws-cdk-lib.aws_iot.CfnResourceSpecificLogging",version:"2.51.0"},CfnResourceSpecificLogging.CFN_RESOURCE_TYPE_NAME="AWS::IoT::ResourceSpecificLogging";function CfnRoleAliasPropsValidator(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("credentialDurationSeconds",cdk.validateNumber)(properties.credentialDurationSeconds)),errors.collect(cdk.propertyValidator("roleAlias",cdk.validateString)(properties.roleAlias)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnRoleAliasProps"')}function cfnRoleAliasPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnRoleAliasPropsValidator(properties).assertSuccess(),{RoleArn:cdk.stringToCloudFormation(properties.roleArn),CredentialDurationSeconds:cdk.numberToCloudFormation(properties.credentialDurationSeconds),RoleAlias:cdk.stringToCloudFormation(properties.roleAlias),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnRoleAliasPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("credentialDurationSeconds","CredentialDurationSeconds",properties.CredentialDurationSeconds!=null?cfn_parse.FromCloudFormation.getNumber(properties.CredentialDurationSeconds):void 0),ret.addPropertyResult("roleAlias","RoleAlias",properties.RoleAlias!=null?cfn_parse.FromCloudFormation.getString(properties.RoleAlias):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRoleAlias extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnRoleAlias.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnRoleAliasProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRoleAlias),error}cdk.requireProperty(props,"roleArn",this),this.attrRoleAliasArn=cdk.Token.asString(this.getAtt("RoleAliasArn")),this.roleArn=props.roleArn,this.credentialDurationSeconds=props.credentialDurationSeconds,this.roleAlias=props.roleAlias,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::RoleAlias",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRoleAliasPropsFromCloudFormation(resourceProperties),ret=new CfnRoleAlias(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",CfnRoleAlias.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{roleArn:this.roleArn,credentialDurationSeconds:this.credentialDurationSeconds,roleAlias:this.roleAlias,tags:this.tags.renderTags()}}renderProperties(props){return cfnRoleAliasPropsToCloudFormation(props)}}exports.CfnRoleAlias=CfnRoleAlias,_r=JSII_RTTI_SYMBOL_1,CfnRoleAlias[_r]={fqn:"aws-cdk-lib.aws_iot.CfnRoleAlias",version:"2.51.0"},CfnRoleAlias.CFN_RESOURCE_TYPE_NAME="AWS::IoT::RoleAlias";function CfnScheduledAuditPropsValidator(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("dayOfMonth",cdk.validateString)(properties.dayOfMonth)),errors.collect(cdk.propertyValidator("dayOfWeek",cdk.validateString)(properties.dayOfWeek)),errors.collect(cdk.propertyValidator("frequency",cdk.requiredValidator)(properties.frequency)),errors.collect(cdk.propertyValidator("frequency",cdk.validateString)(properties.frequency)),errors.collect(cdk.propertyValidator("scheduledAuditName",cdk.validateString)(properties.scheduledAuditName)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("targetCheckNames",cdk.requiredValidator)(properties.targetCheckNames)),errors.collect(cdk.propertyValidator("targetCheckNames",cdk.listValidator(cdk.validateString))(properties.targetCheckNames)),errors.wrap('supplied properties not correct for "CfnScheduledAuditProps"')}function cfnScheduledAuditPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnScheduledAuditPropsValidator(properties).assertSuccess(),{Frequency:cdk.stringToCloudFormation(properties.frequency),TargetCheckNames:cdk.listMapper(cdk.stringToCloudFormation)(properties.targetCheckNames),DayOfMonth:cdk.stringToCloudFormation(properties.dayOfMonth),DayOfWeek:cdk.stringToCloudFormation(properties.dayOfWeek),ScheduledAuditName:cdk.stringToCloudFormation(properties.scheduledAuditName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnScheduledAuditPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("frequency","Frequency",cfn_parse.FromCloudFormation.getString(properties.Frequency)),ret.addPropertyResult("targetCheckNames","TargetCheckNames",cfn_parse.FromCloudFormation.getStringArray(properties.TargetCheckNames)),ret.addPropertyResult("dayOfMonth","DayOfMonth",properties.DayOfMonth!=null?cfn_parse.FromCloudFormation.getString(properties.DayOfMonth):void 0),ret.addPropertyResult("dayOfWeek","DayOfWeek",properties.DayOfWeek!=null?cfn_parse.FromCloudFormation.getString(properties.DayOfWeek):void 0),ret.addPropertyResult("scheduledAuditName","ScheduledAuditName",properties.ScheduledAuditName!=null?cfn_parse.FromCloudFormation.getString(properties.ScheduledAuditName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnScheduledAudit extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnScheduledAudit.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnScheduledAuditProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnScheduledAudit),error}cdk.requireProperty(props,"frequency",this),cdk.requireProperty(props,"targetCheckNames",this),this.attrScheduledAuditArn=cdk.Token.asString(this.getAtt("ScheduledAuditArn")),this.frequency=props.frequency,this.targetCheckNames=props.targetCheckNames,this.dayOfMonth=props.dayOfMonth,this.dayOfWeek=props.dayOfWeek,this.scheduledAuditName=props.scheduledAuditName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::ScheduledAudit",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnScheduledAuditPropsFromCloudFormation(resourceProperties),ret=new CfnScheduledAudit(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",CfnScheduledAudit.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{frequency:this.frequency,targetCheckNames:this.targetCheckNames,dayOfMonth:this.dayOfMonth,dayOfWeek:this.dayOfWeek,scheduledAuditName:this.scheduledAuditName,tags:this.tags.renderTags()}}renderProperties(props){return cfnScheduledAuditPropsToCloudFormation(props)}}exports.CfnScheduledAudit=CfnScheduledAudit,_s=JSII_RTTI_SYMBOL_1,CfnScheduledAudit[_s]={fqn:"aws-cdk-lib.aws_iot.CfnScheduledAudit",version:"2.51.0"},CfnScheduledAudit.CFN_RESOURCE_TYPE_NAME="AWS::IoT::ScheduledAudit";function CfnSecurityProfilePropsValidator(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("additionalMetricsToRetainV2",cdk.listValidator(CfnSecurityProfile_MetricToRetainPropertyValidator))(properties.additionalMetricsToRetainV2)),errors.collect(cdk.propertyValidator("alertTargets",cdk.hashValidator(CfnSecurityProfile_AlertTargetPropertyValidator))(properties.alertTargets)),errors.collect(cdk.propertyValidator("behaviors",cdk.listValidator(CfnSecurityProfile_BehaviorPropertyValidator))(properties.behaviors)),errors.collect(cdk.propertyValidator("securityProfileDescription",cdk.validateString)(properties.securityProfileDescription)),errors.collect(cdk.propertyValidator("securityProfileName",cdk.validateString)(properties.securityProfileName)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("targetArns",cdk.listValidator(cdk.validateString))(properties.targetArns)),errors.wrap('supplied properties not correct for "CfnSecurityProfileProps"')}function cfnSecurityProfilePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfilePropsValidator(properties).assertSuccess(),{AdditionalMetricsToRetainV2:cdk.listMapper(cfnSecurityProfileMetricToRetainPropertyToCloudFormation)(properties.additionalMetricsToRetainV2),AlertTargets:cdk.hashMapper(cfnSecurityProfileAlertTargetPropertyToCloudFormation)(properties.alertTargets),Behaviors:cdk.listMapper(cfnSecurityProfileBehaviorPropertyToCloudFormation)(properties.behaviors),SecurityProfileDescription:cdk.stringToCloudFormation(properties.securityProfileDescription),SecurityProfileName:cdk.stringToCloudFormation(properties.securityProfileName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TargetArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.targetArns)}):properties}function CfnSecurityProfilePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("additionalMetricsToRetainV2","AdditionalMetricsToRetainV2",properties.AdditionalMetricsToRetainV2!=null?cfn_parse.FromCloudFormation.getArray(CfnSecurityProfileMetricToRetainPropertyFromCloudFormation)(properties.AdditionalMetricsToRetainV2):void 0),ret.addPropertyResult("alertTargets","AlertTargets",properties.AlertTargets!=null?cfn_parse.FromCloudFormation.getMap(CfnSecurityProfileAlertTargetPropertyFromCloudFormation)(properties.AlertTargets):void 0),ret.addPropertyResult("behaviors","Behaviors",properties.Behaviors!=null?cfn_parse.FromCloudFormation.getArray(CfnSecurityProfileBehaviorPropertyFromCloudFormation)(properties.Behaviors):void 0),ret.addPropertyResult("securityProfileDescription","SecurityProfileDescription",properties.SecurityProfileDescription!=null?cfn_parse.FromCloudFormation.getString(properties.SecurityProfileDescription):void 0),ret.addPropertyResult("securityProfileName","SecurityProfileName",properties.SecurityProfileName!=null?cfn_parse.FromCloudFormation.getString(properties.SecurityProfileName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetArns","TargetArns",properties.TargetArns!=null?cfn_parse.FromCloudFormation.getStringArray(properties.TargetArns):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSecurityProfile extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnSecurityProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnSecurityProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSecurityProfile),error}this.attrSecurityProfileArn=cdk.Token.asString(this.getAtt("SecurityProfileArn")),this.additionalMetricsToRetainV2=props.additionalMetricsToRetainV2,this.alertTargets=props.alertTargets,this.behaviors=props.behaviors,this.securityProfileDescription=props.securityProfileDescription,this.securityProfileName=props.securityProfileName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::SecurityProfile",props.tags,{tagPropertyName:"tags"}),this.targetArns=props.targetArns}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSecurityProfilePropsFromCloudFormation(resourceProperties),ret=new CfnSecurityProfile(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",CfnSecurityProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{additionalMetricsToRetainV2:this.additionalMetricsToRetainV2,alertTargets:this.alertTargets,behaviors:this.behaviors,securityProfileDescription:this.securityProfileDescription,securityProfileName:this.securityProfileName,tags:this.tags.renderTags(),targetArns:this.targetArns}}renderProperties(props){return cfnSecurityProfilePropsToCloudFormation(props)}}exports.CfnSecurityProfile=CfnSecurityProfile,_t=JSII_RTTI_SYMBOL_1,CfnSecurityProfile[_t]={fqn:"aws-cdk-lib.aws_iot.CfnSecurityProfile",version:"2.51.0"},CfnSecurityProfile.CFN_RESOURCE_TYPE_NAME="AWS::IoT::SecurityProfile";function CfnSecurityProfile_AlertTargetPropertyValidator(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("alertTargetArn",cdk.requiredValidator)(properties.alertTargetArn)),errors.collect(cdk.propertyValidator("alertTargetArn",cdk.validateString)(properties.alertTargetArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "AlertTargetProperty"')}function cfnSecurityProfileAlertTargetPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_AlertTargetPropertyValidator(properties).assertSuccess(),{AlertTargetArn:cdk.stringToCloudFormation(properties.alertTargetArn),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnSecurityProfileAlertTargetPropertyFromCloudFormation(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("alertTargetArn","AlertTargetArn",cfn_parse.FromCloudFormation.getString(properties.AlertTargetArn)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_BehaviorPropertyValidator(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("criteria",CfnSecurityProfile_BehaviorCriteriaPropertyValidator)(properties.criteria)),errors.collect(cdk.propertyValidator("metric",cdk.validateString)(properties.metric)),errors.collect(cdk.propertyValidator("metricDimension",CfnSecurityProfile_MetricDimensionPropertyValidator)(properties.metricDimension)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("suppressAlerts",cdk.validateBoolean)(properties.suppressAlerts)),errors.wrap('supplied properties not correct for "BehaviorProperty"')}function cfnSecurityProfileBehaviorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_BehaviorPropertyValidator(properties).assertSuccess(),{Criteria:cfnSecurityProfileBehaviorCriteriaPropertyToCloudFormation(properties.criteria),Metric:cdk.stringToCloudFormation(properties.metric),MetricDimension:cfnSecurityProfileMetricDimensionPropertyToCloudFormation(properties.metricDimension),Name:cdk.stringToCloudFormation(properties.name),SuppressAlerts:cdk.booleanToCloudFormation(properties.suppressAlerts)}):properties}function CfnSecurityProfileBehaviorPropertyFromCloudFormation(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("criteria","Criteria",properties.Criteria!=null?CfnSecurityProfileBehaviorCriteriaPropertyFromCloudFormation(properties.Criteria):void 0),ret.addPropertyResult("metric","Metric",properties.Metric!=null?cfn_parse.FromCloudFormation.getString(properties.Metric):void 0),ret.addPropertyResult("metricDimension","MetricDimension",properties.MetricDimension!=null?CfnSecurityProfileMetricDimensionPropertyFromCloudFormation(properties.MetricDimension):void 0),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("suppressAlerts","SuppressAlerts",properties.SuppressAlerts!=null?cfn_parse.FromCloudFormation.getBoolean(properties.SuppressAlerts):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_BehaviorCriteriaPropertyValidator(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("comparisonOperator",cdk.validateString)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("consecutiveDatapointsToAlarm",cdk.validateNumber)(properties.consecutiveDatapointsToAlarm)),errors.collect(cdk.propertyValidator("consecutiveDatapointsToClear",cdk.validateNumber)(properties.consecutiveDatapointsToClear)),errors.collect(cdk.propertyValidator("durationSeconds",cdk.validateNumber)(properties.durationSeconds)),errors.collect(cdk.propertyValidator("mlDetectionConfig",CfnSecurityProfile_MachineLearningDetectionConfigPropertyValidator)(properties.mlDetectionConfig)),errors.collect(cdk.propertyValidator("statisticalThreshold",CfnSecurityProfile_StatisticalThresholdPropertyValidator)(properties.statisticalThreshold)),errors.collect(cdk.propertyValidator("value",CfnSecurityProfile_MetricValuePropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "BehaviorCriteriaProperty"')}function cfnSecurityProfileBehaviorCriteriaPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_BehaviorCriteriaPropertyValidator(properties).assertSuccess(),{ComparisonOperator:cdk.stringToCloudFormation(properties.comparisonOperator),ConsecutiveDatapointsToAlarm:cdk.numberToCloudFormation(properties.consecutiveDatapointsToAlarm),ConsecutiveDatapointsToClear:cdk.numberToCloudFormation(properties.consecutiveDatapointsToClear),DurationSeconds:cdk.numberToCloudFormation(properties.durationSeconds),MlDetectionConfig:cfnSecurityProfileMachineLearningDetectionConfigPropertyToCloudFormation(properties.mlDetectionConfig),StatisticalThreshold:cfnSecurityProfileStatisticalThresholdPropertyToCloudFormation(properties.statisticalThreshold),Value:cfnSecurityProfileMetricValuePropertyToCloudFormation(properties.value)}):properties}function CfnSecurityProfileBehaviorCriteriaPropertyFromCloudFormation(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("comparisonOperator","ComparisonOperator",properties.ComparisonOperator!=null?cfn_parse.FromCloudFormation.getString(properties.ComparisonOperator):void 0),ret.addPropertyResult("consecutiveDatapointsToAlarm","ConsecutiveDatapointsToAlarm",properties.ConsecutiveDatapointsToAlarm!=null?cfn_parse.FromCloudFormation.getNumber(properties.ConsecutiveDatapointsToAlarm):void 0),ret.addPropertyResult("consecutiveDatapointsToClear","ConsecutiveDatapointsToClear",properties.ConsecutiveDatapointsToClear!=null?cfn_parse.FromCloudFormation.getNumber(properties.ConsecutiveDatapointsToClear):void 0),ret.addPropertyResult("durationSeconds","DurationSeconds",properties.DurationSeconds!=null?cfn_parse.FromCloudFormation.getNumber(properties.DurationSeconds):void 0),ret.addPropertyResult("mlDetectionConfig","MlDetectionConfig",properties.MlDetectionConfig!=null?CfnSecurityProfileMachineLearningDetectionConfigPropertyFromCloudFormation(properties.MlDetectionConfig):void 0),ret.addPropertyResult("statisticalThreshold","StatisticalThreshold",properties.StatisticalThreshold!=null?CfnSecurityProfileStatisticalThresholdPropertyFromCloudFormation(properties.StatisticalThreshold):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnSecurityProfileMetricValuePropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_MachineLearningDetectionConfigPropertyValidator(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("confidenceLevel",cdk.validateString)(properties.confidenceLevel)),errors.wrap('supplied properties not correct for "MachineLearningDetectionConfigProperty"')}function cfnSecurityProfileMachineLearningDetectionConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_MachineLearningDetectionConfigPropertyValidator(properties).assertSuccess(),{ConfidenceLevel:cdk.stringToCloudFormation(properties.confidenceLevel)}):properties}function CfnSecurityProfileMachineLearningDetectionConfigPropertyFromCloudFormation(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("confidenceLevel","ConfidenceLevel",properties.ConfidenceLevel!=null?cfn_parse.FromCloudFormation.getString(properties.ConfidenceLevel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_MetricDimensionPropertyValidator(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("dimensionName",cdk.requiredValidator)(properties.dimensionName)),errors.collect(cdk.propertyValidator("dimensionName",cdk.validateString)(properties.dimensionName)),errors.collect(cdk.propertyValidator("operator",cdk.validateString)(properties.operator)),errors.wrap('supplied properties not correct for "MetricDimensionProperty"')}function cfnSecurityProfileMetricDimensionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_MetricDimensionPropertyValidator(properties).assertSuccess(),{DimensionName:cdk.stringToCloudFormation(properties.dimensionName),Operator:cdk.stringToCloudFormation(properties.operator)}):properties}function CfnSecurityProfileMetricDimensionPropertyFromCloudFormation(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("dimensionName","DimensionName",cfn_parse.FromCloudFormation.getString(properties.DimensionName)),ret.addPropertyResult("operator","Operator",properties.Operator!=null?cfn_parse.FromCloudFormation.getString(properties.Operator):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_MetricToRetainPropertyValidator(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("metric",cdk.requiredValidator)(properties.metric)),errors.collect(cdk.propertyValidator("metric",cdk.validateString)(properties.metric)),errors.collect(cdk.propertyValidator("metricDimension",CfnSecurityProfile_MetricDimensionPropertyValidator)(properties.metricDimension)),errors.wrap('supplied properties not correct for "MetricToRetainProperty"')}function cfnSecurityProfileMetricToRetainPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_MetricToRetainPropertyValidator(properties).assertSuccess(),{Metric:cdk.stringToCloudFormation(properties.metric),MetricDimension:cfnSecurityProfileMetricDimensionPropertyToCloudFormation(properties.metricDimension)}):properties}function CfnSecurityProfileMetricToRetainPropertyFromCloudFormation(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("metric","Metric",cfn_parse.FromCloudFormation.getString(properties.Metric)),ret.addPropertyResult("metricDimension","MetricDimension",properties.MetricDimension!=null?CfnSecurityProfileMetricDimensionPropertyFromCloudFormation(properties.MetricDimension):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_MetricValuePropertyValidator(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("cidrs",cdk.listValidator(cdk.validateString))(properties.cidrs)),errors.collect(cdk.propertyValidator("count",cdk.validateString)(properties.count)),errors.collect(cdk.propertyValidator("number",cdk.validateNumber)(properties.number)),errors.collect(cdk.propertyValidator("numbers",cdk.listValidator(cdk.validateNumber))(properties.numbers)),errors.collect(cdk.propertyValidator("ports",cdk.listValidator(cdk.validateNumber))(properties.ports)),errors.collect(cdk.propertyValidator("strings",cdk.listValidator(cdk.validateString))(properties.strings)),errors.wrap('supplied properties not correct for "MetricValueProperty"')}function cfnSecurityProfileMetricValuePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_MetricValuePropertyValidator(properties).assertSuccess(),{Cidrs:cdk.listMapper(cdk.stringToCloudFormation)(properties.cidrs),Count:cdk.stringToCloudFormation(properties.count),Number:cdk.numberToCloudFormation(properties.number),Numbers:cdk.listMapper(cdk.numberToCloudFormation)(properties.numbers),Ports:cdk.listMapper(cdk.numberToCloudFormation)(properties.ports),Strings:cdk.listMapper(cdk.stringToCloudFormation)(properties.strings)}):properties}function CfnSecurityProfileMetricValuePropertyFromCloudFormation(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("cidrs","Cidrs",properties.Cidrs!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Cidrs):void 0),ret.addPropertyResult("count","Count",properties.Count!=null?cfn_parse.FromCloudFormation.getString(properties.Count):void 0),ret.addPropertyResult("number","Number",properties.Number!=null?cfn_parse.FromCloudFormation.getNumber(properties.Number):void 0),ret.addPropertyResult("numbers","Numbers",properties.Numbers!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getNumber)(properties.Numbers):void 0),ret.addPropertyResult("ports","Ports",properties.Ports!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getNumber)(properties.Ports):void 0),ret.addPropertyResult("strings","Strings",properties.Strings!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Strings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_StatisticalThresholdPropertyValidator(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("statistic",cdk.validateString)(properties.statistic)),errors.wrap('supplied properties not correct for "StatisticalThresholdProperty"')}function cfnSecurityProfileStatisticalThresholdPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_StatisticalThresholdPropertyValidator(properties).assertSuccess(),{Statistic:cdk.stringToCloudFormation(properties.statistic)}):properties}function CfnSecurityProfileStatisticalThresholdPropertyFromCloudFormation(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("statistic","Statistic",properties.Statistic!=null?cfn_parse.FromCloudFormation.getString(properties.Statistic):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThingPropsValidator(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("attributePayload",CfnThing_AttributePayloadPropertyValidator)(properties.attributePayload)),errors.collect(cdk.propertyValidator("thingName",cdk.validateString)(properties.thingName)),errors.wrap('supplied properties not correct for "CfnThingProps"')}function cfnThingPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnThingPropsValidator(properties).assertSuccess(),{AttributePayload:cfnThingAttributePayloadPropertyToCloudFormation(properties.attributePayload),ThingName:cdk.stringToCloudFormation(properties.thingName)}):properties}function CfnThingPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("attributePayload","AttributePayload",properties.AttributePayload!=null?CfnThingAttributePayloadPropertyFromCloudFormation(properties.AttributePayload):void 0),ret.addPropertyResult("thingName","ThingName",properties.ThingName!=null?cfn_parse.FromCloudFormation.getString(properties.ThingName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnThing extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnThing.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnThingProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnThing),error}this.attributePayload=props.attributePayload,this.thingName=props.thingName}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnThingPropsFromCloudFormation(resourceProperties),ret=new CfnThing(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",CfnThing.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{attributePayload:this.attributePayload,thingName:this.thingName}}renderProperties(props){return cfnThingPropsToCloudFormation(props)}}exports.CfnThing=CfnThing,_u=JSII_RTTI_SYMBOL_1,CfnThing[_u]={fqn:"aws-cdk-lib.aws_iot.CfnThing",version:"2.51.0"},CfnThing.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Thing";function CfnThing_AttributePayloadPropertyValidator(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("attributes",cdk.hashValidator(cdk.validateString))(properties.attributes)),errors.wrap('supplied properties not correct for "AttributePayloadProperty"')}function cfnThingAttributePayloadPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnThing_AttributePayloadPropertyValidator(properties).assertSuccess(),{Attributes:cdk.hashMapper(cdk.stringToCloudFormation)(properties.attributes)}):properties}function CfnThingAttributePayloadPropertyFromCloudFormation(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("attributes","Attributes",properties.Attributes!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.Attributes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThingPrincipalAttachmentPropsValidator(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("principal",cdk.requiredValidator)(properties.principal)),errors.collect(cdk.propertyValidator("principal",cdk.validateString)(properties.principal)),errors.collect(cdk.propertyValidator("thingName",cdk.requiredValidator)(properties.thingName)),errors.collect(cdk.propertyValidator("thingName",cdk.validateString)(properties.thingName)),errors.wrap('supplied properties not correct for "CfnThingPrincipalAttachmentProps"')}function cfnThingPrincipalAttachmentPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnThingPrincipalAttachmentPropsValidator(properties).assertSuccess(),{Principal:cdk.stringToCloudFormation(properties.principal),ThingName:cdk.stringToCloudFormation(properties.thingName)}):properties}function CfnThingPrincipalAttachmentPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("principal","Principal",cfn_parse.FromCloudFormation.getString(properties.Principal)),ret.addPropertyResult("thingName","ThingName",cfn_parse.FromCloudFormation.getString(properties.ThingName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnThingPrincipalAttachment extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnThingPrincipalAttachment.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnThingPrincipalAttachmentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnThingPrincipalAttachment),error}cdk.requireProperty(props,"principal",this),cdk.requireProperty(props,"thingName",this),this.principal=props.principal,this.thingName=props.thingName}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnThingPrincipalAttachmentPropsFromCloudFormation(resourceProperties),ret=new CfnThingPrincipalAttachment(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",CfnThingPrincipalAttachment.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{principal:this.principal,thingName:this.thingName}}renderProperties(props){return cfnThingPrincipalAttachmentPropsToCloudFormation(props)}}exports.CfnThingPrincipalAttachment=CfnThingPrincipalAttachment,_v=JSII_RTTI_SYMBOL_1,CfnThingPrincipalAttachment[_v]={fqn:"aws-cdk-lib.aws_iot.CfnThingPrincipalAttachment",version:"2.51.0"},CfnThingPrincipalAttachment.CFN_RESOURCE_TYPE_NAME="AWS::IoT::ThingPrincipalAttachment";function CfnTopicRulePropsValidator(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("ruleName",cdk.validateString)(properties.ruleName)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("topicRulePayload",cdk.requiredValidator)(properties.topicRulePayload)),errors.collect(cdk.propertyValidator("topicRulePayload",CfnTopicRule_TopicRulePayloadPropertyValidator)(properties.topicRulePayload)),errors.wrap('supplied properties not correct for "CfnTopicRuleProps"')}function cfnTopicRulePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRulePropsValidator(properties).assertSuccess(),{TopicRulePayload:cfnTopicRuleTopicRulePayloadPropertyToCloudFormation(properties.topicRulePayload),RuleName:cdk.stringToCloudFormation(properties.ruleName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnTopicRulePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("topicRulePayload","TopicRulePayload",CfnTopicRuleTopicRulePayloadPropertyFromCloudFormation(properties.TopicRulePayload)),ret.addPropertyResult("ruleName","RuleName",properties.RuleName!=null?cfn_parse.FromCloudFormation.getString(properties.RuleName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTopicRule extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnTopicRule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnTopicRuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTopicRule),error}cdk.requireProperty(props,"topicRulePayload",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.topicRulePayload=props.topicRulePayload,this.ruleName=props.ruleName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::TopicRule",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTopicRulePropsFromCloudFormation(resourceProperties),ret=new CfnTopicRule(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",CfnTopicRule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{topicRulePayload:this.topicRulePayload,ruleName:this.ruleName,tags:this.tags.renderTags()}}renderProperties(props){return cfnTopicRulePropsToCloudFormation(props)}}exports.CfnTopicRule=CfnTopicRule,_w=JSII_RTTI_SYMBOL_1,CfnTopicRule[_w]={fqn:"aws-cdk-lib.aws_iot.CfnTopicRule",version:"2.51.0"},CfnTopicRule.CFN_RESOURCE_TYPE_NAME="AWS::IoT::TopicRule";function CfnTopicRule_ActionPropertyValidator(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("cloudwatchAlarm",CfnTopicRule_CloudwatchAlarmActionPropertyValidator)(properties.cloudwatchAlarm)),errors.collect(cdk.propertyValidator("cloudwatchLogs",CfnTopicRule_CloudwatchLogsActionPropertyValidator)(properties.cloudwatchLogs)),errors.collect(cdk.propertyValidator("cloudwatchMetric",CfnTopicRule_CloudwatchMetricActionPropertyValidator)(properties.cloudwatchMetric)),errors.collect(cdk.propertyValidator("dynamoDb",CfnTopicRule_DynamoDBActionPropertyValidator)(properties.dynamoDb)),errors.collect(cdk.propertyValidator("dynamoDBv2",CfnTopicRule_DynamoDBv2ActionPropertyValidator)(properties.dynamoDBv2)),errors.collect(cdk.propertyValidator("elasticsearch",CfnTopicRule_ElasticsearchActionPropertyValidator)(properties.elasticsearch)),errors.collect(cdk.propertyValidator("firehose",CfnTopicRule_FirehoseActionPropertyValidator)(properties.firehose)),errors.collect(cdk.propertyValidator("http",CfnTopicRule_HttpActionPropertyValidator)(properties.http)),errors.collect(cdk.propertyValidator("iotAnalytics",CfnTopicRule_IotAnalyticsActionPropertyValidator)(properties.iotAnalytics)),errors.collect(cdk.propertyValidator("iotEvents",CfnTopicRule_IotEventsActionPropertyValidator)(properties.iotEvents)),errors.collect(cdk.propertyValidator("iotSiteWise",CfnTopicRule_IotSiteWiseActionPropertyValidator)(properties.iotSiteWise)),errors.collect(cdk.propertyValidator("kafka",CfnTopicRule_KafkaActionPropertyValidator)(properties.kafka)),errors.collect(cdk.propertyValidator("kinesis",CfnTopicRule_KinesisActionPropertyValidator)(properties.kinesis)),errors.collect(cdk.propertyValidator("lambda",CfnTopicRule_LambdaActionPropertyValidator)(properties.lambda)),errors.collect(cdk.propertyValidator("location",CfnTopicRule_LocationActionPropertyValidator)(properties.location)),errors.collect(cdk.propertyValidator("openSearch",CfnTopicRule_OpenSearchActionPropertyValidator)(properties.openSearch)),errors.collect(cdk.propertyValidator("republish",CfnTopicRule_RepublishActionPropertyValidator)(properties.republish)),errors.collect(cdk.propertyValidator("s3",CfnTopicRule_S3ActionPropertyValidator)(properties.s3)),errors.collect(cdk.propertyValidator("sns",CfnTopicRule_SnsActionPropertyValidator)(properties.sns)),errors.collect(cdk.propertyValidator("sqs",CfnTopicRule_SqsActionPropertyValidator)(properties.sqs)),errors.collect(cdk.propertyValidator("stepFunctions",CfnTopicRule_StepFunctionsActionPropertyValidator)(properties.stepFunctions)),errors.collect(cdk.propertyValidator("timestream",CfnTopicRule_TimestreamActionPropertyValidator)(properties.timestream)),errors.wrap('supplied properties not correct for "ActionProperty"')}function cfnTopicRuleActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_ActionPropertyValidator(properties).assertSuccess(),{CloudwatchAlarm:cfnTopicRuleCloudwatchAlarmActionPropertyToCloudFormation(properties.cloudwatchAlarm),CloudwatchLogs:cfnTopicRuleCloudwatchLogsActionPropertyToCloudFormation(properties.cloudwatchLogs),CloudwatchMetric:cfnTopicRuleCloudwatchMetricActionPropertyToCloudFormation(properties.cloudwatchMetric),DynamoDB:cfnTopicRuleDynamoDBActionPropertyToCloudFormation(properties.dynamoDb),DynamoDBv2:cfnTopicRuleDynamoDBv2ActionPropertyToCloudFormation(properties.dynamoDBv2),Elasticsearch:cfnTopicRuleElasticsearchActionPropertyToCloudFormation(properties.elasticsearch),Firehose:cfnTopicRuleFirehoseActionPropertyToCloudFormation(properties.firehose),Http:cfnTopicRuleHttpActionPropertyToCloudFormation(properties.http),IotAnalytics:cfnTopicRuleIotAnalyticsActionPropertyToCloudFormation(properties.iotAnalytics),IotEvents:cfnTopicRuleIotEventsActionPropertyToCloudFormation(properties.iotEvents),IotSiteWise:cfnTopicRuleIotSiteWiseActionPropertyToCloudFormation(properties.iotSiteWise),Kafka:cfnTopicRuleKafkaActionPropertyToCloudFormation(properties.kafka),Kinesis:cfnTopicRuleKinesisActionPropertyToCloudFormation(properties.kinesis),Lambda:cfnTopicRuleLambdaActionPropertyToCloudFormation(properties.lambda),Location:cfnTopicRuleLocationActionPropertyToCloudFormation(properties.location),OpenSearch:cfnTopicRuleOpenSearchActionPropertyToCloudFormation(properties.openSearch),Republish:cfnTopicRuleRepublishActionPropertyToCloudFormation(properties.republish),S3:cfnTopicRuleS3ActionPropertyToCloudFormation(properties.s3),Sns:cfnTopicRuleSnsActionPropertyToCloudFormation(properties.sns),Sqs:cfnTopicRuleSqsActionPropertyToCloudFormation(properties.sqs),StepFunctions:cfnTopicRuleStepFunctionsActionPropertyToCloudFormation(properties.stepFunctions),Timestream:cfnTopicRuleTimestreamActionPropertyToCloudFormation(properties.timestream)}):properties}function CfnTopicRuleActionPropertyFromCloudFormation(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("cloudwatchAlarm","CloudwatchAlarm",properties.CloudwatchAlarm!=null?CfnTopicRuleCloudwatchAlarmActionPropertyFromCloudFormation(properties.CloudwatchAlarm):void 0),ret.addPropertyResult("cloudwatchLogs","CloudwatchLogs",properties.CloudwatchLogs!=null?CfnTopicRuleCloudwatchLogsActionPropertyFromCloudFormation(properties.CloudwatchLogs):void 0),ret.addPropertyResult("cloudwatchMetric","CloudwatchMetric",properties.CloudwatchMetric!=null?CfnTopicRuleCloudwatchMetricActionPropertyFromCloudFormation(properties.CloudwatchMetric):void 0),ret.addPropertyResult("dynamoDb","DynamoDB",properties.DynamoDB!=null?CfnTopicRuleDynamoDBActionPropertyFromCloudFormation(properties.DynamoDB):void 0),ret.addPropertyResult("dynamoDBv2","DynamoDBv2",properties.DynamoDBv2!=null?CfnTopicRuleDynamoDBv2ActionPropertyFromCloudFormation(properties.DynamoDBv2):void 0),ret.addPropertyResult("elasticsearch","Elasticsearch",properties.Elasticsearch!=null?CfnTopicRuleElasticsearchActionPropertyFromCloudFormation(properties.Elasticsearch):void 0),ret.addPropertyResult("firehose","Firehose",properties.Firehose!=null?CfnTopicRuleFirehoseActionPropertyFromCloudFormation(properties.Firehose):void 0),ret.addPropertyResult("http","Http",properties.Http!=null?CfnTopicRuleHttpActionPropertyFromCloudFormation(properties.Http):void 0),ret.addPropertyResult("iotAnalytics","IotAnalytics",properties.IotAnalytics!=null?CfnTopicRuleIotAnalyticsActionPropertyFromCloudFormation(properties.IotAnalytics):void 0),ret.addPropertyResult("iotEvents","IotEvents",properties.IotEvents!=null?CfnTopicRuleIotEventsActionPropertyFromCloudFormation(properties.IotEvents):void 0),ret.addPropertyResult("iotSiteWise","IotSiteWise",properties.IotSiteWise!=null?CfnTopicRuleIotSiteWiseActionPropertyFromCloudFormation(properties.IotSiteWise):void 0),ret.addPropertyResult("kafka","Kafka",properties.Kafka!=null?CfnTopicRuleKafkaActionPropertyFromCloudFormation(properties.Kafka):void 0),ret.addPropertyResult("kinesis","Kinesis",properties.Kinesis!=null?CfnTopicRuleKinesisActionPropertyFromCloudFormation(properties.Kinesis):void 0),ret.addPropertyResult("lambda","Lambda",properties.Lambda!=null?CfnTopicRuleLambdaActionPropertyFromCloudFormation(properties.Lambda):void 0),ret.addPropertyResult("location","Location",properties.Location!=null?CfnTopicRuleLocationActionPropertyFromCloudFormation(properties.Location):void 0),ret.addPropertyResult("openSearch","OpenSearch",properties.OpenSearch!=null?CfnTopicRuleOpenSearchActionPropertyFromCloudFormation(properties.OpenSearch):void 0),ret.addPropertyResult("republish","Republish",properties.Republish!=null?CfnTopicRuleRepublishActionPropertyFromCloudFormation(properties.Republish):void 0),ret.addPropertyResult("s3","S3",properties.S3!=null?CfnTopicRuleS3ActionPropertyFromCloudFormation(properties.S3):void 0),ret.addPropertyResult("sns","Sns",properties.Sns!=null?CfnTopicRuleSnsActionPropertyFromCloudFormation(properties.Sns):void 0),ret.addPropertyResult("sqs","Sqs",properties.Sqs!=null?CfnTopicRuleSqsActionPropertyFromCloudFormation(properties.Sqs):void 0),ret.addPropertyResult("stepFunctions","StepFunctions",properties.StepFunctions!=null?CfnTopicRuleStepFunctionsActionPropertyFromCloudFormation(properties.StepFunctions):void 0),ret.addPropertyResult("timestream","Timestream",properties.Timestream!=null?CfnTopicRuleTimestreamActionPropertyFromCloudFormation(properties.Timestream):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_AssetPropertyTimestampPropertyValidator(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("offsetInNanos",cdk.validateString)(properties.offsetInNanos)),errors.collect(cdk.propertyValidator("timeInSeconds",cdk.requiredValidator)(properties.timeInSeconds)),errors.collect(cdk.propertyValidator("timeInSeconds",cdk.validateString)(properties.timeInSeconds)),errors.wrap('supplied properties not correct for "AssetPropertyTimestampProperty"')}function cfnTopicRuleAssetPropertyTimestampPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_AssetPropertyTimestampPropertyValidator(properties).assertSuccess(),{OffsetInNanos:cdk.stringToCloudFormation(properties.offsetInNanos),TimeInSeconds:cdk.stringToCloudFormation(properties.timeInSeconds)}):properties}function CfnTopicRuleAssetPropertyTimestampPropertyFromCloudFormation(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("offsetInNanos","OffsetInNanos",properties.OffsetInNanos!=null?cfn_parse.FromCloudFormation.getString(properties.OffsetInNanos):void 0),ret.addPropertyResult("timeInSeconds","TimeInSeconds",cfn_parse.FromCloudFormation.getString(properties.TimeInSeconds)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_AssetPropertyValuePropertyValidator(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("quality",cdk.validateString)(properties.quality)),errors.collect(cdk.propertyValidator("timestamp",cdk.requiredValidator)(properties.timestamp)),errors.collect(cdk.propertyValidator("timestamp",CfnTopicRule_AssetPropertyTimestampPropertyValidator)(properties.timestamp)),errors.collect(cdk.propertyValidator("value",cdk.requiredValidator)(properties.value)),errors.collect(cdk.propertyValidator("value",CfnTopicRule_AssetPropertyVariantPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "AssetPropertyValueProperty"')}function cfnTopicRuleAssetPropertyValuePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_AssetPropertyValuePropertyValidator(properties).assertSuccess(),{Quality:cdk.stringToCloudFormation(properties.quality),Timestamp:cfnTopicRuleAssetPropertyTimestampPropertyToCloudFormation(properties.timestamp),Value:cfnTopicRuleAssetPropertyVariantPropertyToCloudFormation(properties.value)}):properties}function CfnTopicRuleAssetPropertyValuePropertyFromCloudFormation(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("quality","Quality",properties.Quality!=null?cfn_parse.FromCloudFormation.getString(properties.Quality):void 0),ret.addPropertyResult("timestamp","Timestamp",CfnTopicRuleAssetPropertyTimestampPropertyFromCloudFormation(properties.Timestamp)),ret.addPropertyResult("value","Value",CfnTopicRuleAssetPropertyVariantPropertyFromCloudFormation(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_AssetPropertyVariantPropertyValidator(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("booleanValue",cdk.validateString)(properties.booleanValue)),errors.collect(cdk.propertyValidator("doubleValue",cdk.validateString)(properties.doubleValue)),errors.collect(cdk.propertyValidator("integerValue",cdk.validateString)(properties.integerValue)),errors.collect(cdk.propertyValidator("stringValue",cdk.validateString)(properties.stringValue)),errors.wrap('supplied properties not correct for "AssetPropertyVariantProperty"')}function cfnTopicRuleAssetPropertyVariantPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_AssetPropertyVariantPropertyValidator(properties).assertSuccess(),{BooleanValue:cdk.stringToCloudFormation(properties.booleanValue),DoubleValue:cdk.stringToCloudFormation(properties.doubleValue),IntegerValue:cdk.stringToCloudFormation(properties.integerValue),StringValue:cdk.stringToCloudFormation(properties.stringValue)}):properties}function CfnTopicRuleAssetPropertyVariantPropertyFromCloudFormation(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("booleanValue","BooleanValue",properties.BooleanValue!=null?cfn_parse.FromCloudFormation.getString(properties.BooleanValue):void 0),ret.addPropertyResult("doubleValue","DoubleValue",properties.DoubleValue!=null?cfn_parse.FromCloudFormation.getString(properties.DoubleValue):void 0),ret.addPropertyResult("integerValue","IntegerValue",properties.IntegerValue!=null?cfn_parse.FromCloudFormation.getString(properties.IntegerValue):void 0),ret.addPropertyResult("stringValue","StringValue",properties.StringValue!=null?cfn_parse.FromCloudFormation.getString(properties.StringValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_CloudwatchAlarmActionPropertyValidator(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("alarmName",cdk.requiredValidator)(properties.alarmName)),errors.collect(cdk.propertyValidator("alarmName",cdk.validateString)(properties.alarmName)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("stateReason",cdk.requiredValidator)(properties.stateReason)),errors.collect(cdk.propertyValidator("stateReason",cdk.validateString)(properties.stateReason)),errors.collect(cdk.propertyValidator("stateValue",cdk.requiredValidator)(properties.stateValue)),errors.collect(cdk.propertyValidator("stateValue",cdk.validateString)(properties.stateValue)),errors.wrap('supplied properties not correct for "CloudwatchAlarmActionProperty"')}function cfnTopicRuleCloudwatchAlarmActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_CloudwatchAlarmActionPropertyValidator(properties).assertSuccess(),{AlarmName:cdk.stringToCloudFormation(properties.alarmName),RoleArn:cdk.stringToCloudFormation(properties.roleArn),StateReason:cdk.stringToCloudFormation(properties.stateReason),StateValue:cdk.stringToCloudFormation(properties.stateValue)}):properties}function CfnTopicRuleCloudwatchAlarmActionPropertyFromCloudFormation(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("alarmName","AlarmName",cfn_parse.FromCloudFormation.getString(properties.AlarmName)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("stateReason","StateReason",cfn_parse.FromCloudFormation.getString(properties.StateReason)),ret.addPropertyResult("stateValue","StateValue",cfn_parse.FromCloudFormation.getString(properties.StateValue)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_CloudwatchLogsActionPropertyValidator(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("logGroupName",cdk.requiredValidator)(properties.logGroupName)),errors.collect(cdk.propertyValidator("logGroupName",cdk.validateString)(properties.logGroupName)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "CloudwatchLogsActionProperty"')}function cfnTopicRuleCloudwatchLogsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_CloudwatchLogsActionPropertyValidator(properties).assertSuccess(),{LogGroupName:cdk.stringToCloudFormation(properties.logGroupName),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleCloudwatchLogsActionPropertyFromCloudFormation(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("logGroupName","LogGroupName",cfn_parse.FromCloudFormation.getString(properties.LogGroupName)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_CloudwatchMetricActionPropertyValidator(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("metricName",cdk.requiredValidator)(properties.metricName)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("metricNamespace",cdk.requiredValidator)(properties.metricNamespace)),errors.collect(cdk.propertyValidator("metricNamespace",cdk.validateString)(properties.metricNamespace)),errors.collect(cdk.propertyValidator("metricTimestamp",cdk.validateString)(properties.metricTimestamp)),errors.collect(cdk.propertyValidator("metricUnit",cdk.requiredValidator)(properties.metricUnit)),errors.collect(cdk.propertyValidator("metricUnit",cdk.validateString)(properties.metricUnit)),errors.collect(cdk.propertyValidator("metricValue",cdk.requiredValidator)(properties.metricValue)),errors.collect(cdk.propertyValidator("metricValue",cdk.validateString)(properties.metricValue)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "CloudwatchMetricActionProperty"')}function cfnTopicRuleCloudwatchMetricActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_CloudwatchMetricActionPropertyValidator(properties).assertSuccess(),{MetricName:cdk.stringToCloudFormation(properties.metricName),MetricNamespace:cdk.stringToCloudFormation(properties.metricNamespace),MetricTimestamp:cdk.stringToCloudFormation(properties.metricTimestamp),MetricUnit:cdk.stringToCloudFormation(properties.metricUnit),MetricValue:cdk.stringToCloudFormation(properties.metricValue),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleCloudwatchMetricActionPropertyFromCloudFormation(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("metricName","MetricName",cfn_parse.FromCloudFormation.getString(properties.MetricName)),ret.addPropertyResult("metricNamespace","MetricNamespace",cfn_parse.FromCloudFormation.getString(properties.MetricNamespace)),ret.addPropertyResult("metricTimestamp","MetricTimestamp",properties.MetricTimestamp!=null?cfn_parse.FromCloudFormation.getString(properties.MetricTimestamp):void 0),ret.addPropertyResult("metricUnit","MetricUnit",cfn_parse.FromCloudFormation.getString(properties.MetricUnit)),ret.addPropertyResult("metricValue","MetricValue",cfn_parse.FromCloudFormation.getString(properties.MetricValue)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_DynamoDBActionPropertyValidator(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("hashKeyField",cdk.requiredValidator)(properties.hashKeyField)),errors.collect(cdk.propertyValidator("hashKeyField",cdk.validateString)(properties.hashKeyField)),errors.collect(cdk.propertyValidator("hashKeyType",cdk.validateString)(properties.hashKeyType)),errors.collect(cdk.propertyValidator("hashKeyValue",cdk.requiredValidator)(properties.hashKeyValue)),errors.collect(cdk.propertyValidator("hashKeyValue",cdk.validateString)(properties.hashKeyValue)),errors.collect(cdk.propertyValidator("payloadField",cdk.validateString)(properties.payloadField)),errors.collect(cdk.propertyValidator("rangeKeyField",cdk.validateString)(properties.rangeKeyField)),errors.collect(cdk.propertyValidator("rangeKeyType",cdk.validateString)(properties.rangeKeyType)),errors.collect(cdk.propertyValidator("rangeKeyValue",cdk.validateString)(properties.rangeKeyValue)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("tableName",cdk.requiredValidator)(properties.tableName)),errors.collect(cdk.propertyValidator("tableName",cdk.validateString)(properties.tableName)),errors.wrap('supplied properties not correct for "DynamoDBActionProperty"')}function cfnTopicRuleDynamoDBActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_DynamoDBActionPropertyValidator(properties).assertSuccess(),{HashKeyField:cdk.stringToCloudFormation(properties.hashKeyField),HashKeyType:cdk.stringToCloudFormation(properties.hashKeyType),HashKeyValue:cdk.stringToCloudFormation(properties.hashKeyValue),PayloadField:cdk.stringToCloudFormation(properties.payloadField),RangeKeyField:cdk.stringToCloudFormation(properties.rangeKeyField),RangeKeyType:cdk.stringToCloudFormation(properties.rangeKeyType),RangeKeyValue:cdk.stringToCloudFormation(properties.rangeKeyValue),RoleArn:cdk.stringToCloudFormation(properties.roleArn),TableName:cdk.stringToCloudFormation(properties.tableName)}):properties}function CfnTopicRuleDynamoDBActionPropertyFromCloudFormation(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("hashKeyField","HashKeyField",cfn_parse.FromCloudFormation.getString(properties.HashKeyField)),ret.addPropertyResult("hashKeyType","HashKeyType",properties.HashKeyType!=null?cfn_parse.FromCloudFormation.getString(properties.HashKeyType):void 0),ret.addPropertyResult("hashKeyValue","HashKeyValue",cfn_parse.FromCloudFormation.getString(properties.HashKeyValue)),ret.addPropertyResult("payloadField","PayloadField",properties.PayloadField!=null?cfn_parse.FromCloudFormation.getString(properties.PayloadField):void 0),ret.addPropertyResult("rangeKeyField","RangeKeyField",properties.RangeKeyField!=null?cfn_parse.FromCloudFormation.getString(properties.RangeKeyField):void 0),ret.addPropertyResult("rangeKeyType","RangeKeyType",properties.RangeKeyType!=null?cfn_parse.FromCloudFormation.getString(properties.RangeKeyType):void 0),ret.addPropertyResult("rangeKeyValue","RangeKeyValue",properties.RangeKeyValue!=null?cfn_parse.FromCloudFormation.getString(properties.RangeKeyValue):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("tableName","TableName",cfn_parse.FromCloudFormation.getString(properties.TableName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_DynamoDBv2ActionPropertyValidator(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("putItem",CfnTopicRule_PutItemInputPropertyValidator)(properties.putItem)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "DynamoDBv2ActionProperty"')}function cfnTopicRuleDynamoDBv2ActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_DynamoDBv2ActionPropertyValidator(properties).assertSuccess(),{PutItem:cfnTopicRulePutItemInputPropertyToCloudFormation(properties.putItem),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleDynamoDBv2ActionPropertyFromCloudFormation(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("putItem","PutItem",properties.PutItem!=null?CfnTopicRulePutItemInputPropertyFromCloudFormation(properties.PutItem):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_ElasticsearchActionPropertyValidator(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("endpoint",cdk.requiredValidator)(properties.endpoint)),errors.collect(cdk.propertyValidator("endpoint",cdk.validateString)(properties.endpoint)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("index",cdk.requiredValidator)(properties.index)),errors.collect(cdk.propertyValidator("index",cdk.validateString)(properties.index)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("type",cdk.requiredValidator)(properties.type)),errors.collect(cdk.propertyValidator("type",cdk.validateString)(properties.type)),errors.wrap('supplied properties not correct for "ElasticsearchActionProperty"')}function cfnTopicRuleElasticsearchActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_ElasticsearchActionPropertyValidator(properties).assertSuccess(),{Endpoint:cdk.stringToCloudFormation(properties.endpoint),Id:cdk.stringToCloudFormation(properties.id),Index:cdk.stringToCloudFormation(properties.index),RoleArn:cdk.stringToCloudFormation(properties.roleArn),Type:cdk.stringToCloudFormation(properties.type)}):properties}function CfnTopicRuleElasticsearchActionPropertyFromCloudFormation(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("endpoint","Endpoint",cfn_parse.FromCloudFormation.getString(properties.Endpoint)),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("index","Index",cfn_parse.FromCloudFormation.getString(properties.Index)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("type","Type",cfn_parse.FromCloudFormation.getString(properties.Type)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_FirehoseActionPropertyValidator(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("batchMode",cdk.validateBoolean)(properties.batchMode)),errors.collect(cdk.propertyValidator("deliveryStreamName",cdk.requiredValidator)(properties.deliveryStreamName)),errors.collect(cdk.propertyValidator("deliveryStreamName",cdk.validateString)(properties.deliveryStreamName)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("separator",cdk.validateString)(properties.separator)),errors.wrap('supplied properties not correct for "FirehoseActionProperty"')}function cfnTopicRuleFirehoseActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_FirehoseActionPropertyValidator(properties).assertSuccess(),{BatchMode:cdk.booleanToCloudFormation(properties.batchMode),DeliveryStreamName:cdk.stringToCloudFormation(properties.deliveryStreamName),RoleArn:cdk.stringToCloudFormation(properties.roleArn),Separator:cdk.stringToCloudFormation(properties.separator)}):properties}function CfnTopicRuleFirehoseActionPropertyFromCloudFormation(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("batchMode","BatchMode",properties.BatchMode!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BatchMode):void 0),ret.addPropertyResult("deliveryStreamName","DeliveryStreamName",cfn_parse.FromCloudFormation.getString(properties.DeliveryStreamName)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("separator","Separator",properties.Separator!=null?cfn_parse.FromCloudFormation.getString(properties.Separator):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_HttpActionPropertyValidator(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("auth",CfnTopicRule_HttpAuthorizationPropertyValidator)(properties.auth)),errors.collect(cdk.propertyValidator("confirmationUrl",cdk.validateString)(properties.confirmationUrl)),errors.collect(cdk.propertyValidator("headers",cdk.listValidator(CfnTopicRule_HttpActionHeaderPropertyValidator))(properties.headers)),errors.collect(cdk.propertyValidator("url",cdk.requiredValidator)(properties.url)),errors.collect(cdk.propertyValidator("url",cdk.validateString)(properties.url)),errors.wrap('supplied properties not correct for "HttpActionProperty"')}function cfnTopicRuleHttpActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_HttpActionPropertyValidator(properties).assertSuccess(),{Auth:cfnTopicRuleHttpAuthorizationPropertyToCloudFormation(properties.auth),ConfirmationUrl:cdk.stringToCloudFormation(properties.confirmationUrl),Headers:cdk.listMapper(cfnTopicRuleHttpActionHeaderPropertyToCloudFormation)(properties.headers),Url:cdk.stringToCloudFormation(properties.url)}):properties}function CfnTopicRuleHttpActionPropertyFromCloudFormation(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("auth","Auth",properties.Auth!=null?CfnTopicRuleHttpAuthorizationPropertyFromCloudFormation(properties.Auth):void 0),ret.addPropertyResult("confirmationUrl","ConfirmationUrl",properties.ConfirmationUrl!=null?cfn_parse.FromCloudFormation.getString(properties.ConfirmationUrl):void 0),ret.addPropertyResult("headers","Headers",properties.Headers!=null?cfn_parse.FromCloudFormation.getArray(CfnTopicRuleHttpActionHeaderPropertyFromCloudFormation)(properties.Headers):void 0),ret.addPropertyResult("url","Url",cfn_parse.FromCloudFormation.getString(properties.Url)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_HttpActionHeaderPropertyValidator(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 "HttpActionHeaderProperty"')}function cfnTopicRuleHttpActionHeaderPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_HttpActionHeaderPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnTopicRuleHttpActionHeaderPropertyFromCloudFormation(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 CfnTopicRule_HttpAuthorizationPropertyValidator(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("sigv4",CfnTopicRule_SigV4AuthorizationPropertyValidator)(properties.sigv4)),errors.wrap('supplied properties not correct for "HttpAuthorizationProperty"')}function cfnTopicRuleHttpAuthorizationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_HttpAuthorizationPropertyValidator(properties).assertSuccess(),{Sigv4:cfnTopicRuleSigV4AuthorizationPropertyToCloudFormation(properties.sigv4)}):properties}function CfnTopicRuleHttpAuthorizationPropertyFromCloudFormation(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("sigv4","Sigv4",properties.Sigv4!=null?CfnTopicRuleSigV4AuthorizationPropertyFromCloudFormation(properties.Sigv4):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_IotAnalyticsActionPropertyValidator(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("batchMode",cdk.validateBoolean)(properties.batchMode)),errors.collect(cdk.propertyValidator("channelName",cdk.requiredValidator)(properties.channelName)),errors.collect(cdk.propertyValidator("channelName",cdk.validateString)(properties.channelName)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "IotAnalyticsActionProperty"')}function cfnTopicRuleIotAnalyticsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_IotAnalyticsActionPropertyValidator(properties).assertSuccess(),{BatchMode:cdk.booleanToCloudFormation(properties.batchMode),ChannelName:cdk.stringToCloudFormation(properties.channelName),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleIotAnalyticsActionPropertyFromCloudFormation(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("batchMode","BatchMode",properties.BatchMode!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BatchMode):void 0),ret.addPropertyResult("channelName","ChannelName",cfn_parse.FromCloudFormation.getString(properties.ChannelName)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_IotEventsActionPropertyValidator(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("batchMode",cdk.validateBoolean)(properties.batchMode)),errors.collect(cdk.propertyValidator("inputName",cdk.requiredValidator)(properties.inputName)),errors.collect(cdk.propertyValidator("inputName",cdk.validateString)(properties.inputName)),errors.collect(cdk.propertyValidator("messageId",cdk.validateString)(properties.messageId)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "IotEventsActionProperty"')}function cfnTopicRuleIotEventsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_IotEventsActionPropertyValidator(properties).assertSuccess(),{BatchMode:cdk.booleanToCloudFormation(properties.batchMode),InputName:cdk.stringToCloudFormation(properties.inputName),MessageId:cdk.stringToCloudFormation(properties.messageId),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleIotEventsActionPropertyFromCloudFormation(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("batchMode","BatchMode",properties.BatchMode!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BatchMode):void 0),ret.addPropertyResult("inputName","InputName",cfn_parse.FromCloudFormation.getString(properties.InputName)),ret.addPropertyResult("messageId","MessageId",properties.MessageId!=null?cfn_parse.FromCloudFormation.getString(properties.MessageId):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_IotSiteWiseActionPropertyValidator(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("putAssetPropertyValueEntries",cdk.requiredValidator)(properties.putAssetPropertyValueEntries)),errors.collect(cdk.propertyValidator("putAssetPropertyValueEntries",cdk.listValidator(CfnTopicRule_PutAssetPropertyValueEntryPropertyValidator))(properties.putAssetPropertyValueEntries)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "IotSiteWiseActionProperty"')}function cfnTopicRuleIotSiteWiseActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_IotSiteWiseActionPropertyValidator(properties).assertSuccess(),{PutAssetPropertyValueEntries:cdk.listMapper(cfnTopicRulePutAssetPropertyValueEntryPropertyToCloudFormation)(properties.putAssetPropertyValueEntries),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleIotSiteWiseActionPropertyFromCloudFormation(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("putAssetPropertyValueEntries","PutAssetPropertyValueEntries",cfn_parse.FromCloudFormation.getArray(CfnTopicRulePutAssetPropertyValueEntryPropertyFromCloudFormation)(properties.PutAssetPropertyValueEntries)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_KafkaActionPropertyValidator(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("clientProperties",cdk.requiredValidator)(properties.clientProperties)),errors.collect(cdk.propertyValidator("clientProperties",cdk.hashValidator(cdk.validateString))(properties.clientProperties)),errors.collect(cdk.propertyValidator("destinationArn",cdk.requiredValidator)(properties.destinationArn)),errors.collect(cdk.propertyValidator("destinationArn",cdk.validateString)(properties.destinationArn)),errors.collect(cdk.propertyValidator("key",cdk.validateString)(properties.key)),errors.collect(cdk.propertyValidator("partition",cdk.validateString)(properties.partition)),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 "KafkaActionProperty"')}function cfnTopicRuleKafkaActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_KafkaActionPropertyValidator(properties).assertSuccess(),{ClientProperties:cdk.hashMapper(cdk.stringToCloudFormation)(properties.clientProperties),DestinationArn:cdk.stringToCloudFormation(properties.destinationArn),Key:cdk.stringToCloudFormation(properties.key),Partition:cdk.stringToCloudFormation(properties.partition),Topic:cdk.stringToCloudFormation(properties.topic)}):properties}function CfnTopicRuleKafkaActionPropertyFromCloudFormation(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("clientProperties","ClientProperties",cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.ClientProperties)),ret.addPropertyResult("destinationArn","DestinationArn",cfn_parse.FromCloudFormation.getString(properties.DestinationArn)),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse.FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("partition","Partition",properties.Partition!=null?cfn_parse.FromCloudFormation.getString(properties.Partition):void 0),ret.addPropertyResult("topic","Topic",cfn_parse.FromCloudFormation.getString(properties.Topic)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_KinesisActionPropertyValidator(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("partitionKey",cdk.validateString)(properties.partitionKey)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("streamName",cdk.requiredValidator)(properties.streamName)),errors.collect(cdk.propertyValidator("streamName",cdk.validateString)(properties.streamName)),errors.wrap('supplied properties not correct for "KinesisActionProperty"')}function cfnTopicRuleKinesisActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_KinesisActionPropertyValidator(properties).assertSuccess(),{PartitionKey:cdk.stringToCloudFormation(properties.partitionKey),RoleArn:cdk.stringToCloudFormation(properties.roleArn),StreamName:cdk.stringToCloudFormation(properties.streamName)}):properties}function CfnTopicRuleKinesisActionPropertyFromCloudFormation(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("partitionKey","PartitionKey",properties.PartitionKey!=null?cfn_parse.FromCloudFormation.getString(properties.PartitionKey):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("streamName","StreamName",cfn_parse.FromCloudFormation.getString(properties.StreamName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_LambdaActionPropertyValidator(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("functionArn",cdk.validateString)(properties.functionArn)),errors.wrap('supplied properties not correct for "LambdaActionProperty"')}function cfnTopicRuleLambdaActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_LambdaActionPropertyValidator(properties).assertSuccess(),{FunctionArn:cdk.stringToCloudFormation(properties.functionArn)}):properties}function CfnTopicRuleLambdaActionPropertyFromCloudFormation(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("functionArn","FunctionArn",properties.FunctionArn!=null?cfn_parse.FromCloudFormation.getString(properties.FunctionArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_LocationActionPropertyValidator(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("deviceId",cdk.requiredValidator)(properties.deviceId)),errors.collect(cdk.propertyValidator("deviceId",cdk.validateString)(properties.deviceId)),errors.collect(cdk.propertyValidator("latitude",cdk.requiredValidator)(properties.latitude)),errors.collect(cdk.propertyValidator("latitude",cdk.validateString)(properties.latitude)),errors.collect(cdk.propertyValidator("longitude",cdk.requiredValidator)(properties.longitude)),errors.collect(cdk.propertyValidator("longitude",cdk.validateString)(properties.longitude)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("timestamp",cdk.validateDate)(properties.timestamp)),errors.collect(cdk.propertyValidator("trackerName",cdk.requiredValidator)(properties.trackerName)),errors.collect(cdk.propertyValidator("trackerName",cdk.validateString)(properties.trackerName)),errors.wrap('supplied properties not correct for "LocationActionProperty"')}function cfnTopicRuleLocationActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_LocationActionPropertyValidator(properties).assertSuccess(),{DeviceId:cdk.stringToCloudFormation(properties.deviceId),Latitude:cdk.stringToCloudFormation(properties.latitude),Longitude:cdk.stringToCloudFormation(properties.longitude),RoleArn:cdk.stringToCloudFormation(properties.roleArn),Timestamp:cdk.dateToCloudFormation(properties.timestamp),TrackerName:cdk.stringToCloudFormation(properties.trackerName)}):properties}function CfnTopicRuleLocationActionPropertyFromCloudFormation(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("deviceId","DeviceId",cfn_parse.FromCloudFormation.getString(properties.DeviceId)),ret.addPropertyResult("latitude","Latitude",cfn_parse.FromCloudFormation.getString(properties.Latitude)),ret.addPropertyResult("longitude","Longitude",cfn_parse.FromCloudFormation.getString(properties.Longitude)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("timestamp","Timestamp",properties.Timestamp!=null?cfn_parse.FromCloudFormation.getDate(properties.Timestamp):void 0),ret.addPropertyResult("trackerName","TrackerName",cfn_parse.FromCloudFormation.getString(properties.TrackerName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_OpenSearchActionPropertyValidator(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("endpoint",cdk.requiredValidator)(properties.endpoint)),errors.collect(cdk.propertyValidator("endpoint",cdk.validateString)(properties.endpoint)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("index",cdk.requiredValidator)(properties.index)),errors.collect(cdk.propertyValidator("index",cdk.validateString)(properties.index)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("type",cdk.requiredValidator)(properties.type)),errors.collect(cdk.propertyValidator("type",cdk.validateString)(properties.type)),errors.wrap('supplied properties not correct for "OpenSearchActionProperty"')}function cfnTopicRuleOpenSearchActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_OpenSearchActionPropertyValidator(properties).assertSuccess(),{Endpoint:cdk.stringToCloudFormation(properties.endpoint),Id:cdk.stringToCloudFormation(properties.id),Index:cdk.stringToCloudFormation(properties.index),RoleArn:cdk.stringToCloudFormation(properties.roleArn),Type:cdk.stringToCloudFormation(properties.type)}):properties}function CfnTopicRuleOpenSearchActionPropertyFromCloudFormation(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("endpoint","Endpoint",cfn_parse.FromCloudFormation.getString(properties.Endpoint)),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("index","Index",cfn_parse.FromCloudFormation.getString(properties.Index)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("type","Type",cfn_parse.FromCloudFormation.getString(properties.Type)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_PutAssetPropertyValueEntryPropertyValidator(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("assetId",cdk.validateString)(properties.assetId)),errors.collect(cdk.propertyValidator("entryId",cdk.validateString)(properties.entryId)),errors.collect(cdk.propertyValidator("propertyAlias",cdk.validateString)(properties.propertyAlias)),errors.collect(cdk.propertyValidator("propertyId",cdk.validateString)(properties.propertyId)),errors.collect(cdk.propertyValidator("propertyValues",cdk.requiredValidator)(properties.propertyValues)),errors.collect(cdk.propertyValidator("propertyValues",cdk.listValidator(CfnTopicRule_AssetPropertyValuePropertyValidator))(properties.propertyValues)),errors.wrap('supplied properties not correct for "PutAssetPropertyValueEntryProperty"')}function cfnTopicRulePutAssetPropertyValueEntryPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_PutAssetPropertyValueEntryPropertyValidator(properties).assertSuccess(),{AssetId:cdk.stringToCloudFormation(properties.assetId),EntryId:cdk.stringToCloudFormation(properties.entryId),PropertyAlias:cdk.stringToCloudFormation(properties.propertyAlias),PropertyId:cdk.stringToCloudFormation(properties.propertyId),PropertyValues:cdk.listMapper(cfnTopicRuleAssetPropertyValuePropertyToCloudFormation)(properties.propertyValues)}):properties}function CfnTopicRulePutAssetPropertyValueEntryPropertyFromCloudFormation(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("assetId","AssetId",properties.AssetId!=null?cfn_parse.FromCloudFormation.getString(properties.AssetId):void 0),ret.addPropertyResult("entryId","EntryId",properties.EntryId!=null?cfn_parse.FromCloudFormation.getString(properties.EntryId):void 0),ret.addPropertyResult("propertyAlias","PropertyAlias",properties.PropertyAlias!=null?cfn_parse.FromCloudFormation.getString(properties.PropertyAlias):void 0),ret.addPropertyResult("propertyId","PropertyId",properties.PropertyId!=null?cfn_parse.FromCloudFormation.getString(properties.PropertyId):void 0),ret.addPropertyResult("propertyValues","PropertyValues",cfn_parse.FromCloudFormation.getArray(CfnTopicRuleAssetPropertyValuePropertyFromCloudFormation)(properties.PropertyValues)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_PutItemInputPropertyValidator(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("tableName",cdk.requiredValidator)(properties.tableName)),errors.collect(cdk.propertyValidator("tableName",cdk.validateString)(properties.tableName)),errors.wrap('supplied properties not correct for "PutItemInputProperty"')}function cfnTopicRulePutItemInputPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_PutItemInputPropertyValidator(properties).assertSuccess(),{TableName:cdk.stringToCloudFormation(properties.tableName)}):properties}function CfnTopicRulePutItemInputPropertyFromCloudFormation(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("tableName","TableName",cfn_parse.FromCloudFormation.getString(properties.TableName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_RepublishActionPropertyValidator(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("headers",CfnTopicRule_RepublishActionHeadersPropertyValidator)(properties.headers)),errors.collect(cdk.propertyValidator("qos",cdk.validateNumber)(properties.qos)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),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 "RepublishActionProperty"')}function cfnTopicRuleRepublishActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_RepublishActionPropertyValidator(properties).assertSuccess(),{Headers:cfnTopicRuleRepublishActionHeadersPropertyToCloudFormation(properties.headers),Qos:cdk.numberToCloudFormation(properties.qos),RoleArn:cdk.stringToCloudFormation(properties.roleArn),Topic:cdk.stringToCloudFormation(properties.topic)}):properties}function CfnTopicRuleRepublishActionPropertyFromCloudFormation(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("headers","Headers",properties.Headers!=null?CfnTopicRuleRepublishActionHeadersPropertyFromCloudFormation(properties.Headers):void 0),ret.addPropertyResult("qos","Qos",properties.Qos!=null?cfn_parse.FromCloudFormation.getNumber(properties.Qos):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("topic","Topic",cfn_parse.FromCloudFormation.getString(properties.Topic)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_RepublishActionHeadersPropertyValidator(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("contentType",cdk.validateString)(properties.contentType)),errors.collect(cdk.propertyValidator("correlationData",cdk.validateString)(properties.correlationData)),errors.collect(cdk.propertyValidator("messageExpiry",cdk.validateString)(properties.messageExpiry)),errors.collect(cdk.propertyValidator("payloadFormatIndicator",cdk.validateString)(properties.payloadFormatIndicator)),errors.collect(cdk.propertyValidator("responseTopic",cdk.validateString)(properties.responseTopic)),errors.collect(cdk.propertyValidator("userProperties",cdk.listValidator(CfnTopicRule_UserPropertyPropertyValidator))(properties.userProperties)),errors.wrap('supplied properties not correct for "RepublishActionHeadersProperty"')}function cfnTopicRuleRepublishActionHeadersPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_RepublishActionHeadersPropertyValidator(properties).assertSuccess(),{ContentType:cdk.stringToCloudFormation(properties.contentType),CorrelationData:cdk.stringToCloudFormation(properties.correlationData),MessageExpiry:cdk.stringToCloudFormation(properties.messageExpiry),PayloadFormatIndicator:cdk.stringToCloudFormation(properties.payloadFormatIndicator),ResponseTopic:cdk.stringToCloudFormation(properties.responseTopic),UserProperties:cdk.listMapper(cfnTopicRuleUserPropertyPropertyToCloudFormation)(properties.userProperties)}):properties}function CfnTopicRuleRepublishActionHeadersPropertyFromCloudFormation(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("contentType","ContentType",properties.ContentType!=null?cfn_parse.FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("correlationData","CorrelationData",properties.CorrelationData!=null?cfn_parse.FromCloudFormation.getString(properties.CorrelationData):void 0),ret.addPropertyResult("messageExpiry","MessageExpiry",properties.MessageExpiry!=null?cfn_parse.FromCloudFormation.getString(properties.MessageExpiry):void 0),ret.addPropertyResult("payloadFormatIndicator","PayloadFormatIndicator",properties.PayloadFormatIndicator!=null?cfn_parse.FromCloudFormation.getString(properties.PayloadFormatIndicator):void 0),ret.addPropertyResult("responseTopic","ResponseTopic",properties.ResponseTopic!=null?cfn_parse.FromCloudFormation.getString(properties.ResponseTopic):void 0),ret.addPropertyResult("userProperties","UserProperties",properties.UserProperties!=null?cfn_parse.FromCloudFormation.getArray(CfnTopicRuleUserPropertyPropertyFromCloudFormation)(properties.UserProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_S3ActionPropertyValidator(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("bucketName",cdk.requiredValidator)(properties.bucketName)),errors.collect(cdk.propertyValidator("bucketName",cdk.validateString)(properties.bucketName)),errors.collect(cdk.propertyValidator("cannedAcl",cdk.validateString)(properties.cannedAcl)),errors.collect(cdk.propertyValidator("key",cdk.requiredValidator)(properties.key)),errors.collect(cdk.propertyValidator("key",cdk.validateString)(properties.key)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "S3ActionProperty"')}function cfnTopicRuleS3ActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_S3ActionPropertyValidator(properties).assertSuccess(),{BucketName:cdk.stringToCloudFormation(properties.bucketName),CannedAcl:cdk.stringToCloudFormation(properties.cannedAcl),Key:cdk.stringToCloudFormation(properties.key),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleS3ActionPropertyFromCloudFormation(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("bucketName","BucketName",cfn_parse.FromCloudFormation.getString(properties.BucketName)),ret.addPropertyResult("cannedAcl","CannedAcl",properties.CannedAcl!=null?cfn_parse.FromCloudFormation.getString(properties.CannedAcl):void 0),ret.addPropertyResult("key","Key",cfn_parse.FromCloudFormation.getString(properties.Key)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_SigV4AuthorizationPropertyValidator(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("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("serviceName",cdk.requiredValidator)(properties.serviceName)),errors.collect(cdk.propertyValidator("serviceName",cdk.validateString)(properties.serviceName)),errors.collect(cdk.propertyValidator("signingRegion",cdk.requiredValidator)(properties.signingRegion)),errors.collect(cdk.propertyValidator("signingRegion",cdk.validateString)(properties.signingRegion)),errors.wrap('supplied properties not correct for "SigV4AuthorizationProperty"')}function cfnTopicRuleSigV4AuthorizationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_SigV4AuthorizationPropertyValidator(properties).assertSuccess(),{RoleArn:cdk.stringToCloudFormation(properties.roleArn),ServiceName:cdk.stringToCloudFormation(properties.serviceName),SigningRegion:cdk.stringToCloudFormation(properties.signingRegion)}):properties}function CfnTopicRuleSigV4AuthorizationPropertyFromCloudFormation(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("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("serviceName","ServiceName",cfn_parse.FromCloudFormation.getString(properties.ServiceName)),ret.addPropertyResult("signingRegion","SigningRegion",cfn_parse.FromCloudFormation.getString(properties.SigningRegion)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_SnsActionPropertyValidator(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("messageFormat",cdk.validateString)(properties.messageFormat)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("targetArn",cdk.requiredValidator)(properties.targetArn)),errors.collect(cdk.propertyValidator("targetArn",cdk.validateString)(properties.targetArn)),errors.wrap('supplied properties not correct for "SnsActionProperty"')}function cfnTopicRuleSnsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_SnsActionPropertyValidator(properties).assertSuccess(),{MessageFormat:cdk.stringToCloudFormation(properties.messageFormat),RoleArn:cdk.stringToCloudFormation(properties.roleArn),TargetArn:cdk.stringToCloudFormation(properties.targetArn)}):properties}function CfnTopicRuleSnsActionPropertyFromCloudFormation(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("messageFormat","MessageFormat",properties.MessageFormat!=null?cfn_parse.FromCloudFormation.getString(properties.MessageFormat):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("targetArn","TargetArn",cfn_parse.FromCloudFormation.getString(properties.TargetArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_SqsActionPropertyValidator(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("queueUrl",cdk.requiredValidator)(properties.queueUrl)),errors.collect(cdk.propertyValidator("queueUrl",cdk.validateString)(properties.queueUrl)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("useBase64",cdk.validateBoolean)(properties.useBase64)),errors.wrap('supplied properties not correct for "SqsActionProperty"')}function cfnTopicRuleSqsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_SqsActionPropertyValidator(properties).assertSuccess(),{QueueUrl:cdk.stringToCloudFormation(properties.queueUrl),RoleArn:cdk.stringToCloudFormation(properties.roleArn),UseBase64:cdk.booleanToCloudFormation(properties.useBase64)}):properties}function CfnTopicRuleSqsActionPropertyFromCloudFormation(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("queueUrl","QueueUrl",cfn_parse.FromCloudFormation.getString(properties.QueueUrl)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("useBase64","UseBase64",properties.UseBase64!=null?cfn_parse.FromCloudFormation.getBoolean(properties.UseBase64):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_StepFunctionsActionPropertyValidator(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("executionNamePrefix",cdk.validateString)(properties.executionNamePrefix)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("stateMachineName",cdk.requiredValidator)(properties.stateMachineName)),errors.collect(cdk.propertyValidator("stateMachineName",cdk.validateString)(properties.stateMachineName)),errors.wrap('supplied properties not correct for "StepFunctionsActionProperty"')}function cfnTopicRuleStepFunctionsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_StepFunctionsActionPropertyValidator(properties).assertSuccess(),{ExecutionNamePrefix:cdk.stringToCloudFormation(properties.executionNamePrefix),RoleArn:cdk.stringToCloudFormation(properties.roleArn),StateMachineName:cdk.stringToCloudFormation(properties.stateMachineName)}):properties}function CfnTopicRuleStepFunctionsActionPropertyFromCloudFormation(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("executionNamePrefix","ExecutionNamePrefix",properties.ExecutionNamePrefix!=null?cfn_parse.FromCloudFormation.getString(properties.ExecutionNamePrefix):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("stateMachineName","StateMachineName",cfn_parse.FromCloudFormation.getString(properties.StateMachineName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_TimestampPropertyValidator(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("unit",cdk.validateString)(properties.unit)),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 "TimestampProperty"')}function cfnTopicRuleTimestampPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_TimestampPropertyValidator(properties).assertSuccess(),{Unit:cdk.stringToCloudFormation(properties.unit),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnTopicRuleTimestampPropertyFromCloudFormation(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("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getString(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_TimestreamActionPropertyValidator(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("databaseName",cdk.requiredValidator)(properties.databaseName)),errors.collect(cdk.propertyValidator("databaseName",cdk.validateString)(properties.databaseName)),errors.collect(cdk.propertyValidator("dimensions",cdk.requiredValidator)(properties.dimensions)),errors.collect(cdk.propertyValidator("dimensions",cdk.listValidator(CfnTopicRule_TimestreamDimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("tableName",cdk.requiredValidator)(properties.tableName)),errors.collect(cdk.propertyValidator("tableName",cdk.validateString)(properties.tableName)),errors.collect(cdk.propertyValidator("timestamp",CfnTopicRule_TimestreamTimestampPropertyValidator)(properties.timestamp)),errors.wrap('supplied properties not correct for "TimestreamActionProperty"')}function cfnTopicRuleTimestreamActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_TimestreamActionPropertyValidator(properties).assertSuccess(),{DatabaseName:cdk.stringToCloudFormation(properties.databaseName),Dimensions:cdk.listMapper(cfnTopicRuleTimestreamDimensionPropertyToCloudFormation)(properties.dimensions),RoleArn:cdk.stringToCloudFormation(properties.roleArn),TableName:cdk.stringToCloudFormation(properties.tableName),Timestamp:cfnTopicRuleTimestreamTimestampPropertyToCloudFormation(properties.timestamp)}):properties}function CfnTopicRuleTimestreamActionPropertyFromCloudFormation(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("databaseName","DatabaseName",cfn_parse.FromCloudFormation.getString(properties.DatabaseName)),ret.addPropertyResult("dimensions","Dimensions",cfn_parse.FromCloudFormation.getArray(CfnTopicRuleTimestreamDimensionPropertyFromCloudFormation)(properties.Dimensions)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("tableName","TableName",cfn_parse.FromCloudFormation.getString(properties.TableName)),ret.addPropertyResult("timestamp","Timestamp",properties.Timestamp!=null?CfnTopicRuleTimestreamTimestampPropertyFromCloudFormation(properties.Timestamp):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_TimestreamDimensionPropertyValidator(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 "TimestreamDimensionProperty"')}function cfnTopicRuleTimestreamDimensionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_TimestreamDimensionPropertyValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnTopicRuleTimestreamDimensionPropertyFromCloudFormation(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 CfnTopicRule_TimestreamTimestampPropertyValidator(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("unit",cdk.requiredValidator)(properties.unit)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),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 "TimestreamTimestampProperty"')}function cfnTopicRuleTimestreamTimestampPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_TimestreamTimestampPropertyValidator(properties).assertSuccess(),{Unit:cdk.stringToCloudFormation(properties.unit),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnTopicRuleTimestreamTimestampPropertyFromCloudFormation(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("unit","Unit",cfn_parse.FromCloudFormation.getString(properties.Unit)),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getString(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_TopicRulePayloadPropertyValidator(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("actions",cdk.requiredValidator)(properties.actions)),errors.collect(cdk.propertyValidator("actions",cdk.listValidator(CfnTopicRule_ActionPropertyValidator))(properties.actions)),errors.collect(cdk.propertyValidator("awsIotSqlVersion",cdk.validateString)(properties.awsIotSqlVersion)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("errorAction",CfnTopicRule_ActionPropertyValidator)(properties.errorAction)),errors.collect(cdk.propertyValidator("ruleDisabled",cdk.validateBoolean)(properties.ruleDisabled)),errors.collect(cdk.propertyValidator("sql",cdk.requiredValidator)(properties.sql)),errors.collect(cdk.propertyValidator("sql",cdk.validateString)(properties.sql)),errors.wrap('supplied properties not correct for "TopicRulePayloadProperty"')}function cfnTopicRuleTopicRulePayloadPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_TopicRulePayloadPropertyValidator(properties).assertSuccess(),{Actions:cdk.listMapper(cfnTopicRuleActionPropertyToCloudFormation)(properties.actions),AwsIotSqlVersion:cdk.stringToCloudFormation(properties.awsIotSqlVersion),Description:cdk.stringToCloudFormation(properties.description),ErrorAction:cfnTopicRuleActionPropertyToCloudFormation(properties.errorAction),RuleDisabled:cdk.booleanToCloudFormation(properties.ruleDisabled),Sql:cdk.stringToCloudFormation(properties.sql)}):properties}function CfnTopicRuleTopicRulePayloadPropertyFromCloudFormation(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("actions","Actions",cfn_parse.FromCloudFormation.getArray(CfnTopicRuleActionPropertyFromCloudFormation)(properties.Actions)),ret.addPropertyResult("awsIotSqlVersion","AwsIotSqlVersion",properties.AwsIotSqlVersion!=null?cfn_parse.FromCloudFormation.getString(properties.AwsIotSqlVersion):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("errorAction","ErrorAction",properties.ErrorAction!=null?CfnTopicRuleActionPropertyFromCloudFormation(properties.ErrorAction):void 0),ret.addPropertyResult("ruleDisabled","RuleDisabled",properties.RuleDisabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.RuleDisabled):void 0),ret.addPropertyResult("sql","Sql",cfn_parse.FromCloudFormation.getString(properties.Sql)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_UserPropertyPropertyValidator(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 "UserPropertyProperty"')}function cfnTopicRuleUserPropertyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_UserPropertyPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnTopicRuleUserPropertyPropertyFromCloudFormation(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 CfnTopicRuleDestinationPropsValidator(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("httpUrlProperties",CfnTopicRuleDestination_HttpUrlDestinationSummaryPropertyValidator)(properties.httpUrlProperties)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("vpcProperties",CfnTopicRuleDestination_VpcDestinationPropertiesPropertyValidator)(properties.vpcProperties)),errors.wrap('supplied properties not correct for "CfnTopicRuleDestinationProps"')}function cfnTopicRuleDestinationPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRuleDestinationPropsValidator(properties).assertSuccess(),{HttpUrlProperties:cfnTopicRuleDestinationHttpUrlDestinationSummaryPropertyToCloudFormation(properties.httpUrlProperties),Status:cdk.stringToCloudFormation(properties.status),VpcProperties:cfnTopicRuleDestinationVpcDestinationPropertiesPropertyToCloudFormation(properties.vpcProperties)}):properties}function CfnTopicRuleDestinationPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("httpUrlProperties","HttpUrlProperties",properties.HttpUrlProperties!=null?CfnTopicRuleDestinationHttpUrlDestinationSummaryPropertyFromCloudFormation(properties.HttpUrlProperties):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse.FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("vpcProperties","VpcProperties",properties.VpcProperties!=null?CfnTopicRuleDestinationVpcDestinationPropertiesPropertyFromCloudFormation(properties.VpcProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTopicRuleDestination extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnTopicRuleDestination.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnTopicRuleDestinationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTopicRuleDestination),error}this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrStatusReason=cdk.Token.asString(this.getAtt("StatusReason")),this.httpUrlProperties=props.httpUrlProperties,this.status=props.status,this.vpcProperties=props.vpcProperties}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTopicRuleDestinationPropsFromCloudFormation(resourceProperties),ret=new CfnTopicRuleDestination(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",CfnTopicRuleDestination.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{httpUrlProperties:this.httpUrlProperties,status:this.status,vpcProperties:this.vpcProperties}}renderProperties(props){return cfnTopicRuleDestinationPropsToCloudFormation(props)}}exports.CfnTopicRuleDestination=CfnTopicRuleDestination,_x=JSII_RTTI_SYMBOL_1,CfnTopicRuleDestination[_x]={fqn:"aws-cdk-lib.aws_iot.CfnTopicRuleDestination",version:"2.51.0"},CfnTopicRuleDestination.CFN_RESOURCE_TYPE_NAME="AWS::IoT::TopicRuleDestination";function CfnTopicRuleDestination_HttpUrlDestinationSummaryPropertyValidator(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("confirmationUrl",cdk.validateString)(properties.confirmationUrl)),errors.wrap('supplied properties not correct for "HttpUrlDestinationSummaryProperty"')}function cfnTopicRuleDestinationHttpUrlDestinationSummaryPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRuleDestination_HttpUrlDestinationSummaryPropertyValidator(properties).assertSuccess(),{ConfirmationUrl:cdk.stringToCloudFormation(properties.confirmationUrl)}):properties}function CfnTopicRuleDestinationHttpUrlDestinationSummaryPropertyFromCloudFormation(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("confirmationUrl","ConfirmationUrl",properties.ConfirmationUrl!=null?cfn_parse.FromCloudFormation.getString(properties.ConfirmationUrl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRuleDestination_VpcDestinationPropertiesPropertyValidator(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("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("securityGroups",cdk.listValidator(cdk.validateString))(properties.securityGroups)),errors.collect(cdk.propertyValidator("subnetIds",cdk.listValidator(cdk.validateString))(properties.subnetIds)),errors.collect(cdk.propertyValidator("vpcId",cdk.validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "VpcDestinationPropertiesProperty"')}function cfnTopicRuleDestinationVpcDestinationPropertiesPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRuleDestination_VpcDestinationPropertiesPropertyValidator(properties).assertSuccess(),{RoleArn:cdk.stringToCloudFormation(properties.roleArn),SecurityGroups:cdk.listMapper(cdk.stringToCloudFormation)(properties.securityGroups),SubnetIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.subnetIds),VpcId:cdk.stringToCloudFormation(properties.vpcId)}):properties}function CfnTopicRuleDestinationVpcDestinationPropertiesPropertyFromCloudFormation(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("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("securityGroups","SecurityGroups",properties.SecurityGroups!=null?cfn_parse.FromCloudFormation.getStringArray(properties.SecurityGroups):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse.FromCloudFormation.getStringArray(properties.SubnetIds):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse.FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}
1
+ "use strict";var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q,_r,_s,_t,_u,_v,_w,_x;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTopicRuleDestination=exports.CfnTopicRule=exports.CfnThingPrincipalAttachment=exports.CfnThing=exports.CfnSecurityProfile=exports.CfnScheduledAudit=exports.CfnRoleAlias=exports.CfnResourceSpecificLogging=exports.CfnProvisioningTemplate=exports.CfnPolicyPrincipalAttachment=exports.CfnPolicy=exports.CfnMitigationAction=exports.CfnLogging=exports.CfnJobTemplate=exports.CfnFleetMetric=exports.CfnDomainConfiguration=exports.CfnDimension=exports.CfnCustomMetric=exports.CfnCertificate=exports.CfnCACertificate=exports.CfnAuthorizer=exports.CfnAccountAuditConfiguration=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 CfnAccountAuditConfigurationPropsValidator(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("auditCheckConfigurations",cdk.requiredValidator)(properties.auditCheckConfigurations)),errors.collect(cdk.propertyValidator("auditCheckConfigurations",CfnAccountAuditConfiguration_AuditCheckConfigurationsPropertyValidator)(properties.auditCheckConfigurations)),errors.collect(cdk.propertyValidator("auditNotificationTargetConfigurations",CfnAccountAuditConfiguration_AuditNotificationTargetConfigurationsPropertyValidator)(properties.auditNotificationTargetConfigurations)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "CfnAccountAuditConfigurationProps"')}function cfnAccountAuditConfigurationPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccountAuditConfigurationPropsValidator(properties).assertSuccess(),{AccountId:cdk.stringToCloudFormation(properties.accountId),AuditCheckConfigurations:cfnAccountAuditConfigurationAuditCheckConfigurationsPropertyToCloudFormation(properties.auditCheckConfigurations),RoleArn:cdk.stringToCloudFormation(properties.roleArn),AuditNotificationTargetConfigurations:cfnAccountAuditConfigurationAuditNotificationTargetConfigurationsPropertyToCloudFormation(properties.auditNotificationTargetConfigurations)}):properties}function CfnAccountAuditConfigurationPropsFromCloudFormation(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("auditCheckConfigurations","AuditCheckConfigurations",CfnAccountAuditConfigurationAuditCheckConfigurationsPropertyFromCloudFormation(properties.AuditCheckConfigurations)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("auditNotificationTargetConfigurations","AuditNotificationTargetConfigurations",properties.AuditNotificationTargetConfigurations!=null?CfnAccountAuditConfigurationAuditNotificationTargetConfigurationsPropertyFromCloudFormation(properties.AuditNotificationTargetConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAccountAuditConfiguration extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAccountAuditConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnAccountAuditConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccountAuditConfiguration),error}cdk.requireProperty(props,"accountId",this),cdk.requireProperty(props,"auditCheckConfigurations",this),cdk.requireProperty(props,"roleArn",this),this.accountId=props.accountId,this.auditCheckConfigurations=props.auditCheckConfigurations,this.roleArn=props.roleArn,this.auditNotificationTargetConfigurations=props.auditNotificationTargetConfigurations}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccountAuditConfigurationPropsFromCloudFormation(resourceProperties),ret=new CfnAccountAuditConfiguration(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",CfnAccountAuditConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{accountId:this.accountId,auditCheckConfigurations:this.auditCheckConfigurations,roleArn:this.roleArn,auditNotificationTargetConfigurations:this.auditNotificationTargetConfigurations}}renderProperties(props){return cfnAccountAuditConfigurationPropsToCloudFormation(props)}}exports.CfnAccountAuditConfiguration=CfnAccountAuditConfiguration,_a=JSII_RTTI_SYMBOL_1,CfnAccountAuditConfiguration[_a]={fqn:"aws-cdk-lib.aws_iot.CfnAccountAuditConfiguration",version:"2.51.1"},CfnAccountAuditConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::IoT::AccountAuditConfiguration";function CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator(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("enabled",cdk.validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "AuditCheckConfigurationProperty"')}function cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator(properties).assertSuccess(),{Enabled:cdk.booleanToCloudFormation(properties.enabled)}):properties}function CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(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("enabled","Enabled",properties.Enabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccountAuditConfiguration_AuditCheckConfigurationsPropertyValidator(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("authenticatedCognitoRoleOverlyPermissiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.authenticatedCognitoRoleOverlyPermissiveCheck)),errors.collect(cdk.propertyValidator("caCertificateExpiringCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.caCertificateExpiringCheck)),errors.collect(cdk.propertyValidator("caCertificateKeyQualityCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.caCertificateKeyQualityCheck)),errors.collect(cdk.propertyValidator("conflictingClientIdsCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.conflictingClientIdsCheck)),errors.collect(cdk.propertyValidator("deviceCertificateExpiringCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.deviceCertificateExpiringCheck)),errors.collect(cdk.propertyValidator("deviceCertificateKeyQualityCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.deviceCertificateKeyQualityCheck)),errors.collect(cdk.propertyValidator("deviceCertificateSharedCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.deviceCertificateSharedCheck)),errors.collect(cdk.propertyValidator("iotPolicyOverlyPermissiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.iotPolicyOverlyPermissiveCheck)),errors.collect(cdk.propertyValidator("iotRoleAliasAllowsAccessToUnusedServicesCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.iotRoleAliasAllowsAccessToUnusedServicesCheck)),errors.collect(cdk.propertyValidator("iotRoleAliasOverlyPermissiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.iotRoleAliasOverlyPermissiveCheck)),errors.collect(cdk.propertyValidator("loggingDisabledCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.loggingDisabledCheck)),errors.collect(cdk.propertyValidator("revokedCaCertificateStillActiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.revokedCaCertificateStillActiveCheck)),errors.collect(cdk.propertyValidator("revokedDeviceCertificateStillActiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.revokedDeviceCertificateStillActiveCheck)),errors.collect(cdk.propertyValidator("unauthenticatedCognitoRoleOverlyPermissiveCheck",CfnAccountAuditConfiguration_AuditCheckConfigurationPropertyValidator)(properties.unauthenticatedCognitoRoleOverlyPermissiveCheck)),errors.wrap('supplied properties not correct for "AuditCheckConfigurationsProperty"')}function cfnAccountAuditConfigurationAuditCheckConfigurationsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccountAuditConfiguration_AuditCheckConfigurationsPropertyValidator(properties).assertSuccess(),{AuthenticatedCognitoRoleOverlyPermissiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.authenticatedCognitoRoleOverlyPermissiveCheck),CaCertificateExpiringCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.caCertificateExpiringCheck),CaCertificateKeyQualityCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.caCertificateKeyQualityCheck),ConflictingClientIdsCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.conflictingClientIdsCheck),DeviceCertificateExpiringCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.deviceCertificateExpiringCheck),DeviceCertificateKeyQualityCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.deviceCertificateKeyQualityCheck),DeviceCertificateSharedCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.deviceCertificateSharedCheck),IotPolicyOverlyPermissiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.iotPolicyOverlyPermissiveCheck),IotRoleAliasAllowsAccessToUnusedServicesCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.iotRoleAliasAllowsAccessToUnusedServicesCheck),IotRoleAliasOverlyPermissiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.iotRoleAliasOverlyPermissiveCheck),LoggingDisabledCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.loggingDisabledCheck),RevokedCaCertificateStillActiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.revokedCaCertificateStillActiveCheck),RevokedDeviceCertificateStillActiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.revokedDeviceCertificateStillActiveCheck),UnauthenticatedCognitoRoleOverlyPermissiveCheck:cfnAccountAuditConfigurationAuditCheckConfigurationPropertyToCloudFormation(properties.unauthenticatedCognitoRoleOverlyPermissiveCheck)}):properties}function CfnAccountAuditConfigurationAuditCheckConfigurationsPropertyFromCloudFormation(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("authenticatedCognitoRoleOverlyPermissiveCheck","AuthenticatedCognitoRoleOverlyPermissiveCheck",properties.AuthenticatedCognitoRoleOverlyPermissiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.AuthenticatedCognitoRoleOverlyPermissiveCheck):void 0),ret.addPropertyResult("caCertificateExpiringCheck","CaCertificateExpiringCheck",properties.CaCertificateExpiringCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.CaCertificateExpiringCheck):void 0),ret.addPropertyResult("caCertificateKeyQualityCheck","CaCertificateKeyQualityCheck",properties.CaCertificateKeyQualityCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.CaCertificateKeyQualityCheck):void 0),ret.addPropertyResult("conflictingClientIdsCheck","ConflictingClientIdsCheck",properties.ConflictingClientIdsCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.ConflictingClientIdsCheck):void 0),ret.addPropertyResult("deviceCertificateExpiringCheck","DeviceCertificateExpiringCheck",properties.DeviceCertificateExpiringCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.DeviceCertificateExpiringCheck):void 0),ret.addPropertyResult("deviceCertificateKeyQualityCheck","DeviceCertificateKeyQualityCheck",properties.DeviceCertificateKeyQualityCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.DeviceCertificateKeyQualityCheck):void 0),ret.addPropertyResult("deviceCertificateSharedCheck","DeviceCertificateSharedCheck",properties.DeviceCertificateSharedCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.DeviceCertificateSharedCheck):void 0),ret.addPropertyResult("iotPolicyOverlyPermissiveCheck","IotPolicyOverlyPermissiveCheck",properties.IotPolicyOverlyPermissiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.IotPolicyOverlyPermissiveCheck):void 0),ret.addPropertyResult("iotRoleAliasAllowsAccessToUnusedServicesCheck","IotRoleAliasAllowsAccessToUnusedServicesCheck",properties.IotRoleAliasAllowsAccessToUnusedServicesCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.IotRoleAliasAllowsAccessToUnusedServicesCheck):void 0),ret.addPropertyResult("iotRoleAliasOverlyPermissiveCheck","IotRoleAliasOverlyPermissiveCheck",properties.IotRoleAliasOverlyPermissiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.IotRoleAliasOverlyPermissiveCheck):void 0),ret.addPropertyResult("loggingDisabledCheck","LoggingDisabledCheck",properties.LoggingDisabledCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.LoggingDisabledCheck):void 0),ret.addPropertyResult("revokedCaCertificateStillActiveCheck","RevokedCaCertificateStillActiveCheck",properties.RevokedCaCertificateStillActiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.RevokedCaCertificateStillActiveCheck):void 0),ret.addPropertyResult("revokedDeviceCertificateStillActiveCheck","RevokedDeviceCertificateStillActiveCheck",properties.RevokedDeviceCertificateStillActiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.RevokedDeviceCertificateStillActiveCheck):void 0),ret.addPropertyResult("unauthenticatedCognitoRoleOverlyPermissiveCheck","UnauthenticatedCognitoRoleOverlyPermissiveCheck",properties.UnauthenticatedCognitoRoleOverlyPermissiveCheck!=null?CfnAccountAuditConfigurationAuditCheckConfigurationPropertyFromCloudFormation(properties.UnauthenticatedCognitoRoleOverlyPermissiveCheck):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccountAuditConfiguration_AuditNotificationTargetPropertyValidator(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("enabled",cdk.validateBoolean)(properties.enabled)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("targetArn",cdk.validateString)(properties.targetArn)),errors.wrap('supplied properties not correct for "AuditNotificationTargetProperty"')}function cfnAccountAuditConfigurationAuditNotificationTargetPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccountAuditConfiguration_AuditNotificationTargetPropertyValidator(properties).assertSuccess(),{Enabled:cdk.booleanToCloudFormation(properties.enabled),RoleArn:cdk.stringToCloudFormation(properties.roleArn),TargetArn:cdk.stringToCloudFormation(properties.targetArn)}):properties}function CfnAccountAuditConfigurationAuditNotificationTargetPropertyFromCloudFormation(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("enabled","Enabled",properties.Enabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("targetArn","TargetArn",properties.TargetArn!=null?cfn_parse.FromCloudFormation.getString(properties.TargetArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccountAuditConfiguration_AuditNotificationTargetConfigurationsPropertyValidator(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("sns",CfnAccountAuditConfiguration_AuditNotificationTargetPropertyValidator)(properties.sns)),errors.wrap('supplied properties not correct for "AuditNotificationTargetConfigurationsProperty"')}function cfnAccountAuditConfigurationAuditNotificationTargetConfigurationsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccountAuditConfiguration_AuditNotificationTargetConfigurationsPropertyValidator(properties).assertSuccess(),{Sns:cfnAccountAuditConfigurationAuditNotificationTargetPropertyToCloudFormation(properties.sns)}):properties}function CfnAccountAuditConfigurationAuditNotificationTargetConfigurationsPropertyFromCloudFormation(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("sns","Sns",properties.Sns!=null?CfnAccountAuditConfigurationAuditNotificationTargetPropertyFromCloudFormation(properties.Sns):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAuthorizerPropsValidator(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("authorizerFunctionArn",cdk.requiredValidator)(properties.authorizerFunctionArn)),errors.collect(cdk.propertyValidator("authorizerFunctionArn",cdk.validateString)(properties.authorizerFunctionArn)),errors.collect(cdk.propertyValidator("authorizerName",cdk.validateString)(properties.authorizerName)),errors.collect(cdk.propertyValidator("enableCachingForHttp",cdk.validateBoolean)(properties.enableCachingForHttp)),errors.collect(cdk.propertyValidator("signingDisabled",cdk.validateBoolean)(properties.signingDisabled)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("tokenKeyName",cdk.validateString)(properties.tokenKeyName)),errors.collect(cdk.propertyValidator("tokenSigningPublicKeys",cdk.hashValidator(cdk.validateString))(properties.tokenSigningPublicKeys)),errors.wrap('supplied properties not correct for "CfnAuthorizerProps"')}function cfnAuthorizerPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAuthorizerPropsValidator(properties).assertSuccess(),{AuthorizerFunctionArn:cdk.stringToCloudFormation(properties.authorizerFunctionArn),AuthorizerName:cdk.stringToCloudFormation(properties.authorizerName),EnableCachingForHttp:cdk.booleanToCloudFormation(properties.enableCachingForHttp),SigningDisabled:cdk.booleanToCloudFormation(properties.signingDisabled),Status:cdk.stringToCloudFormation(properties.status),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TokenKeyName:cdk.stringToCloudFormation(properties.tokenKeyName),TokenSigningPublicKeys:cdk.hashMapper(cdk.stringToCloudFormation)(properties.tokenSigningPublicKeys)}):properties}function CfnAuthorizerPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("authorizerFunctionArn","AuthorizerFunctionArn",cfn_parse.FromCloudFormation.getString(properties.AuthorizerFunctionArn)),ret.addPropertyResult("authorizerName","AuthorizerName",properties.AuthorizerName!=null?cfn_parse.FromCloudFormation.getString(properties.AuthorizerName):void 0),ret.addPropertyResult("enableCachingForHttp","EnableCachingForHttp",properties.EnableCachingForHttp!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EnableCachingForHttp):void 0),ret.addPropertyResult("signingDisabled","SigningDisabled",properties.SigningDisabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.SigningDisabled):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse.FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("tokenKeyName","TokenKeyName",properties.TokenKeyName!=null?cfn_parse.FromCloudFormation.getString(properties.TokenKeyName):void 0),ret.addPropertyResult("tokenSigningPublicKeys","TokenSigningPublicKeys",properties.TokenSigningPublicKeys!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.TokenSigningPublicKeys):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAuthorizer extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAuthorizer.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnAuthorizerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAuthorizer),error}cdk.requireProperty(props,"authorizerFunctionArn",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.authorizerFunctionArn=props.authorizerFunctionArn,this.authorizerName=props.authorizerName,this.enableCachingForHttp=props.enableCachingForHttp,this.signingDisabled=props.signingDisabled,this.status=props.status,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::Authorizer",props.tags,{tagPropertyName:"tags"}),this.tokenKeyName=props.tokenKeyName,this.tokenSigningPublicKeys=props.tokenSigningPublicKeys}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAuthorizerPropsFromCloudFormation(resourceProperties),ret=new CfnAuthorizer(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",CfnAuthorizer.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{authorizerFunctionArn:this.authorizerFunctionArn,authorizerName:this.authorizerName,enableCachingForHttp:this.enableCachingForHttp,signingDisabled:this.signingDisabled,status:this.status,tags:this.tags.renderTags(),tokenKeyName:this.tokenKeyName,tokenSigningPublicKeys:this.tokenSigningPublicKeys}}renderProperties(props){return cfnAuthorizerPropsToCloudFormation(props)}}exports.CfnAuthorizer=CfnAuthorizer,_b=JSII_RTTI_SYMBOL_1,CfnAuthorizer[_b]={fqn:"aws-cdk-lib.aws_iot.CfnAuthorizer",version:"2.51.1"},CfnAuthorizer.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Authorizer";function CfnCACertificatePropsValidator(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("autoRegistrationStatus",cdk.validateString)(properties.autoRegistrationStatus)),errors.collect(cdk.propertyValidator("caCertificatePem",cdk.requiredValidator)(properties.caCertificatePem)),errors.collect(cdk.propertyValidator("caCertificatePem",cdk.validateString)(properties.caCertificatePem)),errors.collect(cdk.propertyValidator("certificateMode",cdk.validateString)(properties.certificateMode)),errors.collect(cdk.propertyValidator("registrationConfig",CfnCACertificate_RegistrationConfigPropertyValidator)(properties.registrationConfig)),errors.collect(cdk.propertyValidator("removeAutoRegistration",cdk.validateBoolean)(properties.removeAutoRegistration)),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("verificationCertificatePem",cdk.validateString)(properties.verificationCertificatePem)),errors.wrap('supplied properties not correct for "CfnCACertificateProps"')}function cfnCACertificatePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCACertificatePropsValidator(properties).assertSuccess(),{CACertificatePem:cdk.stringToCloudFormation(properties.caCertificatePem),Status:cdk.stringToCloudFormation(properties.status),AutoRegistrationStatus:cdk.stringToCloudFormation(properties.autoRegistrationStatus),CertificateMode:cdk.stringToCloudFormation(properties.certificateMode),RegistrationConfig:cfnCACertificateRegistrationConfigPropertyToCloudFormation(properties.registrationConfig),RemoveAutoRegistration:cdk.booleanToCloudFormation(properties.removeAutoRegistration),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),VerificationCertificatePem:cdk.stringToCloudFormation(properties.verificationCertificatePem)}):properties}function CfnCACertificatePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("caCertificatePem","CACertificatePem",cfn_parse.FromCloudFormation.getString(properties.CACertificatePem)),ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addPropertyResult("autoRegistrationStatus","AutoRegistrationStatus",properties.AutoRegistrationStatus!=null?cfn_parse.FromCloudFormation.getString(properties.AutoRegistrationStatus):void 0),ret.addPropertyResult("certificateMode","CertificateMode",properties.CertificateMode!=null?cfn_parse.FromCloudFormation.getString(properties.CertificateMode):void 0),ret.addPropertyResult("registrationConfig","RegistrationConfig",properties.RegistrationConfig!=null?CfnCACertificateRegistrationConfigPropertyFromCloudFormation(properties.RegistrationConfig):void 0),ret.addPropertyResult("removeAutoRegistration","RemoveAutoRegistration",properties.RemoveAutoRegistration!=null?cfn_parse.FromCloudFormation.getBoolean(properties.RemoveAutoRegistration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("verificationCertificatePem","VerificationCertificatePem",properties.VerificationCertificatePem!=null?cfn_parse.FromCloudFormation.getString(properties.VerificationCertificatePem):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCACertificate extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnCACertificate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnCACertificateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCACertificate),error}cdk.requireProperty(props,"caCertificatePem",this),cdk.requireProperty(props,"status",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrId=cdk.Token.asString(this.getAtt("Id")),this.caCertificatePem=props.caCertificatePem,this.status=props.status,this.autoRegistrationStatus=props.autoRegistrationStatus,this.certificateMode=props.certificateMode,this.registrationConfig=props.registrationConfig,this.removeAutoRegistration=props.removeAutoRegistration,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::CACertificate",props.tags,{tagPropertyName:"tags"}),this.verificationCertificatePem=props.verificationCertificatePem}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCACertificatePropsFromCloudFormation(resourceProperties),ret=new CfnCACertificate(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",CfnCACertificate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{caCertificatePem:this.caCertificatePem,status:this.status,autoRegistrationStatus:this.autoRegistrationStatus,certificateMode:this.certificateMode,registrationConfig:this.registrationConfig,removeAutoRegistration:this.removeAutoRegistration,tags:this.tags.renderTags(),verificationCertificatePem:this.verificationCertificatePem}}renderProperties(props){return cfnCACertificatePropsToCloudFormation(props)}}exports.CfnCACertificate=CfnCACertificate,_c=JSII_RTTI_SYMBOL_1,CfnCACertificate[_c]={fqn:"aws-cdk-lib.aws_iot.CfnCACertificate",version:"2.51.1"},CfnCACertificate.CFN_RESOURCE_TYPE_NAME="AWS::IoT::CACertificate";function CfnCACertificate_RegistrationConfigPropertyValidator(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("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("templateBody",cdk.validateString)(properties.templateBody)),errors.collect(cdk.propertyValidator("templateName",cdk.validateString)(properties.templateName)),errors.wrap('supplied properties not correct for "RegistrationConfigProperty"')}function cfnCACertificateRegistrationConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCACertificate_RegistrationConfigPropertyValidator(properties).assertSuccess(),{RoleArn:cdk.stringToCloudFormation(properties.roleArn),TemplateBody:cdk.stringToCloudFormation(properties.templateBody),TemplateName:cdk.stringToCloudFormation(properties.templateName)}):properties}function CfnCACertificateRegistrationConfigPropertyFromCloudFormation(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("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("templateBody","TemplateBody",properties.TemplateBody!=null?cfn_parse.FromCloudFormation.getString(properties.TemplateBody):void 0),ret.addPropertyResult("templateName","TemplateName",properties.TemplateName!=null?cfn_parse.FromCloudFormation.getString(properties.TemplateName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCertificatePropsValidator(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("caCertificatePem",cdk.validateString)(properties.caCertificatePem)),errors.collect(cdk.propertyValidator("certificateMode",cdk.validateString)(properties.certificateMode)),errors.collect(cdk.propertyValidator("certificatePem",cdk.validateString)(properties.certificatePem)),errors.collect(cdk.propertyValidator("certificateSigningRequest",cdk.validateString)(properties.certificateSigningRequest)),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 "CfnCertificateProps"')}function cfnCertificatePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCertificatePropsValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status),CACertificatePem:cdk.stringToCloudFormation(properties.caCertificatePem),CertificateMode:cdk.stringToCloudFormation(properties.certificateMode),CertificatePem:cdk.stringToCloudFormation(properties.certificatePem),CertificateSigningRequest:cdk.stringToCloudFormation(properties.certificateSigningRequest)}):properties}function CfnCertificatePropsFromCloudFormation(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("caCertificatePem","CACertificatePem",properties.CACertificatePem!=null?cfn_parse.FromCloudFormation.getString(properties.CACertificatePem):void 0),ret.addPropertyResult("certificateMode","CertificateMode",properties.CertificateMode!=null?cfn_parse.FromCloudFormation.getString(properties.CertificateMode):void 0),ret.addPropertyResult("certificatePem","CertificatePem",properties.CertificatePem!=null?cfn_parse.FromCloudFormation.getString(properties.CertificatePem):void 0),ret.addPropertyResult("certificateSigningRequest","CertificateSigningRequest",properties.CertificateSigningRequest!=null?cfn_parse.FromCloudFormation.getString(properties.CertificateSigningRequest):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCertificate extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnCertificate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnCertificateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCertificate),error}cdk.requireProperty(props,"status",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrId=cdk.Token.asString(this.getAtt("Id")),this.status=props.status,this.caCertificatePem=props.caCertificatePem,this.certificateMode=props.certificateMode,this.certificatePem=props.certificatePem,this.certificateSigningRequest=props.certificateSigningRequest}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCertificatePropsFromCloudFormation(resourceProperties),ret=new CfnCertificate(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",CfnCertificate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{status:this.status,caCertificatePem:this.caCertificatePem,certificateMode:this.certificateMode,certificatePem:this.certificatePem,certificateSigningRequest:this.certificateSigningRequest}}renderProperties(props){return cfnCertificatePropsToCloudFormation(props)}}exports.CfnCertificate=CfnCertificate,_d=JSII_RTTI_SYMBOL_1,CfnCertificate[_d]={fqn:"aws-cdk-lib.aws_iot.CfnCertificate",version:"2.51.1"},CfnCertificate.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Certificate";function CfnCustomMetricPropsValidator(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("displayName",cdk.validateString)(properties.displayName)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("metricType",cdk.requiredValidator)(properties.metricType)),errors.collect(cdk.propertyValidator("metricType",cdk.validateString)(properties.metricType)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnCustomMetricProps"')}function cfnCustomMetricPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCustomMetricPropsValidator(properties).assertSuccess(),{MetricType:cdk.stringToCloudFormation(properties.metricType),DisplayName:cdk.stringToCloudFormation(properties.displayName),MetricName:cdk.stringToCloudFormation(properties.metricName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnCustomMetricPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("metricType","MetricType",cfn_parse.FromCloudFormation.getString(properties.MetricType)),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse.FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("metricName","MetricName",properties.MetricName!=null?cfn_parse.FromCloudFormation.getString(properties.MetricName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCustomMetric extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnCustomMetric.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnCustomMetricProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCustomMetric),error}cdk.requireProperty(props,"metricType",this),this.attrMetricArn=cdk.Token.asString(this.getAtt("MetricArn")),this.metricType=props.metricType,this.displayName=props.displayName,this.metricName=props.metricName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::CustomMetric",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCustomMetricPropsFromCloudFormation(resourceProperties),ret=new CfnCustomMetric(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",CfnCustomMetric.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{metricType:this.metricType,displayName:this.displayName,metricName:this.metricName,tags:this.tags.renderTags()}}renderProperties(props){return cfnCustomMetricPropsToCloudFormation(props)}}exports.CfnCustomMetric=CfnCustomMetric,_e=JSII_RTTI_SYMBOL_1,CfnCustomMetric[_e]={fqn:"aws-cdk-lib.aws_iot.CfnCustomMetric",version:"2.51.1"},CfnCustomMetric.CFN_RESOURCE_TYPE_NAME="AWS::IoT::CustomMetric";function CfnDimensionPropsValidator(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("stringValues",cdk.requiredValidator)(properties.stringValues)),errors.collect(cdk.propertyValidator("stringValues",cdk.listValidator(cdk.validateString))(properties.stringValues)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("type",cdk.requiredValidator)(properties.type)),errors.collect(cdk.propertyValidator("type",cdk.validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnDimensionProps"')}function cfnDimensionPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDimensionPropsValidator(properties).assertSuccess(),{StringValues:cdk.listMapper(cdk.stringToCloudFormation)(properties.stringValues),Type:cdk.stringToCloudFormation(properties.type),Name:cdk.stringToCloudFormation(properties.name),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDimensionPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("stringValues","StringValues",cfn_parse.FromCloudFormation.getStringArray(properties.StringValues)),ret.addPropertyResult("type","Type",cfn_parse.FromCloudFormation.getString(properties.Type)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDimension extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnDimension.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnDimensionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDimension),error}cdk.requireProperty(props,"stringValues",this),cdk.requireProperty(props,"type",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.stringValues=props.stringValues,this.type=props.type,this.name=props.name,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::Dimension",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDimensionPropsFromCloudFormation(resourceProperties),ret=new CfnDimension(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",CfnDimension.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{stringValues:this.stringValues,type:this.type,name:this.name,tags:this.tags.renderTags()}}renderProperties(props){return cfnDimensionPropsToCloudFormation(props)}}exports.CfnDimension=CfnDimension,_f=JSII_RTTI_SYMBOL_1,CfnDimension[_f]={fqn:"aws-cdk-lib.aws_iot.CfnDimension",version:"2.51.1"},CfnDimension.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Dimension";function CfnDomainConfigurationPropsValidator(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("authorizerConfig",CfnDomainConfiguration_AuthorizerConfigPropertyValidator)(properties.authorizerConfig)),errors.collect(cdk.propertyValidator("domainConfigurationName",cdk.validateString)(properties.domainConfigurationName)),errors.collect(cdk.propertyValidator("domainConfigurationStatus",cdk.validateString)(properties.domainConfigurationStatus)),errors.collect(cdk.propertyValidator("domainName",cdk.validateString)(properties.domainName)),errors.collect(cdk.propertyValidator("serverCertificateArns",cdk.listValidator(cdk.validateString))(properties.serverCertificateArns)),errors.collect(cdk.propertyValidator("serviceType",cdk.validateString)(properties.serviceType)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("validationCertificateArn",cdk.validateString)(properties.validationCertificateArn)),errors.wrap('supplied properties not correct for "CfnDomainConfigurationProps"')}function cfnDomainConfigurationPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDomainConfigurationPropsValidator(properties).assertSuccess(),{AuthorizerConfig:cfnDomainConfigurationAuthorizerConfigPropertyToCloudFormation(properties.authorizerConfig),DomainConfigurationName:cdk.stringToCloudFormation(properties.domainConfigurationName),DomainConfigurationStatus:cdk.stringToCloudFormation(properties.domainConfigurationStatus),DomainName:cdk.stringToCloudFormation(properties.domainName),ServerCertificateArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.serverCertificateArns),ServiceType:cdk.stringToCloudFormation(properties.serviceType),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),ValidationCertificateArn:cdk.stringToCloudFormation(properties.validationCertificateArn)}):properties}function CfnDomainConfigurationPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("authorizerConfig","AuthorizerConfig",properties.AuthorizerConfig!=null?CfnDomainConfigurationAuthorizerConfigPropertyFromCloudFormation(properties.AuthorizerConfig):void 0),ret.addPropertyResult("domainConfigurationName","DomainConfigurationName",properties.DomainConfigurationName!=null?cfn_parse.FromCloudFormation.getString(properties.DomainConfigurationName):void 0),ret.addPropertyResult("domainConfigurationStatus","DomainConfigurationStatus",properties.DomainConfigurationStatus!=null?cfn_parse.FromCloudFormation.getString(properties.DomainConfigurationStatus):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse.FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("serverCertificateArns","ServerCertificateArns",properties.ServerCertificateArns!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ServerCertificateArns):void 0),ret.addPropertyResult("serviceType","ServiceType",properties.ServiceType!=null?cfn_parse.FromCloudFormation.getString(properties.ServiceType):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("validationCertificateArn","ValidationCertificateArn",properties.ValidationCertificateArn!=null?cfn_parse.FromCloudFormation.getString(properties.ValidationCertificateArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDomainConfiguration extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnDomainConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnDomainConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDomainConfiguration),error}this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrDomainType=cdk.Token.asString(this.getAtt("DomainType")),this.attrServerCertificates=this.getAtt("ServerCertificates"),this.authorizerConfig=props.authorizerConfig,this.domainConfigurationName=props.domainConfigurationName,this.domainConfigurationStatus=props.domainConfigurationStatus,this.domainName=props.domainName,this.serverCertificateArns=props.serverCertificateArns,this.serviceType=props.serviceType,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::DomainConfiguration",props.tags,{tagPropertyName:"tags"}),this.validationCertificateArn=props.validationCertificateArn}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDomainConfigurationPropsFromCloudFormation(resourceProperties),ret=new CfnDomainConfiguration(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",CfnDomainConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{authorizerConfig:this.authorizerConfig,domainConfigurationName:this.domainConfigurationName,domainConfigurationStatus:this.domainConfigurationStatus,domainName:this.domainName,serverCertificateArns:this.serverCertificateArns,serviceType:this.serviceType,tags:this.tags.renderTags(),validationCertificateArn:this.validationCertificateArn}}renderProperties(props){return cfnDomainConfigurationPropsToCloudFormation(props)}}exports.CfnDomainConfiguration=CfnDomainConfiguration,_g=JSII_RTTI_SYMBOL_1,CfnDomainConfiguration[_g]={fqn:"aws-cdk-lib.aws_iot.CfnDomainConfiguration",version:"2.51.1"},CfnDomainConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::IoT::DomainConfiguration";function CfnDomainConfiguration_AuthorizerConfigPropertyValidator(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("allowAuthorizerOverride",cdk.validateBoolean)(properties.allowAuthorizerOverride)),errors.collect(cdk.propertyValidator("defaultAuthorizerName",cdk.validateString)(properties.defaultAuthorizerName)),errors.wrap('supplied properties not correct for "AuthorizerConfigProperty"')}function cfnDomainConfigurationAuthorizerConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDomainConfiguration_AuthorizerConfigPropertyValidator(properties).assertSuccess(),{AllowAuthorizerOverride:cdk.booleanToCloudFormation(properties.allowAuthorizerOverride),DefaultAuthorizerName:cdk.stringToCloudFormation(properties.defaultAuthorizerName)}):properties}function CfnDomainConfigurationAuthorizerConfigPropertyFromCloudFormation(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("allowAuthorizerOverride","AllowAuthorizerOverride",properties.AllowAuthorizerOverride!=null?cfn_parse.FromCloudFormation.getBoolean(properties.AllowAuthorizerOverride):void 0),ret.addPropertyResult("defaultAuthorizerName","DefaultAuthorizerName",properties.DefaultAuthorizerName!=null?cfn_parse.FromCloudFormation.getString(properties.DefaultAuthorizerName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDomainConfiguration_ServerCertificateSummaryPropertyValidator(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("serverCertificateArn",cdk.validateString)(properties.serverCertificateArn)),errors.collect(cdk.propertyValidator("serverCertificateStatus",cdk.validateString)(properties.serverCertificateStatus)),errors.collect(cdk.propertyValidator("serverCertificateStatusDetail",cdk.validateString)(properties.serverCertificateStatusDetail)),errors.wrap('supplied properties not correct for "ServerCertificateSummaryProperty"')}function cfnDomainConfigurationServerCertificateSummaryPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDomainConfiguration_ServerCertificateSummaryPropertyValidator(properties).assertSuccess(),{ServerCertificateArn:cdk.stringToCloudFormation(properties.serverCertificateArn),ServerCertificateStatus:cdk.stringToCloudFormation(properties.serverCertificateStatus),ServerCertificateStatusDetail:cdk.stringToCloudFormation(properties.serverCertificateStatusDetail)}):properties}function CfnDomainConfigurationServerCertificateSummaryPropertyFromCloudFormation(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("serverCertificateArn","ServerCertificateArn",properties.ServerCertificateArn!=null?cfn_parse.FromCloudFormation.getString(properties.ServerCertificateArn):void 0),ret.addPropertyResult("serverCertificateStatus","ServerCertificateStatus",properties.ServerCertificateStatus!=null?cfn_parse.FromCloudFormation.getString(properties.ServerCertificateStatus):void 0),ret.addPropertyResult("serverCertificateStatusDetail","ServerCertificateStatusDetail",properties.ServerCertificateStatusDetail!=null?cfn_parse.FromCloudFormation.getString(properties.ServerCertificateStatusDetail):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetMetricPropsValidator(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("aggregationField",cdk.validateString)(properties.aggregationField)),errors.collect(cdk.propertyValidator("aggregationType",CfnFleetMetric_AggregationTypePropertyValidator)(properties.aggregationType)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("indexName",cdk.validateString)(properties.indexName)),errors.collect(cdk.propertyValidator("metricName",cdk.requiredValidator)(properties.metricName)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("period",cdk.validateNumber)(properties.period)),errors.collect(cdk.propertyValidator("queryString",cdk.validateString)(properties.queryString)),errors.collect(cdk.propertyValidator("queryVersion",cdk.validateString)(properties.queryVersion)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),errors.wrap('supplied properties not correct for "CfnFleetMetricProps"')}function cfnFleetMetricPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnFleetMetricPropsValidator(properties).assertSuccess(),{MetricName:cdk.stringToCloudFormation(properties.metricName),AggregationField:cdk.stringToCloudFormation(properties.aggregationField),AggregationType:cfnFleetMetricAggregationTypePropertyToCloudFormation(properties.aggregationType),Description:cdk.stringToCloudFormation(properties.description),IndexName:cdk.stringToCloudFormation(properties.indexName),Period:cdk.numberToCloudFormation(properties.period),QueryString:cdk.stringToCloudFormation(properties.queryString),QueryVersion:cdk.stringToCloudFormation(properties.queryVersion),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),Unit:cdk.stringToCloudFormation(properties.unit)}):properties}function CfnFleetMetricPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("metricName","MetricName",cfn_parse.FromCloudFormation.getString(properties.MetricName)),ret.addPropertyResult("aggregationField","AggregationField",properties.AggregationField!=null?cfn_parse.FromCloudFormation.getString(properties.AggregationField):void 0),ret.addPropertyResult("aggregationType","AggregationType",properties.AggregationType!=null?CfnFleetMetricAggregationTypePropertyFromCloudFormation(properties.AggregationType):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("indexName","IndexName",properties.IndexName!=null?cfn_parse.FromCloudFormation.getString(properties.IndexName):void 0),ret.addPropertyResult("period","Period",properties.Period!=null?cfn_parse.FromCloudFormation.getNumber(properties.Period):void 0),ret.addPropertyResult("queryString","QueryString",properties.QueryString!=null?cfn_parse.FromCloudFormation.getString(properties.QueryString):void 0),ret.addPropertyResult("queryVersion","QueryVersion",properties.QueryVersion!=null?cfn_parse.FromCloudFormation.getString(properties.QueryVersion):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFleetMetric extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnFleetMetric.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnFleetMetricProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFleetMetric),error}cdk.requireProperty(props,"metricName",this),this.attrCreationDate=this.getAtt("CreationDate"),this.attrLastModifiedDate=this.getAtt("LastModifiedDate"),this.attrMetricArn=cdk.Token.asString(this.getAtt("MetricArn")),this.attrVersion=this.getAtt("Version"),this.metricName=props.metricName,this.aggregationField=props.aggregationField,this.aggregationType=props.aggregationType,this.description=props.description,this.indexName=props.indexName,this.period=props.period,this.queryString=props.queryString,this.queryVersion=props.queryVersion,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::FleetMetric",props.tags,{tagPropertyName:"tags"}),this.unit=props.unit}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFleetMetricPropsFromCloudFormation(resourceProperties),ret=new CfnFleetMetric(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",CfnFleetMetric.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{metricName:this.metricName,aggregationField:this.aggregationField,aggregationType:this.aggregationType,description:this.description,indexName:this.indexName,period:this.period,queryString:this.queryString,queryVersion:this.queryVersion,tags:this.tags.renderTags(),unit:this.unit}}renderProperties(props){return cfnFleetMetricPropsToCloudFormation(props)}}exports.CfnFleetMetric=CfnFleetMetric,_h=JSII_RTTI_SYMBOL_1,CfnFleetMetric[_h]={fqn:"aws-cdk-lib.aws_iot.CfnFleetMetric",version:"2.51.1"},CfnFleetMetric.CFN_RESOURCE_TYPE_NAME="AWS::IoT::FleetMetric";function CfnFleetMetric_AggregationTypePropertyValidator(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("values",cdk.requiredValidator)(properties.values)),errors.collect(cdk.propertyValidator("values",cdk.listValidator(cdk.validateString))(properties.values)),errors.wrap('supplied properties not correct for "AggregationTypeProperty"')}function cfnFleetMetricAggregationTypePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnFleetMetric_AggregationTypePropertyValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),Values:cdk.listMapper(cdk.stringToCloudFormation)(properties.values)}):properties}function CfnFleetMetricAggregationTypePropertyFromCloudFormation(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("values","Values",cfn_parse.FromCloudFormation.getStringArray(properties.Values)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobTemplatePropsValidator(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("abortConfig",cdk.validateObject)(properties.abortConfig)),errors.collect(cdk.propertyValidator("description",cdk.requiredValidator)(properties.description)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("document",cdk.validateString)(properties.document)),errors.collect(cdk.propertyValidator("documentSource",cdk.validateString)(properties.documentSource)),errors.collect(cdk.propertyValidator("jobArn",cdk.validateString)(properties.jobArn)),errors.collect(cdk.propertyValidator("jobExecutionsRetryConfig",cdk.validateObject)(properties.jobExecutionsRetryConfig)),errors.collect(cdk.propertyValidator("jobExecutionsRolloutConfig",cdk.validateObject)(properties.jobExecutionsRolloutConfig)),errors.collect(cdk.propertyValidator("jobTemplateId",cdk.requiredValidator)(properties.jobTemplateId)),errors.collect(cdk.propertyValidator("jobTemplateId",cdk.validateString)(properties.jobTemplateId)),errors.collect(cdk.propertyValidator("presignedUrlConfig",cdk.validateObject)(properties.presignedUrlConfig)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("timeoutConfig",cdk.validateObject)(properties.timeoutConfig)),errors.wrap('supplied properties not correct for "CfnJobTemplateProps"')}function cfnJobTemplatePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnJobTemplatePropsValidator(properties).assertSuccess(),{Description:cdk.stringToCloudFormation(properties.description),JobTemplateId:cdk.stringToCloudFormation(properties.jobTemplateId),AbortConfig:cdk.objectToCloudFormation(properties.abortConfig),Document:cdk.stringToCloudFormation(properties.document),DocumentSource:cdk.stringToCloudFormation(properties.documentSource),JobArn:cdk.stringToCloudFormation(properties.jobArn),JobExecutionsRetryConfig:cdk.objectToCloudFormation(properties.jobExecutionsRetryConfig),JobExecutionsRolloutConfig:cdk.objectToCloudFormation(properties.jobExecutionsRolloutConfig),PresignedUrlConfig:cdk.objectToCloudFormation(properties.presignedUrlConfig),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TimeoutConfig:cdk.objectToCloudFormation(properties.timeoutConfig)}):properties}function CfnJobTemplatePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",cfn_parse.FromCloudFormation.getString(properties.Description)),ret.addPropertyResult("jobTemplateId","JobTemplateId",cfn_parse.FromCloudFormation.getString(properties.JobTemplateId)),ret.addPropertyResult("abortConfig","AbortConfig",properties.AbortConfig!=null?cfn_parse.FromCloudFormation.getAny(properties.AbortConfig):void 0),ret.addPropertyResult("document","Document",properties.Document!=null?cfn_parse.FromCloudFormation.getString(properties.Document):void 0),ret.addPropertyResult("documentSource","DocumentSource",properties.DocumentSource!=null?cfn_parse.FromCloudFormation.getString(properties.DocumentSource):void 0),ret.addPropertyResult("jobArn","JobArn",properties.JobArn!=null?cfn_parse.FromCloudFormation.getString(properties.JobArn):void 0),ret.addPropertyResult("jobExecutionsRetryConfig","JobExecutionsRetryConfig",properties.JobExecutionsRetryConfig!=null?cfn_parse.FromCloudFormation.getAny(properties.JobExecutionsRetryConfig):void 0),ret.addPropertyResult("jobExecutionsRolloutConfig","JobExecutionsRolloutConfig",properties.JobExecutionsRolloutConfig!=null?cfn_parse.FromCloudFormation.getAny(properties.JobExecutionsRolloutConfig):void 0),ret.addPropertyResult("presignedUrlConfig","PresignedUrlConfig",properties.PresignedUrlConfig!=null?cfn_parse.FromCloudFormation.getAny(properties.PresignedUrlConfig):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("timeoutConfig","TimeoutConfig",properties.TimeoutConfig!=null?cfn_parse.FromCloudFormation.getAny(properties.TimeoutConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnJobTemplate extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnJobTemplate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnJobTemplateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnJobTemplate),error}cdk.requireProperty(props,"description",this),cdk.requireProperty(props,"jobTemplateId",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.description=props.description,this.jobTemplateId=props.jobTemplateId,this.abortConfig=props.abortConfig,this.document=props.document,this.documentSource=props.documentSource,this.jobArn=props.jobArn,this.jobExecutionsRetryConfig=props.jobExecutionsRetryConfig,this.jobExecutionsRolloutConfig=props.jobExecutionsRolloutConfig,this.presignedUrlConfig=props.presignedUrlConfig,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::JobTemplate",props.tags,{tagPropertyName:"tags"}),this.timeoutConfig=props.timeoutConfig}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnJobTemplatePropsFromCloudFormation(resourceProperties),ret=new CfnJobTemplate(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",CfnJobTemplate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{description:this.description,jobTemplateId:this.jobTemplateId,abortConfig:this.abortConfig,document:this.document,documentSource:this.documentSource,jobArn:this.jobArn,jobExecutionsRetryConfig:this.jobExecutionsRetryConfig,jobExecutionsRolloutConfig:this.jobExecutionsRolloutConfig,presignedUrlConfig:this.presignedUrlConfig,tags:this.tags.renderTags(),timeoutConfig:this.timeoutConfig}}renderProperties(props){return cfnJobTemplatePropsToCloudFormation(props)}}exports.CfnJobTemplate=CfnJobTemplate,_j=JSII_RTTI_SYMBOL_1,CfnJobTemplate[_j]={fqn:"aws-cdk-lib.aws_iot.CfnJobTemplate",version:"2.51.1"},CfnJobTemplate.CFN_RESOURCE_TYPE_NAME="AWS::IoT::JobTemplate";function CfnLoggingPropsValidator(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("defaultLogLevel",cdk.requiredValidator)(properties.defaultLogLevel)),errors.collect(cdk.propertyValidator("defaultLogLevel",cdk.validateString)(properties.defaultLogLevel)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "CfnLoggingProps"')}function cfnLoggingPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLoggingPropsValidator(properties).assertSuccess(),{AccountId:cdk.stringToCloudFormation(properties.accountId),DefaultLogLevel:cdk.stringToCloudFormation(properties.defaultLogLevel),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnLoggingPropsFromCloudFormation(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("defaultLogLevel","DefaultLogLevel",cfn_parse.FromCloudFormation.getString(properties.DefaultLogLevel)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLogging extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnLogging.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnLoggingProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLogging),error}cdk.requireProperty(props,"accountId",this),cdk.requireProperty(props,"defaultLogLevel",this),cdk.requireProperty(props,"roleArn",this),this.accountId=props.accountId,this.defaultLogLevel=props.defaultLogLevel,this.roleArn=props.roleArn}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLoggingPropsFromCloudFormation(resourceProperties),ret=new CfnLogging(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",CfnLogging.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{accountId:this.accountId,defaultLogLevel:this.defaultLogLevel,roleArn:this.roleArn}}renderProperties(props){return cfnLoggingPropsToCloudFormation(props)}}exports.CfnLogging=CfnLogging,_k=JSII_RTTI_SYMBOL_1,CfnLogging[_k]={fqn:"aws-cdk-lib.aws_iot.CfnLogging",version:"2.51.1"},CfnLogging.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Logging";function CfnMitigationActionPropsValidator(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("actionName",cdk.validateString)(properties.actionName)),errors.collect(cdk.propertyValidator("actionParams",cdk.requiredValidator)(properties.actionParams)),errors.collect(cdk.propertyValidator("actionParams",CfnMitigationAction_ActionParamsPropertyValidator)(properties.actionParams)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnMitigationActionProps"')}function cfnMitigationActionPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationActionPropsValidator(properties).assertSuccess(),{ActionParams:cfnMitigationActionActionParamsPropertyToCloudFormation(properties.actionParams),RoleArn:cdk.stringToCloudFormation(properties.roleArn),ActionName:cdk.stringToCloudFormation(properties.actionName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnMitigationActionPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("actionParams","ActionParams",CfnMitigationActionActionParamsPropertyFromCloudFormation(properties.ActionParams)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("actionName","ActionName",properties.ActionName!=null?cfn_parse.FromCloudFormation.getString(properties.ActionName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMitigationAction extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnMitigationAction.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnMitigationActionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMitigationAction),error}cdk.requireProperty(props,"actionParams",this),cdk.requireProperty(props,"roleArn",this),this.attrMitigationActionArn=cdk.Token.asString(this.getAtt("MitigationActionArn")),this.attrMitigationActionId=cdk.Token.asString(this.getAtt("MitigationActionId")),this.actionParams=props.actionParams,this.roleArn=props.roleArn,this.actionName=props.actionName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::MitigationAction",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMitigationActionPropsFromCloudFormation(resourceProperties),ret=new CfnMitigationAction(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",CfnMitigationAction.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{actionParams:this.actionParams,roleArn:this.roleArn,actionName:this.actionName,tags:this.tags.renderTags()}}renderProperties(props){return cfnMitigationActionPropsToCloudFormation(props)}}exports.CfnMitigationAction=CfnMitigationAction,_l=JSII_RTTI_SYMBOL_1,CfnMitigationAction[_l]={fqn:"aws-cdk-lib.aws_iot.CfnMitigationAction",version:"2.51.1"},CfnMitigationAction.CFN_RESOURCE_TYPE_NAME="AWS::IoT::MitigationAction";function CfnMitigationAction_ActionParamsPropertyValidator(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("addThingsToThingGroupParams",CfnMitigationAction_AddThingsToThingGroupParamsPropertyValidator)(properties.addThingsToThingGroupParams)),errors.collect(cdk.propertyValidator("enableIoTLoggingParams",CfnMitigationAction_EnableIoTLoggingParamsPropertyValidator)(properties.enableIoTLoggingParams)),errors.collect(cdk.propertyValidator("publishFindingToSnsParams",CfnMitigationAction_PublishFindingToSnsParamsPropertyValidator)(properties.publishFindingToSnsParams)),errors.collect(cdk.propertyValidator("replaceDefaultPolicyVersionParams",CfnMitigationAction_ReplaceDefaultPolicyVersionParamsPropertyValidator)(properties.replaceDefaultPolicyVersionParams)),errors.collect(cdk.propertyValidator("updateCaCertificateParams",CfnMitigationAction_UpdateCACertificateParamsPropertyValidator)(properties.updateCaCertificateParams)),errors.collect(cdk.propertyValidator("updateDeviceCertificateParams",CfnMitigationAction_UpdateDeviceCertificateParamsPropertyValidator)(properties.updateDeviceCertificateParams)),errors.wrap('supplied properties not correct for "ActionParamsProperty"')}function cfnMitigationActionActionParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_ActionParamsPropertyValidator(properties).assertSuccess(),{AddThingsToThingGroupParams:cfnMitigationActionAddThingsToThingGroupParamsPropertyToCloudFormation(properties.addThingsToThingGroupParams),EnableIoTLoggingParams:cfnMitigationActionEnableIoTLoggingParamsPropertyToCloudFormation(properties.enableIoTLoggingParams),PublishFindingToSnsParams:cfnMitigationActionPublishFindingToSnsParamsPropertyToCloudFormation(properties.publishFindingToSnsParams),ReplaceDefaultPolicyVersionParams:cfnMitigationActionReplaceDefaultPolicyVersionParamsPropertyToCloudFormation(properties.replaceDefaultPolicyVersionParams),UpdateCACertificateParams:cfnMitigationActionUpdateCACertificateParamsPropertyToCloudFormation(properties.updateCaCertificateParams),UpdateDeviceCertificateParams:cfnMitigationActionUpdateDeviceCertificateParamsPropertyToCloudFormation(properties.updateDeviceCertificateParams)}):properties}function CfnMitigationActionActionParamsPropertyFromCloudFormation(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("addThingsToThingGroupParams","AddThingsToThingGroupParams",properties.AddThingsToThingGroupParams!=null?CfnMitigationActionAddThingsToThingGroupParamsPropertyFromCloudFormation(properties.AddThingsToThingGroupParams):void 0),ret.addPropertyResult("enableIoTLoggingParams","EnableIoTLoggingParams",properties.EnableIoTLoggingParams!=null?CfnMitigationActionEnableIoTLoggingParamsPropertyFromCloudFormation(properties.EnableIoTLoggingParams):void 0),ret.addPropertyResult("publishFindingToSnsParams","PublishFindingToSnsParams",properties.PublishFindingToSnsParams!=null?CfnMitigationActionPublishFindingToSnsParamsPropertyFromCloudFormation(properties.PublishFindingToSnsParams):void 0),ret.addPropertyResult("replaceDefaultPolicyVersionParams","ReplaceDefaultPolicyVersionParams",properties.ReplaceDefaultPolicyVersionParams!=null?CfnMitigationActionReplaceDefaultPolicyVersionParamsPropertyFromCloudFormation(properties.ReplaceDefaultPolicyVersionParams):void 0),ret.addPropertyResult("updateCaCertificateParams","UpdateCACertificateParams",properties.UpdateCACertificateParams!=null?CfnMitigationActionUpdateCACertificateParamsPropertyFromCloudFormation(properties.UpdateCACertificateParams):void 0),ret.addPropertyResult("updateDeviceCertificateParams","UpdateDeviceCertificateParams",properties.UpdateDeviceCertificateParams!=null?CfnMitigationActionUpdateDeviceCertificateParamsPropertyFromCloudFormation(properties.UpdateDeviceCertificateParams):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_AddThingsToThingGroupParamsPropertyValidator(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("overrideDynamicGroups",cdk.validateBoolean)(properties.overrideDynamicGroups)),errors.collect(cdk.propertyValidator("thingGroupNames",cdk.requiredValidator)(properties.thingGroupNames)),errors.collect(cdk.propertyValidator("thingGroupNames",cdk.listValidator(cdk.validateString))(properties.thingGroupNames)),errors.wrap('supplied properties not correct for "AddThingsToThingGroupParamsProperty"')}function cfnMitigationActionAddThingsToThingGroupParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_AddThingsToThingGroupParamsPropertyValidator(properties).assertSuccess(),{OverrideDynamicGroups:cdk.booleanToCloudFormation(properties.overrideDynamicGroups),ThingGroupNames:cdk.listMapper(cdk.stringToCloudFormation)(properties.thingGroupNames)}):properties}function CfnMitigationActionAddThingsToThingGroupParamsPropertyFromCloudFormation(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("overrideDynamicGroups","OverrideDynamicGroups",properties.OverrideDynamicGroups!=null?cfn_parse.FromCloudFormation.getBoolean(properties.OverrideDynamicGroups):void 0),ret.addPropertyResult("thingGroupNames","ThingGroupNames",cfn_parse.FromCloudFormation.getStringArray(properties.ThingGroupNames)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_EnableIoTLoggingParamsPropertyValidator(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("logLevel",cdk.requiredValidator)(properties.logLevel)),errors.collect(cdk.propertyValidator("logLevel",cdk.validateString)(properties.logLevel)),errors.collect(cdk.propertyValidator("roleArnForLogging",cdk.requiredValidator)(properties.roleArnForLogging)),errors.collect(cdk.propertyValidator("roleArnForLogging",cdk.validateString)(properties.roleArnForLogging)),errors.wrap('supplied properties not correct for "EnableIoTLoggingParamsProperty"')}function cfnMitigationActionEnableIoTLoggingParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_EnableIoTLoggingParamsPropertyValidator(properties).assertSuccess(),{LogLevel:cdk.stringToCloudFormation(properties.logLevel),RoleArnForLogging:cdk.stringToCloudFormation(properties.roleArnForLogging)}):properties}function CfnMitigationActionEnableIoTLoggingParamsPropertyFromCloudFormation(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("logLevel","LogLevel",cfn_parse.FromCloudFormation.getString(properties.LogLevel)),ret.addPropertyResult("roleArnForLogging","RoleArnForLogging",cfn_parse.FromCloudFormation.getString(properties.RoleArnForLogging)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_PublishFindingToSnsParamsPropertyValidator(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("topicArn",cdk.requiredValidator)(properties.topicArn)),errors.collect(cdk.propertyValidator("topicArn",cdk.validateString)(properties.topicArn)),errors.wrap('supplied properties not correct for "PublishFindingToSnsParamsProperty"')}function cfnMitigationActionPublishFindingToSnsParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_PublishFindingToSnsParamsPropertyValidator(properties).assertSuccess(),{TopicArn:cdk.stringToCloudFormation(properties.topicArn)}):properties}function CfnMitigationActionPublishFindingToSnsParamsPropertyFromCloudFormation(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("topicArn","TopicArn",cfn_parse.FromCloudFormation.getString(properties.TopicArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_ReplaceDefaultPolicyVersionParamsPropertyValidator(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("templateName",cdk.requiredValidator)(properties.templateName)),errors.collect(cdk.propertyValidator("templateName",cdk.validateString)(properties.templateName)),errors.wrap('supplied properties not correct for "ReplaceDefaultPolicyVersionParamsProperty"')}function cfnMitigationActionReplaceDefaultPolicyVersionParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_ReplaceDefaultPolicyVersionParamsPropertyValidator(properties).assertSuccess(),{TemplateName:cdk.stringToCloudFormation(properties.templateName)}):properties}function CfnMitigationActionReplaceDefaultPolicyVersionParamsPropertyFromCloudFormation(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("templateName","TemplateName",cfn_parse.FromCloudFormation.getString(properties.TemplateName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_UpdateCACertificateParamsPropertyValidator(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("action",cdk.requiredValidator)(properties.action)),errors.collect(cdk.propertyValidator("action",cdk.validateString)(properties.action)),errors.wrap('supplied properties not correct for "UpdateCACertificateParamsProperty"')}function cfnMitigationActionUpdateCACertificateParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_UpdateCACertificateParamsPropertyValidator(properties).assertSuccess(),{Action:cdk.stringToCloudFormation(properties.action)}):properties}function CfnMitigationActionUpdateCACertificateParamsPropertyFromCloudFormation(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("action","Action",cfn_parse.FromCloudFormation.getString(properties.Action)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMitigationAction_UpdateDeviceCertificateParamsPropertyValidator(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("action",cdk.requiredValidator)(properties.action)),errors.collect(cdk.propertyValidator("action",cdk.validateString)(properties.action)),errors.wrap('supplied properties not correct for "UpdateDeviceCertificateParamsProperty"')}function cfnMitigationActionUpdateDeviceCertificateParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMitigationAction_UpdateDeviceCertificateParamsPropertyValidator(properties).assertSuccess(),{Action:cdk.stringToCloudFormation(properties.action)}):properties}function CfnMitigationActionUpdateDeviceCertificateParamsPropertyFromCloudFormation(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("action","Action",cfn_parse.FromCloudFormation.getString(properties.Action)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPolicyPropsValidator(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("policyDocument",cdk.requiredValidator)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyDocument",cdk.validateObject)(properties.policyDocument)),errors.collect(cdk.propertyValidator("policyName",cdk.validateString)(properties.policyName)),errors.wrap('supplied properties not correct for "CfnPolicyProps"')}function cfnPolicyPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPolicyPropsValidator(properties).assertSuccess(),{PolicyDocument:cdk.objectToCloudFormation(properties.policyDocument),PolicyName:cdk.stringToCloudFormation(properties.policyName)}):properties}function CfnPolicyPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("policyDocument","PolicyDocument",cfn_parse.FromCloudFormation.getAny(properties.PolicyDocument)),ret.addPropertyResult("policyName","PolicyName",properties.PolicyName!=null?cfn_parse.FromCloudFormation.getString(properties.PolicyName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPolicy extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPolicy),error}cdk.requireProperty(props,"policyDocument",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrId=cdk.Token.asString(this.getAtt("Id")),this.policyDocument=props.policyDocument,this.policyName=props.policyName}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPolicyPropsFromCloudFormation(resourceProperties),ret=new CfnPolicy(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",CfnPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{policyDocument:this.policyDocument,policyName:this.policyName}}renderProperties(props){return cfnPolicyPropsToCloudFormation(props)}}exports.CfnPolicy=CfnPolicy,_m=JSII_RTTI_SYMBOL_1,CfnPolicy[_m]={fqn:"aws-cdk-lib.aws_iot.CfnPolicy",version:"2.51.1"},CfnPolicy.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Policy";function CfnPolicyPrincipalAttachmentPropsValidator(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("policyName",cdk.requiredValidator)(properties.policyName)),errors.collect(cdk.propertyValidator("policyName",cdk.validateString)(properties.policyName)),errors.collect(cdk.propertyValidator("principal",cdk.requiredValidator)(properties.principal)),errors.collect(cdk.propertyValidator("principal",cdk.validateString)(properties.principal)),errors.wrap('supplied properties not correct for "CfnPolicyPrincipalAttachmentProps"')}function cfnPolicyPrincipalAttachmentPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnPolicyPrincipalAttachmentPropsValidator(properties).assertSuccess(),{PolicyName:cdk.stringToCloudFormation(properties.policyName),Principal:cdk.stringToCloudFormation(properties.principal)}):properties}function CfnPolicyPrincipalAttachmentPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("policyName","PolicyName",cfn_parse.FromCloudFormation.getString(properties.PolicyName)),ret.addPropertyResult("principal","Principal",cfn_parse.FromCloudFormation.getString(properties.Principal)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPolicyPrincipalAttachment extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnPolicyPrincipalAttachment.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnPolicyPrincipalAttachmentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPolicyPrincipalAttachment),error}cdk.requireProperty(props,"policyName",this),cdk.requireProperty(props,"principal",this),this.policyName=props.policyName,this.principal=props.principal}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPolicyPrincipalAttachmentPropsFromCloudFormation(resourceProperties),ret=new CfnPolicyPrincipalAttachment(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",CfnPolicyPrincipalAttachment.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{policyName:this.policyName,principal:this.principal}}renderProperties(props){return cfnPolicyPrincipalAttachmentPropsToCloudFormation(props)}}exports.CfnPolicyPrincipalAttachment=CfnPolicyPrincipalAttachment,_o=JSII_RTTI_SYMBOL_1,CfnPolicyPrincipalAttachment[_o]={fqn:"aws-cdk-lib.aws_iot.CfnPolicyPrincipalAttachment",version:"2.51.1"},CfnPolicyPrincipalAttachment.CFN_RESOURCE_TYPE_NAME="AWS::IoT::PolicyPrincipalAttachment";function CfnProvisioningTemplatePropsValidator(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("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("enabled",cdk.validateBoolean)(properties.enabled)),errors.collect(cdk.propertyValidator("preProvisioningHook",CfnProvisioningTemplate_ProvisioningHookPropertyValidator)(properties.preProvisioningHook)),errors.collect(cdk.propertyValidator("provisioningRoleArn",cdk.requiredValidator)(properties.provisioningRoleArn)),errors.collect(cdk.propertyValidator("provisioningRoleArn",cdk.validateString)(properties.provisioningRoleArn)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("templateBody",cdk.requiredValidator)(properties.templateBody)),errors.collect(cdk.propertyValidator("templateBody",cdk.validateString)(properties.templateBody)),errors.collect(cdk.propertyValidator("templateName",cdk.validateString)(properties.templateName)),errors.collect(cdk.propertyValidator("templateType",cdk.validateString)(properties.templateType)),errors.wrap('supplied properties not correct for "CfnProvisioningTemplateProps"')}function cfnProvisioningTemplatePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnProvisioningTemplatePropsValidator(properties).assertSuccess(),{ProvisioningRoleArn:cdk.stringToCloudFormation(properties.provisioningRoleArn),TemplateBody:cdk.stringToCloudFormation(properties.templateBody),Description:cdk.stringToCloudFormation(properties.description),Enabled:cdk.booleanToCloudFormation(properties.enabled),PreProvisioningHook:cfnProvisioningTemplateProvisioningHookPropertyToCloudFormation(properties.preProvisioningHook),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TemplateName:cdk.stringToCloudFormation(properties.templateName),TemplateType:cdk.stringToCloudFormation(properties.templateType)}):properties}function CfnProvisioningTemplatePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("provisioningRoleArn","ProvisioningRoleArn",cfn_parse.FromCloudFormation.getString(properties.ProvisioningRoleArn)),ret.addPropertyResult("templateBody","TemplateBody",cfn_parse.FromCloudFormation.getString(properties.TemplateBody)),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("preProvisioningHook","PreProvisioningHook",properties.PreProvisioningHook!=null?CfnProvisioningTemplateProvisioningHookPropertyFromCloudFormation(properties.PreProvisioningHook):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("templateName","TemplateName",properties.TemplateName!=null?cfn_parse.FromCloudFormation.getString(properties.TemplateName):void 0),ret.addPropertyResult("templateType","TemplateType",properties.TemplateType!=null?cfn_parse.FromCloudFormation.getString(properties.TemplateType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnProvisioningTemplate extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnProvisioningTemplate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnProvisioningTemplateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnProvisioningTemplate),error}cdk.requireProperty(props,"provisioningRoleArn",this),cdk.requireProperty(props,"templateBody",this),this.attrTemplateArn=cdk.Token.asString(this.getAtt("TemplateArn")),this.provisioningRoleArn=props.provisioningRoleArn,this.templateBody=props.templateBody,this.description=props.description,this.enabled=props.enabled,this.preProvisioningHook=props.preProvisioningHook,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::ProvisioningTemplate",props.tags,{tagPropertyName:"tags"}),this.templateName=props.templateName,this.templateType=props.templateType}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnProvisioningTemplatePropsFromCloudFormation(resourceProperties),ret=new CfnProvisioningTemplate(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",CfnProvisioningTemplate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{provisioningRoleArn:this.provisioningRoleArn,templateBody:this.templateBody,description:this.description,enabled:this.enabled,preProvisioningHook:this.preProvisioningHook,tags:this.tags.renderTags(),templateName:this.templateName,templateType:this.templateType}}renderProperties(props){return cfnProvisioningTemplatePropsToCloudFormation(props)}}exports.CfnProvisioningTemplate=CfnProvisioningTemplate,_p=JSII_RTTI_SYMBOL_1,CfnProvisioningTemplate[_p]={fqn:"aws-cdk-lib.aws_iot.CfnProvisioningTemplate",version:"2.51.1"},CfnProvisioningTemplate.CFN_RESOURCE_TYPE_NAME="AWS::IoT::ProvisioningTemplate";function CfnProvisioningTemplate_ProvisioningHookPropertyValidator(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("payloadVersion",cdk.validateString)(properties.payloadVersion)),errors.collect(cdk.propertyValidator("targetArn",cdk.validateString)(properties.targetArn)),errors.wrap('supplied properties not correct for "ProvisioningHookProperty"')}function cfnProvisioningTemplateProvisioningHookPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnProvisioningTemplate_ProvisioningHookPropertyValidator(properties).assertSuccess(),{PayloadVersion:cdk.stringToCloudFormation(properties.payloadVersion),TargetArn:cdk.stringToCloudFormation(properties.targetArn)}):properties}function CfnProvisioningTemplateProvisioningHookPropertyFromCloudFormation(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("payloadVersion","PayloadVersion",properties.PayloadVersion!=null?cfn_parse.FromCloudFormation.getString(properties.PayloadVersion):void 0),ret.addPropertyResult("targetArn","TargetArn",properties.TargetArn!=null?cfn_parse.FromCloudFormation.getString(properties.TargetArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResourceSpecificLoggingPropsValidator(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("logLevel",cdk.requiredValidator)(properties.logLevel)),errors.collect(cdk.propertyValidator("logLevel",cdk.validateString)(properties.logLevel)),errors.collect(cdk.propertyValidator("targetName",cdk.requiredValidator)(properties.targetName)),errors.collect(cdk.propertyValidator("targetName",cdk.validateString)(properties.targetName)),errors.collect(cdk.propertyValidator("targetType",cdk.requiredValidator)(properties.targetType)),errors.collect(cdk.propertyValidator("targetType",cdk.validateString)(properties.targetType)),errors.wrap('supplied properties not correct for "CfnResourceSpecificLoggingProps"')}function cfnResourceSpecificLoggingPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnResourceSpecificLoggingPropsValidator(properties).assertSuccess(),{LogLevel:cdk.stringToCloudFormation(properties.logLevel),TargetName:cdk.stringToCloudFormation(properties.targetName),TargetType:cdk.stringToCloudFormation(properties.targetType)}):properties}function CfnResourceSpecificLoggingPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("logLevel","LogLevel",cfn_parse.FromCloudFormation.getString(properties.LogLevel)),ret.addPropertyResult("targetName","TargetName",cfn_parse.FromCloudFormation.getString(properties.TargetName)),ret.addPropertyResult("targetType","TargetType",cfn_parse.FromCloudFormation.getString(properties.TargetType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResourceSpecificLogging extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnResourceSpecificLogging.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnResourceSpecificLoggingProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResourceSpecificLogging),error}cdk.requireProperty(props,"logLevel",this),cdk.requireProperty(props,"targetName",this),cdk.requireProperty(props,"targetType",this),this.attrTargetId=cdk.Token.asString(this.getAtt("TargetId")),this.logLevel=props.logLevel,this.targetName=props.targetName,this.targetType=props.targetType}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResourceSpecificLoggingPropsFromCloudFormation(resourceProperties),ret=new CfnResourceSpecificLogging(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",CfnResourceSpecificLogging.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{logLevel:this.logLevel,targetName:this.targetName,targetType:this.targetType}}renderProperties(props){return cfnResourceSpecificLoggingPropsToCloudFormation(props)}}exports.CfnResourceSpecificLogging=CfnResourceSpecificLogging,_q=JSII_RTTI_SYMBOL_1,CfnResourceSpecificLogging[_q]={fqn:"aws-cdk-lib.aws_iot.CfnResourceSpecificLogging",version:"2.51.1"},CfnResourceSpecificLogging.CFN_RESOURCE_TYPE_NAME="AWS::IoT::ResourceSpecificLogging";function CfnRoleAliasPropsValidator(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("credentialDurationSeconds",cdk.validateNumber)(properties.credentialDurationSeconds)),errors.collect(cdk.propertyValidator("roleAlias",cdk.validateString)(properties.roleAlias)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnRoleAliasProps"')}function cfnRoleAliasPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnRoleAliasPropsValidator(properties).assertSuccess(),{RoleArn:cdk.stringToCloudFormation(properties.roleArn),CredentialDurationSeconds:cdk.numberToCloudFormation(properties.credentialDurationSeconds),RoleAlias:cdk.stringToCloudFormation(properties.roleAlias),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnRoleAliasPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("credentialDurationSeconds","CredentialDurationSeconds",properties.CredentialDurationSeconds!=null?cfn_parse.FromCloudFormation.getNumber(properties.CredentialDurationSeconds):void 0),ret.addPropertyResult("roleAlias","RoleAlias",properties.RoleAlias!=null?cfn_parse.FromCloudFormation.getString(properties.RoleAlias):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRoleAlias extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnRoleAlias.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnRoleAliasProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRoleAlias),error}cdk.requireProperty(props,"roleArn",this),this.attrRoleAliasArn=cdk.Token.asString(this.getAtt("RoleAliasArn")),this.roleArn=props.roleArn,this.credentialDurationSeconds=props.credentialDurationSeconds,this.roleAlias=props.roleAlias,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::RoleAlias",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRoleAliasPropsFromCloudFormation(resourceProperties),ret=new CfnRoleAlias(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",CfnRoleAlias.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{roleArn:this.roleArn,credentialDurationSeconds:this.credentialDurationSeconds,roleAlias:this.roleAlias,tags:this.tags.renderTags()}}renderProperties(props){return cfnRoleAliasPropsToCloudFormation(props)}}exports.CfnRoleAlias=CfnRoleAlias,_r=JSII_RTTI_SYMBOL_1,CfnRoleAlias[_r]={fqn:"aws-cdk-lib.aws_iot.CfnRoleAlias",version:"2.51.1"},CfnRoleAlias.CFN_RESOURCE_TYPE_NAME="AWS::IoT::RoleAlias";function CfnScheduledAuditPropsValidator(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("dayOfMonth",cdk.validateString)(properties.dayOfMonth)),errors.collect(cdk.propertyValidator("dayOfWeek",cdk.validateString)(properties.dayOfWeek)),errors.collect(cdk.propertyValidator("frequency",cdk.requiredValidator)(properties.frequency)),errors.collect(cdk.propertyValidator("frequency",cdk.validateString)(properties.frequency)),errors.collect(cdk.propertyValidator("scheduledAuditName",cdk.validateString)(properties.scheduledAuditName)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("targetCheckNames",cdk.requiredValidator)(properties.targetCheckNames)),errors.collect(cdk.propertyValidator("targetCheckNames",cdk.listValidator(cdk.validateString))(properties.targetCheckNames)),errors.wrap('supplied properties not correct for "CfnScheduledAuditProps"')}function cfnScheduledAuditPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnScheduledAuditPropsValidator(properties).assertSuccess(),{Frequency:cdk.stringToCloudFormation(properties.frequency),TargetCheckNames:cdk.listMapper(cdk.stringToCloudFormation)(properties.targetCheckNames),DayOfMonth:cdk.stringToCloudFormation(properties.dayOfMonth),DayOfWeek:cdk.stringToCloudFormation(properties.dayOfWeek),ScheduledAuditName:cdk.stringToCloudFormation(properties.scheduledAuditName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnScheduledAuditPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("frequency","Frequency",cfn_parse.FromCloudFormation.getString(properties.Frequency)),ret.addPropertyResult("targetCheckNames","TargetCheckNames",cfn_parse.FromCloudFormation.getStringArray(properties.TargetCheckNames)),ret.addPropertyResult("dayOfMonth","DayOfMonth",properties.DayOfMonth!=null?cfn_parse.FromCloudFormation.getString(properties.DayOfMonth):void 0),ret.addPropertyResult("dayOfWeek","DayOfWeek",properties.DayOfWeek!=null?cfn_parse.FromCloudFormation.getString(properties.DayOfWeek):void 0),ret.addPropertyResult("scheduledAuditName","ScheduledAuditName",properties.ScheduledAuditName!=null?cfn_parse.FromCloudFormation.getString(properties.ScheduledAuditName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnScheduledAudit extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnScheduledAudit.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnScheduledAuditProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnScheduledAudit),error}cdk.requireProperty(props,"frequency",this),cdk.requireProperty(props,"targetCheckNames",this),this.attrScheduledAuditArn=cdk.Token.asString(this.getAtt("ScheduledAuditArn")),this.frequency=props.frequency,this.targetCheckNames=props.targetCheckNames,this.dayOfMonth=props.dayOfMonth,this.dayOfWeek=props.dayOfWeek,this.scheduledAuditName=props.scheduledAuditName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::ScheduledAudit",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnScheduledAuditPropsFromCloudFormation(resourceProperties),ret=new CfnScheduledAudit(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",CfnScheduledAudit.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{frequency:this.frequency,targetCheckNames:this.targetCheckNames,dayOfMonth:this.dayOfMonth,dayOfWeek:this.dayOfWeek,scheduledAuditName:this.scheduledAuditName,tags:this.tags.renderTags()}}renderProperties(props){return cfnScheduledAuditPropsToCloudFormation(props)}}exports.CfnScheduledAudit=CfnScheduledAudit,_s=JSII_RTTI_SYMBOL_1,CfnScheduledAudit[_s]={fqn:"aws-cdk-lib.aws_iot.CfnScheduledAudit",version:"2.51.1"},CfnScheduledAudit.CFN_RESOURCE_TYPE_NAME="AWS::IoT::ScheduledAudit";function CfnSecurityProfilePropsValidator(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("additionalMetricsToRetainV2",cdk.listValidator(CfnSecurityProfile_MetricToRetainPropertyValidator))(properties.additionalMetricsToRetainV2)),errors.collect(cdk.propertyValidator("alertTargets",cdk.hashValidator(CfnSecurityProfile_AlertTargetPropertyValidator))(properties.alertTargets)),errors.collect(cdk.propertyValidator("behaviors",cdk.listValidator(CfnSecurityProfile_BehaviorPropertyValidator))(properties.behaviors)),errors.collect(cdk.propertyValidator("securityProfileDescription",cdk.validateString)(properties.securityProfileDescription)),errors.collect(cdk.propertyValidator("securityProfileName",cdk.validateString)(properties.securityProfileName)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("targetArns",cdk.listValidator(cdk.validateString))(properties.targetArns)),errors.wrap('supplied properties not correct for "CfnSecurityProfileProps"')}function cfnSecurityProfilePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfilePropsValidator(properties).assertSuccess(),{AdditionalMetricsToRetainV2:cdk.listMapper(cfnSecurityProfileMetricToRetainPropertyToCloudFormation)(properties.additionalMetricsToRetainV2),AlertTargets:cdk.hashMapper(cfnSecurityProfileAlertTargetPropertyToCloudFormation)(properties.alertTargets),Behaviors:cdk.listMapper(cfnSecurityProfileBehaviorPropertyToCloudFormation)(properties.behaviors),SecurityProfileDescription:cdk.stringToCloudFormation(properties.securityProfileDescription),SecurityProfileName:cdk.stringToCloudFormation(properties.securityProfileName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TargetArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.targetArns)}):properties}function CfnSecurityProfilePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("additionalMetricsToRetainV2","AdditionalMetricsToRetainV2",properties.AdditionalMetricsToRetainV2!=null?cfn_parse.FromCloudFormation.getArray(CfnSecurityProfileMetricToRetainPropertyFromCloudFormation)(properties.AdditionalMetricsToRetainV2):void 0),ret.addPropertyResult("alertTargets","AlertTargets",properties.AlertTargets!=null?cfn_parse.FromCloudFormation.getMap(CfnSecurityProfileAlertTargetPropertyFromCloudFormation)(properties.AlertTargets):void 0),ret.addPropertyResult("behaviors","Behaviors",properties.Behaviors!=null?cfn_parse.FromCloudFormation.getArray(CfnSecurityProfileBehaviorPropertyFromCloudFormation)(properties.Behaviors):void 0),ret.addPropertyResult("securityProfileDescription","SecurityProfileDescription",properties.SecurityProfileDescription!=null?cfn_parse.FromCloudFormation.getString(properties.SecurityProfileDescription):void 0),ret.addPropertyResult("securityProfileName","SecurityProfileName",properties.SecurityProfileName!=null?cfn_parse.FromCloudFormation.getString(properties.SecurityProfileName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetArns","TargetArns",properties.TargetArns!=null?cfn_parse.FromCloudFormation.getStringArray(properties.TargetArns):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSecurityProfile extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnSecurityProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnSecurityProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSecurityProfile),error}this.attrSecurityProfileArn=cdk.Token.asString(this.getAtt("SecurityProfileArn")),this.additionalMetricsToRetainV2=props.additionalMetricsToRetainV2,this.alertTargets=props.alertTargets,this.behaviors=props.behaviors,this.securityProfileDescription=props.securityProfileDescription,this.securityProfileName=props.securityProfileName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::SecurityProfile",props.tags,{tagPropertyName:"tags"}),this.targetArns=props.targetArns}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSecurityProfilePropsFromCloudFormation(resourceProperties),ret=new CfnSecurityProfile(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",CfnSecurityProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{additionalMetricsToRetainV2:this.additionalMetricsToRetainV2,alertTargets:this.alertTargets,behaviors:this.behaviors,securityProfileDescription:this.securityProfileDescription,securityProfileName:this.securityProfileName,tags:this.tags.renderTags(),targetArns:this.targetArns}}renderProperties(props){return cfnSecurityProfilePropsToCloudFormation(props)}}exports.CfnSecurityProfile=CfnSecurityProfile,_t=JSII_RTTI_SYMBOL_1,CfnSecurityProfile[_t]={fqn:"aws-cdk-lib.aws_iot.CfnSecurityProfile",version:"2.51.1"},CfnSecurityProfile.CFN_RESOURCE_TYPE_NAME="AWS::IoT::SecurityProfile";function CfnSecurityProfile_AlertTargetPropertyValidator(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("alertTargetArn",cdk.requiredValidator)(properties.alertTargetArn)),errors.collect(cdk.propertyValidator("alertTargetArn",cdk.validateString)(properties.alertTargetArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "AlertTargetProperty"')}function cfnSecurityProfileAlertTargetPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_AlertTargetPropertyValidator(properties).assertSuccess(),{AlertTargetArn:cdk.stringToCloudFormation(properties.alertTargetArn),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnSecurityProfileAlertTargetPropertyFromCloudFormation(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("alertTargetArn","AlertTargetArn",cfn_parse.FromCloudFormation.getString(properties.AlertTargetArn)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_BehaviorPropertyValidator(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("criteria",CfnSecurityProfile_BehaviorCriteriaPropertyValidator)(properties.criteria)),errors.collect(cdk.propertyValidator("metric",cdk.validateString)(properties.metric)),errors.collect(cdk.propertyValidator("metricDimension",CfnSecurityProfile_MetricDimensionPropertyValidator)(properties.metricDimension)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("suppressAlerts",cdk.validateBoolean)(properties.suppressAlerts)),errors.wrap('supplied properties not correct for "BehaviorProperty"')}function cfnSecurityProfileBehaviorPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_BehaviorPropertyValidator(properties).assertSuccess(),{Criteria:cfnSecurityProfileBehaviorCriteriaPropertyToCloudFormation(properties.criteria),Metric:cdk.stringToCloudFormation(properties.metric),MetricDimension:cfnSecurityProfileMetricDimensionPropertyToCloudFormation(properties.metricDimension),Name:cdk.stringToCloudFormation(properties.name),SuppressAlerts:cdk.booleanToCloudFormation(properties.suppressAlerts)}):properties}function CfnSecurityProfileBehaviorPropertyFromCloudFormation(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("criteria","Criteria",properties.Criteria!=null?CfnSecurityProfileBehaviorCriteriaPropertyFromCloudFormation(properties.Criteria):void 0),ret.addPropertyResult("metric","Metric",properties.Metric!=null?cfn_parse.FromCloudFormation.getString(properties.Metric):void 0),ret.addPropertyResult("metricDimension","MetricDimension",properties.MetricDimension!=null?CfnSecurityProfileMetricDimensionPropertyFromCloudFormation(properties.MetricDimension):void 0),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("suppressAlerts","SuppressAlerts",properties.SuppressAlerts!=null?cfn_parse.FromCloudFormation.getBoolean(properties.SuppressAlerts):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_BehaviorCriteriaPropertyValidator(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("comparisonOperator",cdk.validateString)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("consecutiveDatapointsToAlarm",cdk.validateNumber)(properties.consecutiveDatapointsToAlarm)),errors.collect(cdk.propertyValidator("consecutiveDatapointsToClear",cdk.validateNumber)(properties.consecutiveDatapointsToClear)),errors.collect(cdk.propertyValidator("durationSeconds",cdk.validateNumber)(properties.durationSeconds)),errors.collect(cdk.propertyValidator("mlDetectionConfig",CfnSecurityProfile_MachineLearningDetectionConfigPropertyValidator)(properties.mlDetectionConfig)),errors.collect(cdk.propertyValidator("statisticalThreshold",CfnSecurityProfile_StatisticalThresholdPropertyValidator)(properties.statisticalThreshold)),errors.collect(cdk.propertyValidator("value",CfnSecurityProfile_MetricValuePropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "BehaviorCriteriaProperty"')}function cfnSecurityProfileBehaviorCriteriaPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_BehaviorCriteriaPropertyValidator(properties).assertSuccess(),{ComparisonOperator:cdk.stringToCloudFormation(properties.comparisonOperator),ConsecutiveDatapointsToAlarm:cdk.numberToCloudFormation(properties.consecutiveDatapointsToAlarm),ConsecutiveDatapointsToClear:cdk.numberToCloudFormation(properties.consecutiveDatapointsToClear),DurationSeconds:cdk.numberToCloudFormation(properties.durationSeconds),MlDetectionConfig:cfnSecurityProfileMachineLearningDetectionConfigPropertyToCloudFormation(properties.mlDetectionConfig),StatisticalThreshold:cfnSecurityProfileStatisticalThresholdPropertyToCloudFormation(properties.statisticalThreshold),Value:cfnSecurityProfileMetricValuePropertyToCloudFormation(properties.value)}):properties}function CfnSecurityProfileBehaviorCriteriaPropertyFromCloudFormation(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("comparisonOperator","ComparisonOperator",properties.ComparisonOperator!=null?cfn_parse.FromCloudFormation.getString(properties.ComparisonOperator):void 0),ret.addPropertyResult("consecutiveDatapointsToAlarm","ConsecutiveDatapointsToAlarm",properties.ConsecutiveDatapointsToAlarm!=null?cfn_parse.FromCloudFormation.getNumber(properties.ConsecutiveDatapointsToAlarm):void 0),ret.addPropertyResult("consecutiveDatapointsToClear","ConsecutiveDatapointsToClear",properties.ConsecutiveDatapointsToClear!=null?cfn_parse.FromCloudFormation.getNumber(properties.ConsecutiveDatapointsToClear):void 0),ret.addPropertyResult("durationSeconds","DurationSeconds",properties.DurationSeconds!=null?cfn_parse.FromCloudFormation.getNumber(properties.DurationSeconds):void 0),ret.addPropertyResult("mlDetectionConfig","MlDetectionConfig",properties.MlDetectionConfig!=null?CfnSecurityProfileMachineLearningDetectionConfigPropertyFromCloudFormation(properties.MlDetectionConfig):void 0),ret.addPropertyResult("statisticalThreshold","StatisticalThreshold",properties.StatisticalThreshold!=null?CfnSecurityProfileStatisticalThresholdPropertyFromCloudFormation(properties.StatisticalThreshold):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnSecurityProfileMetricValuePropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_MachineLearningDetectionConfigPropertyValidator(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("confidenceLevel",cdk.validateString)(properties.confidenceLevel)),errors.wrap('supplied properties not correct for "MachineLearningDetectionConfigProperty"')}function cfnSecurityProfileMachineLearningDetectionConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_MachineLearningDetectionConfigPropertyValidator(properties).assertSuccess(),{ConfidenceLevel:cdk.stringToCloudFormation(properties.confidenceLevel)}):properties}function CfnSecurityProfileMachineLearningDetectionConfigPropertyFromCloudFormation(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("confidenceLevel","ConfidenceLevel",properties.ConfidenceLevel!=null?cfn_parse.FromCloudFormation.getString(properties.ConfidenceLevel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_MetricDimensionPropertyValidator(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("dimensionName",cdk.requiredValidator)(properties.dimensionName)),errors.collect(cdk.propertyValidator("dimensionName",cdk.validateString)(properties.dimensionName)),errors.collect(cdk.propertyValidator("operator",cdk.validateString)(properties.operator)),errors.wrap('supplied properties not correct for "MetricDimensionProperty"')}function cfnSecurityProfileMetricDimensionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_MetricDimensionPropertyValidator(properties).assertSuccess(),{DimensionName:cdk.stringToCloudFormation(properties.dimensionName),Operator:cdk.stringToCloudFormation(properties.operator)}):properties}function CfnSecurityProfileMetricDimensionPropertyFromCloudFormation(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("dimensionName","DimensionName",cfn_parse.FromCloudFormation.getString(properties.DimensionName)),ret.addPropertyResult("operator","Operator",properties.Operator!=null?cfn_parse.FromCloudFormation.getString(properties.Operator):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_MetricToRetainPropertyValidator(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("metric",cdk.requiredValidator)(properties.metric)),errors.collect(cdk.propertyValidator("metric",cdk.validateString)(properties.metric)),errors.collect(cdk.propertyValidator("metricDimension",CfnSecurityProfile_MetricDimensionPropertyValidator)(properties.metricDimension)),errors.wrap('supplied properties not correct for "MetricToRetainProperty"')}function cfnSecurityProfileMetricToRetainPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_MetricToRetainPropertyValidator(properties).assertSuccess(),{Metric:cdk.stringToCloudFormation(properties.metric),MetricDimension:cfnSecurityProfileMetricDimensionPropertyToCloudFormation(properties.metricDimension)}):properties}function CfnSecurityProfileMetricToRetainPropertyFromCloudFormation(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("metric","Metric",cfn_parse.FromCloudFormation.getString(properties.Metric)),ret.addPropertyResult("metricDimension","MetricDimension",properties.MetricDimension!=null?CfnSecurityProfileMetricDimensionPropertyFromCloudFormation(properties.MetricDimension):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_MetricValuePropertyValidator(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("cidrs",cdk.listValidator(cdk.validateString))(properties.cidrs)),errors.collect(cdk.propertyValidator("count",cdk.validateString)(properties.count)),errors.collect(cdk.propertyValidator("number",cdk.validateNumber)(properties.number)),errors.collect(cdk.propertyValidator("numbers",cdk.listValidator(cdk.validateNumber))(properties.numbers)),errors.collect(cdk.propertyValidator("ports",cdk.listValidator(cdk.validateNumber))(properties.ports)),errors.collect(cdk.propertyValidator("strings",cdk.listValidator(cdk.validateString))(properties.strings)),errors.wrap('supplied properties not correct for "MetricValueProperty"')}function cfnSecurityProfileMetricValuePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_MetricValuePropertyValidator(properties).assertSuccess(),{Cidrs:cdk.listMapper(cdk.stringToCloudFormation)(properties.cidrs),Count:cdk.stringToCloudFormation(properties.count),Number:cdk.numberToCloudFormation(properties.number),Numbers:cdk.listMapper(cdk.numberToCloudFormation)(properties.numbers),Ports:cdk.listMapper(cdk.numberToCloudFormation)(properties.ports),Strings:cdk.listMapper(cdk.stringToCloudFormation)(properties.strings)}):properties}function CfnSecurityProfileMetricValuePropertyFromCloudFormation(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("cidrs","Cidrs",properties.Cidrs!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Cidrs):void 0),ret.addPropertyResult("count","Count",properties.Count!=null?cfn_parse.FromCloudFormation.getString(properties.Count):void 0),ret.addPropertyResult("number","Number",properties.Number!=null?cfn_parse.FromCloudFormation.getNumber(properties.Number):void 0),ret.addPropertyResult("numbers","Numbers",properties.Numbers!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getNumber)(properties.Numbers):void 0),ret.addPropertyResult("ports","Ports",properties.Ports!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getNumber)(properties.Ports):void 0),ret.addPropertyResult("strings","Strings",properties.Strings!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Strings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfile_StatisticalThresholdPropertyValidator(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("statistic",cdk.validateString)(properties.statistic)),errors.wrap('supplied properties not correct for "StatisticalThresholdProperty"')}function cfnSecurityProfileStatisticalThresholdPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityProfile_StatisticalThresholdPropertyValidator(properties).assertSuccess(),{Statistic:cdk.stringToCloudFormation(properties.statistic)}):properties}function CfnSecurityProfileStatisticalThresholdPropertyFromCloudFormation(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("statistic","Statistic",properties.Statistic!=null?cfn_parse.FromCloudFormation.getString(properties.Statistic):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThingPropsValidator(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("attributePayload",CfnThing_AttributePayloadPropertyValidator)(properties.attributePayload)),errors.collect(cdk.propertyValidator("thingName",cdk.validateString)(properties.thingName)),errors.wrap('supplied properties not correct for "CfnThingProps"')}function cfnThingPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnThingPropsValidator(properties).assertSuccess(),{AttributePayload:cfnThingAttributePayloadPropertyToCloudFormation(properties.attributePayload),ThingName:cdk.stringToCloudFormation(properties.thingName)}):properties}function CfnThingPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("attributePayload","AttributePayload",properties.AttributePayload!=null?CfnThingAttributePayloadPropertyFromCloudFormation(properties.AttributePayload):void 0),ret.addPropertyResult("thingName","ThingName",properties.ThingName!=null?cfn_parse.FromCloudFormation.getString(properties.ThingName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnThing extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnThing.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnThingProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnThing),error}this.attributePayload=props.attributePayload,this.thingName=props.thingName}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnThingPropsFromCloudFormation(resourceProperties),ret=new CfnThing(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",CfnThing.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{attributePayload:this.attributePayload,thingName:this.thingName}}renderProperties(props){return cfnThingPropsToCloudFormation(props)}}exports.CfnThing=CfnThing,_u=JSII_RTTI_SYMBOL_1,CfnThing[_u]={fqn:"aws-cdk-lib.aws_iot.CfnThing",version:"2.51.1"},CfnThing.CFN_RESOURCE_TYPE_NAME="AWS::IoT::Thing";function CfnThing_AttributePayloadPropertyValidator(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("attributes",cdk.hashValidator(cdk.validateString))(properties.attributes)),errors.wrap('supplied properties not correct for "AttributePayloadProperty"')}function cfnThingAttributePayloadPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnThing_AttributePayloadPropertyValidator(properties).assertSuccess(),{Attributes:cdk.hashMapper(cdk.stringToCloudFormation)(properties.attributes)}):properties}function CfnThingAttributePayloadPropertyFromCloudFormation(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("attributes","Attributes",properties.Attributes!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.Attributes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnThingPrincipalAttachmentPropsValidator(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("principal",cdk.requiredValidator)(properties.principal)),errors.collect(cdk.propertyValidator("principal",cdk.validateString)(properties.principal)),errors.collect(cdk.propertyValidator("thingName",cdk.requiredValidator)(properties.thingName)),errors.collect(cdk.propertyValidator("thingName",cdk.validateString)(properties.thingName)),errors.wrap('supplied properties not correct for "CfnThingPrincipalAttachmentProps"')}function cfnThingPrincipalAttachmentPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnThingPrincipalAttachmentPropsValidator(properties).assertSuccess(),{Principal:cdk.stringToCloudFormation(properties.principal),ThingName:cdk.stringToCloudFormation(properties.thingName)}):properties}function CfnThingPrincipalAttachmentPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("principal","Principal",cfn_parse.FromCloudFormation.getString(properties.Principal)),ret.addPropertyResult("thingName","ThingName",cfn_parse.FromCloudFormation.getString(properties.ThingName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnThingPrincipalAttachment extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnThingPrincipalAttachment.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnThingPrincipalAttachmentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnThingPrincipalAttachment),error}cdk.requireProperty(props,"principal",this),cdk.requireProperty(props,"thingName",this),this.principal=props.principal,this.thingName=props.thingName}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnThingPrincipalAttachmentPropsFromCloudFormation(resourceProperties),ret=new CfnThingPrincipalAttachment(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",CfnThingPrincipalAttachment.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{principal:this.principal,thingName:this.thingName}}renderProperties(props){return cfnThingPrincipalAttachmentPropsToCloudFormation(props)}}exports.CfnThingPrincipalAttachment=CfnThingPrincipalAttachment,_v=JSII_RTTI_SYMBOL_1,CfnThingPrincipalAttachment[_v]={fqn:"aws-cdk-lib.aws_iot.CfnThingPrincipalAttachment",version:"2.51.1"},CfnThingPrincipalAttachment.CFN_RESOURCE_TYPE_NAME="AWS::IoT::ThingPrincipalAttachment";function CfnTopicRulePropsValidator(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("ruleName",cdk.validateString)(properties.ruleName)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("topicRulePayload",cdk.requiredValidator)(properties.topicRulePayload)),errors.collect(cdk.propertyValidator("topicRulePayload",CfnTopicRule_TopicRulePayloadPropertyValidator)(properties.topicRulePayload)),errors.wrap('supplied properties not correct for "CfnTopicRuleProps"')}function cfnTopicRulePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRulePropsValidator(properties).assertSuccess(),{TopicRulePayload:cfnTopicRuleTopicRulePayloadPropertyToCloudFormation(properties.topicRulePayload),RuleName:cdk.stringToCloudFormation(properties.ruleName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnTopicRulePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("topicRulePayload","TopicRulePayload",CfnTopicRuleTopicRulePayloadPropertyFromCloudFormation(properties.TopicRulePayload)),ret.addPropertyResult("ruleName","RuleName",properties.RuleName!=null?cfn_parse.FromCloudFormation.getString(properties.RuleName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTopicRule extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnTopicRule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnTopicRuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTopicRule),error}cdk.requireProperty(props,"topicRulePayload",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.topicRulePayload=props.topicRulePayload,this.ruleName=props.ruleName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::IoT::TopicRule",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTopicRulePropsFromCloudFormation(resourceProperties),ret=new CfnTopicRule(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",CfnTopicRule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{topicRulePayload:this.topicRulePayload,ruleName:this.ruleName,tags:this.tags.renderTags()}}renderProperties(props){return cfnTopicRulePropsToCloudFormation(props)}}exports.CfnTopicRule=CfnTopicRule,_w=JSII_RTTI_SYMBOL_1,CfnTopicRule[_w]={fqn:"aws-cdk-lib.aws_iot.CfnTopicRule",version:"2.51.1"},CfnTopicRule.CFN_RESOURCE_TYPE_NAME="AWS::IoT::TopicRule";function CfnTopicRule_ActionPropertyValidator(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("cloudwatchAlarm",CfnTopicRule_CloudwatchAlarmActionPropertyValidator)(properties.cloudwatchAlarm)),errors.collect(cdk.propertyValidator("cloudwatchLogs",CfnTopicRule_CloudwatchLogsActionPropertyValidator)(properties.cloudwatchLogs)),errors.collect(cdk.propertyValidator("cloudwatchMetric",CfnTopicRule_CloudwatchMetricActionPropertyValidator)(properties.cloudwatchMetric)),errors.collect(cdk.propertyValidator("dynamoDb",CfnTopicRule_DynamoDBActionPropertyValidator)(properties.dynamoDb)),errors.collect(cdk.propertyValidator("dynamoDBv2",CfnTopicRule_DynamoDBv2ActionPropertyValidator)(properties.dynamoDBv2)),errors.collect(cdk.propertyValidator("elasticsearch",CfnTopicRule_ElasticsearchActionPropertyValidator)(properties.elasticsearch)),errors.collect(cdk.propertyValidator("firehose",CfnTopicRule_FirehoseActionPropertyValidator)(properties.firehose)),errors.collect(cdk.propertyValidator("http",CfnTopicRule_HttpActionPropertyValidator)(properties.http)),errors.collect(cdk.propertyValidator("iotAnalytics",CfnTopicRule_IotAnalyticsActionPropertyValidator)(properties.iotAnalytics)),errors.collect(cdk.propertyValidator("iotEvents",CfnTopicRule_IotEventsActionPropertyValidator)(properties.iotEvents)),errors.collect(cdk.propertyValidator("iotSiteWise",CfnTopicRule_IotSiteWiseActionPropertyValidator)(properties.iotSiteWise)),errors.collect(cdk.propertyValidator("kafka",CfnTopicRule_KafkaActionPropertyValidator)(properties.kafka)),errors.collect(cdk.propertyValidator("kinesis",CfnTopicRule_KinesisActionPropertyValidator)(properties.kinesis)),errors.collect(cdk.propertyValidator("lambda",CfnTopicRule_LambdaActionPropertyValidator)(properties.lambda)),errors.collect(cdk.propertyValidator("location",CfnTopicRule_LocationActionPropertyValidator)(properties.location)),errors.collect(cdk.propertyValidator("openSearch",CfnTopicRule_OpenSearchActionPropertyValidator)(properties.openSearch)),errors.collect(cdk.propertyValidator("republish",CfnTopicRule_RepublishActionPropertyValidator)(properties.republish)),errors.collect(cdk.propertyValidator("s3",CfnTopicRule_S3ActionPropertyValidator)(properties.s3)),errors.collect(cdk.propertyValidator("sns",CfnTopicRule_SnsActionPropertyValidator)(properties.sns)),errors.collect(cdk.propertyValidator("sqs",CfnTopicRule_SqsActionPropertyValidator)(properties.sqs)),errors.collect(cdk.propertyValidator("stepFunctions",CfnTopicRule_StepFunctionsActionPropertyValidator)(properties.stepFunctions)),errors.collect(cdk.propertyValidator("timestream",CfnTopicRule_TimestreamActionPropertyValidator)(properties.timestream)),errors.wrap('supplied properties not correct for "ActionProperty"')}function cfnTopicRuleActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_ActionPropertyValidator(properties).assertSuccess(),{CloudwatchAlarm:cfnTopicRuleCloudwatchAlarmActionPropertyToCloudFormation(properties.cloudwatchAlarm),CloudwatchLogs:cfnTopicRuleCloudwatchLogsActionPropertyToCloudFormation(properties.cloudwatchLogs),CloudwatchMetric:cfnTopicRuleCloudwatchMetricActionPropertyToCloudFormation(properties.cloudwatchMetric),DynamoDB:cfnTopicRuleDynamoDBActionPropertyToCloudFormation(properties.dynamoDb),DynamoDBv2:cfnTopicRuleDynamoDBv2ActionPropertyToCloudFormation(properties.dynamoDBv2),Elasticsearch:cfnTopicRuleElasticsearchActionPropertyToCloudFormation(properties.elasticsearch),Firehose:cfnTopicRuleFirehoseActionPropertyToCloudFormation(properties.firehose),Http:cfnTopicRuleHttpActionPropertyToCloudFormation(properties.http),IotAnalytics:cfnTopicRuleIotAnalyticsActionPropertyToCloudFormation(properties.iotAnalytics),IotEvents:cfnTopicRuleIotEventsActionPropertyToCloudFormation(properties.iotEvents),IotSiteWise:cfnTopicRuleIotSiteWiseActionPropertyToCloudFormation(properties.iotSiteWise),Kafka:cfnTopicRuleKafkaActionPropertyToCloudFormation(properties.kafka),Kinesis:cfnTopicRuleKinesisActionPropertyToCloudFormation(properties.kinesis),Lambda:cfnTopicRuleLambdaActionPropertyToCloudFormation(properties.lambda),Location:cfnTopicRuleLocationActionPropertyToCloudFormation(properties.location),OpenSearch:cfnTopicRuleOpenSearchActionPropertyToCloudFormation(properties.openSearch),Republish:cfnTopicRuleRepublishActionPropertyToCloudFormation(properties.republish),S3:cfnTopicRuleS3ActionPropertyToCloudFormation(properties.s3),Sns:cfnTopicRuleSnsActionPropertyToCloudFormation(properties.sns),Sqs:cfnTopicRuleSqsActionPropertyToCloudFormation(properties.sqs),StepFunctions:cfnTopicRuleStepFunctionsActionPropertyToCloudFormation(properties.stepFunctions),Timestream:cfnTopicRuleTimestreamActionPropertyToCloudFormation(properties.timestream)}):properties}function CfnTopicRuleActionPropertyFromCloudFormation(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("cloudwatchAlarm","CloudwatchAlarm",properties.CloudwatchAlarm!=null?CfnTopicRuleCloudwatchAlarmActionPropertyFromCloudFormation(properties.CloudwatchAlarm):void 0),ret.addPropertyResult("cloudwatchLogs","CloudwatchLogs",properties.CloudwatchLogs!=null?CfnTopicRuleCloudwatchLogsActionPropertyFromCloudFormation(properties.CloudwatchLogs):void 0),ret.addPropertyResult("cloudwatchMetric","CloudwatchMetric",properties.CloudwatchMetric!=null?CfnTopicRuleCloudwatchMetricActionPropertyFromCloudFormation(properties.CloudwatchMetric):void 0),ret.addPropertyResult("dynamoDb","DynamoDB",properties.DynamoDB!=null?CfnTopicRuleDynamoDBActionPropertyFromCloudFormation(properties.DynamoDB):void 0),ret.addPropertyResult("dynamoDBv2","DynamoDBv2",properties.DynamoDBv2!=null?CfnTopicRuleDynamoDBv2ActionPropertyFromCloudFormation(properties.DynamoDBv2):void 0),ret.addPropertyResult("elasticsearch","Elasticsearch",properties.Elasticsearch!=null?CfnTopicRuleElasticsearchActionPropertyFromCloudFormation(properties.Elasticsearch):void 0),ret.addPropertyResult("firehose","Firehose",properties.Firehose!=null?CfnTopicRuleFirehoseActionPropertyFromCloudFormation(properties.Firehose):void 0),ret.addPropertyResult("http","Http",properties.Http!=null?CfnTopicRuleHttpActionPropertyFromCloudFormation(properties.Http):void 0),ret.addPropertyResult("iotAnalytics","IotAnalytics",properties.IotAnalytics!=null?CfnTopicRuleIotAnalyticsActionPropertyFromCloudFormation(properties.IotAnalytics):void 0),ret.addPropertyResult("iotEvents","IotEvents",properties.IotEvents!=null?CfnTopicRuleIotEventsActionPropertyFromCloudFormation(properties.IotEvents):void 0),ret.addPropertyResult("iotSiteWise","IotSiteWise",properties.IotSiteWise!=null?CfnTopicRuleIotSiteWiseActionPropertyFromCloudFormation(properties.IotSiteWise):void 0),ret.addPropertyResult("kafka","Kafka",properties.Kafka!=null?CfnTopicRuleKafkaActionPropertyFromCloudFormation(properties.Kafka):void 0),ret.addPropertyResult("kinesis","Kinesis",properties.Kinesis!=null?CfnTopicRuleKinesisActionPropertyFromCloudFormation(properties.Kinesis):void 0),ret.addPropertyResult("lambda","Lambda",properties.Lambda!=null?CfnTopicRuleLambdaActionPropertyFromCloudFormation(properties.Lambda):void 0),ret.addPropertyResult("location","Location",properties.Location!=null?CfnTopicRuleLocationActionPropertyFromCloudFormation(properties.Location):void 0),ret.addPropertyResult("openSearch","OpenSearch",properties.OpenSearch!=null?CfnTopicRuleOpenSearchActionPropertyFromCloudFormation(properties.OpenSearch):void 0),ret.addPropertyResult("republish","Republish",properties.Republish!=null?CfnTopicRuleRepublishActionPropertyFromCloudFormation(properties.Republish):void 0),ret.addPropertyResult("s3","S3",properties.S3!=null?CfnTopicRuleS3ActionPropertyFromCloudFormation(properties.S3):void 0),ret.addPropertyResult("sns","Sns",properties.Sns!=null?CfnTopicRuleSnsActionPropertyFromCloudFormation(properties.Sns):void 0),ret.addPropertyResult("sqs","Sqs",properties.Sqs!=null?CfnTopicRuleSqsActionPropertyFromCloudFormation(properties.Sqs):void 0),ret.addPropertyResult("stepFunctions","StepFunctions",properties.StepFunctions!=null?CfnTopicRuleStepFunctionsActionPropertyFromCloudFormation(properties.StepFunctions):void 0),ret.addPropertyResult("timestream","Timestream",properties.Timestream!=null?CfnTopicRuleTimestreamActionPropertyFromCloudFormation(properties.Timestream):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_AssetPropertyTimestampPropertyValidator(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("offsetInNanos",cdk.validateString)(properties.offsetInNanos)),errors.collect(cdk.propertyValidator("timeInSeconds",cdk.requiredValidator)(properties.timeInSeconds)),errors.collect(cdk.propertyValidator("timeInSeconds",cdk.validateString)(properties.timeInSeconds)),errors.wrap('supplied properties not correct for "AssetPropertyTimestampProperty"')}function cfnTopicRuleAssetPropertyTimestampPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_AssetPropertyTimestampPropertyValidator(properties).assertSuccess(),{OffsetInNanos:cdk.stringToCloudFormation(properties.offsetInNanos),TimeInSeconds:cdk.stringToCloudFormation(properties.timeInSeconds)}):properties}function CfnTopicRuleAssetPropertyTimestampPropertyFromCloudFormation(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("offsetInNanos","OffsetInNanos",properties.OffsetInNanos!=null?cfn_parse.FromCloudFormation.getString(properties.OffsetInNanos):void 0),ret.addPropertyResult("timeInSeconds","TimeInSeconds",cfn_parse.FromCloudFormation.getString(properties.TimeInSeconds)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_AssetPropertyValuePropertyValidator(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("quality",cdk.validateString)(properties.quality)),errors.collect(cdk.propertyValidator("timestamp",cdk.requiredValidator)(properties.timestamp)),errors.collect(cdk.propertyValidator("timestamp",CfnTopicRule_AssetPropertyTimestampPropertyValidator)(properties.timestamp)),errors.collect(cdk.propertyValidator("value",cdk.requiredValidator)(properties.value)),errors.collect(cdk.propertyValidator("value",CfnTopicRule_AssetPropertyVariantPropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "AssetPropertyValueProperty"')}function cfnTopicRuleAssetPropertyValuePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_AssetPropertyValuePropertyValidator(properties).assertSuccess(),{Quality:cdk.stringToCloudFormation(properties.quality),Timestamp:cfnTopicRuleAssetPropertyTimestampPropertyToCloudFormation(properties.timestamp),Value:cfnTopicRuleAssetPropertyVariantPropertyToCloudFormation(properties.value)}):properties}function CfnTopicRuleAssetPropertyValuePropertyFromCloudFormation(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("quality","Quality",properties.Quality!=null?cfn_parse.FromCloudFormation.getString(properties.Quality):void 0),ret.addPropertyResult("timestamp","Timestamp",CfnTopicRuleAssetPropertyTimestampPropertyFromCloudFormation(properties.Timestamp)),ret.addPropertyResult("value","Value",CfnTopicRuleAssetPropertyVariantPropertyFromCloudFormation(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_AssetPropertyVariantPropertyValidator(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("booleanValue",cdk.validateString)(properties.booleanValue)),errors.collect(cdk.propertyValidator("doubleValue",cdk.validateString)(properties.doubleValue)),errors.collect(cdk.propertyValidator("integerValue",cdk.validateString)(properties.integerValue)),errors.collect(cdk.propertyValidator("stringValue",cdk.validateString)(properties.stringValue)),errors.wrap('supplied properties not correct for "AssetPropertyVariantProperty"')}function cfnTopicRuleAssetPropertyVariantPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_AssetPropertyVariantPropertyValidator(properties).assertSuccess(),{BooleanValue:cdk.stringToCloudFormation(properties.booleanValue),DoubleValue:cdk.stringToCloudFormation(properties.doubleValue),IntegerValue:cdk.stringToCloudFormation(properties.integerValue),StringValue:cdk.stringToCloudFormation(properties.stringValue)}):properties}function CfnTopicRuleAssetPropertyVariantPropertyFromCloudFormation(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("booleanValue","BooleanValue",properties.BooleanValue!=null?cfn_parse.FromCloudFormation.getString(properties.BooleanValue):void 0),ret.addPropertyResult("doubleValue","DoubleValue",properties.DoubleValue!=null?cfn_parse.FromCloudFormation.getString(properties.DoubleValue):void 0),ret.addPropertyResult("integerValue","IntegerValue",properties.IntegerValue!=null?cfn_parse.FromCloudFormation.getString(properties.IntegerValue):void 0),ret.addPropertyResult("stringValue","StringValue",properties.StringValue!=null?cfn_parse.FromCloudFormation.getString(properties.StringValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_CloudwatchAlarmActionPropertyValidator(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("alarmName",cdk.requiredValidator)(properties.alarmName)),errors.collect(cdk.propertyValidator("alarmName",cdk.validateString)(properties.alarmName)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("stateReason",cdk.requiredValidator)(properties.stateReason)),errors.collect(cdk.propertyValidator("stateReason",cdk.validateString)(properties.stateReason)),errors.collect(cdk.propertyValidator("stateValue",cdk.requiredValidator)(properties.stateValue)),errors.collect(cdk.propertyValidator("stateValue",cdk.validateString)(properties.stateValue)),errors.wrap('supplied properties not correct for "CloudwatchAlarmActionProperty"')}function cfnTopicRuleCloudwatchAlarmActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_CloudwatchAlarmActionPropertyValidator(properties).assertSuccess(),{AlarmName:cdk.stringToCloudFormation(properties.alarmName),RoleArn:cdk.stringToCloudFormation(properties.roleArn),StateReason:cdk.stringToCloudFormation(properties.stateReason),StateValue:cdk.stringToCloudFormation(properties.stateValue)}):properties}function CfnTopicRuleCloudwatchAlarmActionPropertyFromCloudFormation(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("alarmName","AlarmName",cfn_parse.FromCloudFormation.getString(properties.AlarmName)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("stateReason","StateReason",cfn_parse.FromCloudFormation.getString(properties.StateReason)),ret.addPropertyResult("stateValue","StateValue",cfn_parse.FromCloudFormation.getString(properties.StateValue)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_CloudwatchLogsActionPropertyValidator(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("logGroupName",cdk.requiredValidator)(properties.logGroupName)),errors.collect(cdk.propertyValidator("logGroupName",cdk.validateString)(properties.logGroupName)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "CloudwatchLogsActionProperty"')}function cfnTopicRuleCloudwatchLogsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_CloudwatchLogsActionPropertyValidator(properties).assertSuccess(),{LogGroupName:cdk.stringToCloudFormation(properties.logGroupName),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleCloudwatchLogsActionPropertyFromCloudFormation(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("logGroupName","LogGroupName",cfn_parse.FromCloudFormation.getString(properties.LogGroupName)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_CloudwatchMetricActionPropertyValidator(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("metricName",cdk.requiredValidator)(properties.metricName)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("metricNamespace",cdk.requiredValidator)(properties.metricNamespace)),errors.collect(cdk.propertyValidator("metricNamespace",cdk.validateString)(properties.metricNamespace)),errors.collect(cdk.propertyValidator("metricTimestamp",cdk.validateString)(properties.metricTimestamp)),errors.collect(cdk.propertyValidator("metricUnit",cdk.requiredValidator)(properties.metricUnit)),errors.collect(cdk.propertyValidator("metricUnit",cdk.validateString)(properties.metricUnit)),errors.collect(cdk.propertyValidator("metricValue",cdk.requiredValidator)(properties.metricValue)),errors.collect(cdk.propertyValidator("metricValue",cdk.validateString)(properties.metricValue)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "CloudwatchMetricActionProperty"')}function cfnTopicRuleCloudwatchMetricActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_CloudwatchMetricActionPropertyValidator(properties).assertSuccess(),{MetricName:cdk.stringToCloudFormation(properties.metricName),MetricNamespace:cdk.stringToCloudFormation(properties.metricNamespace),MetricTimestamp:cdk.stringToCloudFormation(properties.metricTimestamp),MetricUnit:cdk.stringToCloudFormation(properties.metricUnit),MetricValue:cdk.stringToCloudFormation(properties.metricValue),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleCloudwatchMetricActionPropertyFromCloudFormation(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("metricName","MetricName",cfn_parse.FromCloudFormation.getString(properties.MetricName)),ret.addPropertyResult("metricNamespace","MetricNamespace",cfn_parse.FromCloudFormation.getString(properties.MetricNamespace)),ret.addPropertyResult("metricTimestamp","MetricTimestamp",properties.MetricTimestamp!=null?cfn_parse.FromCloudFormation.getString(properties.MetricTimestamp):void 0),ret.addPropertyResult("metricUnit","MetricUnit",cfn_parse.FromCloudFormation.getString(properties.MetricUnit)),ret.addPropertyResult("metricValue","MetricValue",cfn_parse.FromCloudFormation.getString(properties.MetricValue)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_DynamoDBActionPropertyValidator(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("hashKeyField",cdk.requiredValidator)(properties.hashKeyField)),errors.collect(cdk.propertyValidator("hashKeyField",cdk.validateString)(properties.hashKeyField)),errors.collect(cdk.propertyValidator("hashKeyType",cdk.validateString)(properties.hashKeyType)),errors.collect(cdk.propertyValidator("hashKeyValue",cdk.requiredValidator)(properties.hashKeyValue)),errors.collect(cdk.propertyValidator("hashKeyValue",cdk.validateString)(properties.hashKeyValue)),errors.collect(cdk.propertyValidator("payloadField",cdk.validateString)(properties.payloadField)),errors.collect(cdk.propertyValidator("rangeKeyField",cdk.validateString)(properties.rangeKeyField)),errors.collect(cdk.propertyValidator("rangeKeyType",cdk.validateString)(properties.rangeKeyType)),errors.collect(cdk.propertyValidator("rangeKeyValue",cdk.validateString)(properties.rangeKeyValue)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("tableName",cdk.requiredValidator)(properties.tableName)),errors.collect(cdk.propertyValidator("tableName",cdk.validateString)(properties.tableName)),errors.wrap('supplied properties not correct for "DynamoDBActionProperty"')}function cfnTopicRuleDynamoDBActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_DynamoDBActionPropertyValidator(properties).assertSuccess(),{HashKeyField:cdk.stringToCloudFormation(properties.hashKeyField),HashKeyType:cdk.stringToCloudFormation(properties.hashKeyType),HashKeyValue:cdk.stringToCloudFormation(properties.hashKeyValue),PayloadField:cdk.stringToCloudFormation(properties.payloadField),RangeKeyField:cdk.stringToCloudFormation(properties.rangeKeyField),RangeKeyType:cdk.stringToCloudFormation(properties.rangeKeyType),RangeKeyValue:cdk.stringToCloudFormation(properties.rangeKeyValue),RoleArn:cdk.stringToCloudFormation(properties.roleArn),TableName:cdk.stringToCloudFormation(properties.tableName)}):properties}function CfnTopicRuleDynamoDBActionPropertyFromCloudFormation(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("hashKeyField","HashKeyField",cfn_parse.FromCloudFormation.getString(properties.HashKeyField)),ret.addPropertyResult("hashKeyType","HashKeyType",properties.HashKeyType!=null?cfn_parse.FromCloudFormation.getString(properties.HashKeyType):void 0),ret.addPropertyResult("hashKeyValue","HashKeyValue",cfn_parse.FromCloudFormation.getString(properties.HashKeyValue)),ret.addPropertyResult("payloadField","PayloadField",properties.PayloadField!=null?cfn_parse.FromCloudFormation.getString(properties.PayloadField):void 0),ret.addPropertyResult("rangeKeyField","RangeKeyField",properties.RangeKeyField!=null?cfn_parse.FromCloudFormation.getString(properties.RangeKeyField):void 0),ret.addPropertyResult("rangeKeyType","RangeKeyType",properties.RangeKeyType!=null?cfn_parse.FromCloudFormation.getString(properties.RangeKeyType):void 0),ret.addPropertyResult("rangeKeyValue","RangeKeyValue",properties.RangeKeyValue!=null?cfn_parse.FromCloudFormation.getString(properties.RangeKeyValue):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("tableName","TableName",cfn_parse.FromCloudFormation.getString(properties.TableName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_DynamoDBv2ActionPropertyValidator(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("putItem",CfnTopicRule_PutItemInputPropertyValidator)(properties.putItem)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "DynamoDBv2ActionProperty"')}function cfnTopicRuleDynamoDBv2ActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_DynamoDBv2ActionPropertyValidator(properties).assertSuccess(),{PutItem:cfnTopicRulePutItemInputPropertyToCloudFormation(properties.putItem),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleDynamoDBv2ActionPropertyFromCloudFormation(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("putItem","PutItem",properties.PutItem!=null?CfnTopicRulePutItemInputPropertyFromCloudFormation(properties.PutItem):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_ElasticsearchActionPropertyValidator(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("endpoint",cdk.requiredValidator)(properties.endpoint)),errors.collect(cdk.propertyValidator("endpoint",cdk.validateString)(properties.endpoint)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("index",cdk.requiredValidator)(properties.index)),errors.collect(cdk.propertyValidator("index",cdk.validateString)(properties.index)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("type",cdk.requiredValidator)(properties.type)),errors.collect(cdk.propertyValidator("type",cdk.validateString)(properties.type)),errors.wrap('supplied properties not correct for "ElasticsearchActionProperty"')}function cfnTopicRuleElasticsearchActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_ElasticsearchActionPropertyValidator(properties).assertSuccess(),{Endpoint:cdk.stringToCloudFormation(properties.endpoint),Id:cdk.stringToCloudFormation(properties.id),Index:cdk.stringToCloudFormation(properties.index),RoleArn:cdk.stringToCloudFormation(properties.roleArn),Type:cdk.stringToCloudFormation(properties.type)}):properties}function CfnTopicRuleElasticsearchActionPropertyFromCloudFormation(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("endpoint","Endpoint",cfn_parse.FromCloudFormation.getString(properties.Endpoint)),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("index","Index",cfn_parse.FromCloudFormation.getString(properties.Index)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("type","Type",cfn_parse.FromCloudFormation.getString(properties.Type)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_FirehoseActionPropertyValidator(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("batchMode",cdk.validateBoolean)(properties.batchMode)),errors.collect(cdk.propertyValidator("deliveryStreamName",cdk.requiredValidator)(properties.deliveryStreamName)),errors.collect(cdk.propertyValidator("deliveryStreamName",cdk.validateString)(properties.deliveryStreamName)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("separator",cdk.validateString)(properties.separator)),errors.wrap('supplied properties not correct for "FirehoseActionProperty"')}function cfnTopicRuleFirehoseActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_FirehoseActionPropertyValidator(properties).assertSuccess(),{BatchMode:cdk.booleanToCloudFormation(properties.batchMode),DeliveryStreamName:cdk.stringToCloudFormation(properties.deliveryStreamName),RoleArn:cdk.stringToCloudFormation(properties.roleArn),Separator:cdk.stringToCloudFormation(properties.separator)}):properties}function CfnTopicRuleFirehoseActionPropertyFromCloudFormation(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("batchMode","BatchMode",properties.BatchMode!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BatchMode):void 0),ret.addPropertyResult("deliveryStreamName","DeliveryStreamName",cfn_parse.FromCloudFormation.getString(properties.DeliveryStreamName)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("separator","Separator",properties.Separator!=null?cfn_parse.FromCloudFormation.getString(properties.Separator):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_HttpActionPropertyValidator(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("auth",CfnTopicRule_HttpAuthorizationPropertyValidator)(properties.auth)),errors.collect(cdk.propertyValidator("confirmationUrl",cdk.validateString)(properties.confirmationUrl)),errors.collect(cdk.propertyValidator("headers",cdk.listValidator(CfnTopicRule_HttpActionHeaderPropertyValidator))(properties.headers)),errors.collect(cdk.propertyValidator("url",cdk.requiredValidator)(properties.url)),errors.collect(cdk.propertyValidator("url",cdk.validateString)(properties.url)),errors.wrap('supplied properties not correct for "HttpActionProperty"')}function cfnTopicRuleHttpActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_HttpActionPropertyValidator(properties).assertSuccess(),{Auth:cfnTopicRuleHttpAuthorizationPropertyToCloudFormation(properties.auth),ConfirmationUrl:cdk.stringToCloudFormation(properties.confirmationUrl),Headers:cdk.listMapper(cfnTopicRuleHttpActionHeaderPropertyToCloudFormation)(properties.headers),Url:cdk.stringToCloudFormation(properties.url)}):properties}function CfnTopicRuleHttpActionPropertyFromCloudFormation(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("auth","Auth",properties.Auth!=null?CfnTopicRuleHttpAuthorizationPropertyFromCloudFormation(properties.Auth):void 0),ret.addPropertyResult("confirmationUrl","ConfirmationUrl",properties.ConfirmationUrl!=null?cfn_parse.FromCloudFormation.getString(properties.ConfirmationUrl):void 0),ret.addPropertyResult("headers","Headers",properties.Headers!=null?cfn_parse.FromCloudFormation.getArray(CfnTopicRuleHttpActionHeaderPropertyFromCloudFormation)(properties.Headers):void 0),ret.addPropertyResult("url","Url",cfn_parse.FromCloudFormation.getString(properties.Url)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_HttpActionHeaderPropertyValidator(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 "HttpActionHeaderProperty"')}function cfnTopicRuleHttpActionHeaderPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_HttpActionHeaderPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnTopicRuleHttpActionHeaderPropertyFromCloudFormation(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 CfnTopicRule_HttpAuthorizationPropertyValidator(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("sigv4",CfnTopicRule_SigV4AuthorizationPropertyValidator)(properties.sigv4)),errors.wrap('supplied properties not correct for "HttpAuthorizationProperty"')}function cfnTopicRuleHttpAuthorizationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_HttpAuthorizationPropertyValidator(properties).assertSuccess(),{Sigv4:cfnTopicRuleSigV4AuthorizationPropertyToCloudFormation(properties.sigv4)}):properties}function CfnTopicRuleHttpAuthorizationPropertyFromCloudFormation(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("sigv4","Sigv4",properties.Sigv4!=null?CfnTopicRuleSigV4AuthorizationPropertyFromCloudFormation(properties.Sigv4):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_IotAnalyticsActionPropertyValidator(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("batchMode",cdk.validateBoolean)(properties.batchMode)),errors.collect(cdk.propertyValidator("channelName",cdk.requiredValidator)(properties.channelName)),errors.collect(cdk.propertyValidator("channelName",cdk.validateString)(properties.channelName)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "IotAnalyticsActionProperty"')}function cfnTopicRuleIotAnalyticsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_IotAnalyticsActionPropertyValidator(properties).assertSuccess(),{BatchMode:cdk.booleanToCloudFormation(properties.batchMode),ChannelName:cdk.stringToCloudFormation(properties.channelName),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleIotAnalyticsActionPropertyFromCloudFormation(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("batchMode","BatchMode",properties.BatchMode!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BatchMode):void 0),ret.addPropertyResult("channelName","ChannelName",cfn_parse.FromCloudFormation.getString(properties.ChannelName)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_IotEventsActionPropertyValidator(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("batchMode",cdk.validateBoolean)(properties.batchMode)),errors.collect(cdk.propertyValidator("inputName",cdk.requiredValidator)(properties.inputName)),errors.collect(cdk.propertyValidator("inputName",cdk.validateString)(properties.inputName)),errors.collect(cdk.propertyValidator("messageId",cdk.validateString)(properties.messageId)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "IotEventsActionProperty"')}function cfnTopicRuleIotEventsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_IotEventsActionPropertyValidator(properties).assertSuccess(),{BatchMode:cdk.booleanToCloudFormation(properties.batchMode),InputName:cdk.stringToCloudFormation(properties.inputName),MessageId:cdk.stringToCloudFormation(properties.messageId),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleIotEventsActionPropertyFromCloudFormation(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("batchMode","BatchMode",properties.BatchMode!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BatchMode):void 0),ret.addPropertyResult("inputName","InputName",cfn_parse.FromCloudFormation.getString(properties.InputName)),ret.addPropertyResult("messageId","MessageId",properties.MessageId!=null?cfn_parse.FromCloudFormation.getString(properties.MessageId):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_IotSiteWiseActionPropertyValidator(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("putAssetPropertyValueEntries",cdk.requiredValidator)(properties.putAssetPropertyValueEntries)),errors.collect(cdk.propertyValidator("putAssetPropertyValueEntries",cdk.listValidator(CfnTopicRule_PutAssetPropertyValueEntryPropertyValidator))(properties.putAssetPropertyValueEntries)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "IotSiteWiseActionProperty"')}function cfnTopicRuleIotSiteWiseActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_IotSiteWiseActionPropertyValidator(properties).assertSuccess(),{PutAssetPropertyValueEntries:cdk.listMapper(cfnTopicRulePutAssetPropertyValueEntryPropertyToCloudFormation)(properties.putAssetPropertyValueEntries),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleIotSiteWiseActionPropertyFromCloudFormation(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("putAssetPropertyValueEntries","PutAssetPropertyValueEntries",cfn_parse.FromCloudFormation.getArray(CfnTopicRulePutAssetPropertyValueEntryPropertyFromCloudFormation)(properties.PutAssetPropertyValueEntries)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_KafkaActionPropertyValidator(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("clientProperties",cdk.requiredValidator)(properties.clientProperties)),errors.collect(cdk.propertyValidator("clientProperties",cdk.hashValidator(cdk.validateString))(properties.clientProperties)),errors.collect(cdk.propertyValidator("destinationArn",cdk.requiredValidator)(properties.destinationArn)),errors.collect(cdk.propertyValidator("destinationArn",cdk.validateString)(properties.destinationArn)),errors.collect(cdk.propertyValidator("key",cdk.validateString)(properties.key)),errors.collect(cdk.propertyValidator("partition",cdk.validateString)(properties.partition)),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 "KafkaActionProperty"')}function cfnTopicRuleKafkaActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_KafkaActionPropertyValidator(properties).assertSuccess(),{ClientProperties:cdk.hashMapper(cdk.stringToCloudFormation)(properties.clientProperties),DestinationArn:cdk.stringToCloudFormation(properties.destinationArn),Key:cdk.stringToCloudFormation(properties.key),Partition:cdk.stringToCloudFormation(properties.partition),Topic:cdk.stringToCloudFormation(properties.topic)}):properties}function CfnTopicRuleKafkaActionPropertyFromCloudFormation(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("clientProperties","ClientProperties",cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.ClientProperties)),ret.addPropertyResult("destinationArn","DestinationArn",cfn_parse.FromCloudFormation.getString(properties.DestinationArn)),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse.FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("partition","Partition",properties.Partition!=null?cfn_parse.FromCloudFormation.getString(properties.Partition):void 0),ret.addPropertyResult("topic","Topic",cfn_parse.FromCloudFormation.getString(properties.Topic)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_KinesisActionPropertyValidator(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("partitionKey",cdk.validateString)(properties.partitionKey)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("streamName",cdk.requiredValidator)(properties.streamName)),errors.collect(cdk.propertyValidator("streamName",cdk.validateString)(properties.streamName)),errors.wrap('supplied properties not correct for "KinesisActionProperty"')}function cfnTopicRuleKinesisActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_KinesisActionPropertyValidator(properties).assertSuccess(),{PartitionKey:cdk.stringToCloudFormation(properties.partitionKey),RoleArn:cdk.stringToCloudFormation(properties.roleArn),StreamName:cdk.stringToCloudFormation(properties.streamName)}):properties}function CfnTopicRuleKinesisActionPropertyFromCloudFormation(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("partitionKey","PartitionKey",properties.PartitionKey!=null?cfn_parse.FromCloudFormation.getString(properties.PartitionKey):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("streamName","StreamName",cfn_parse.FromCloudFormation.getString(properties.StreamName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_LambdaActionPropertyValidator(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("functionArn",cdk.validateString)(properties.functionArn)),errors.wrap('supplied properties not correct for "LambdaActionProperty"')}function cfnTopicRuleLambdaActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_LambdaActionPropertyValidator(properties).assertSuccess(),{FunctionArn:cdk.stringToCloudFormation(properties.functionArn)}):properties}function CfnTopicRuleLambdaActionPropertyFromCloudFormation(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("functionArn","FunctionArn",properties.FunctionArn!=null?cfn_parse.FromCloudFormation.getString(properties.FunctionArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_LocationActionPropertyValidator(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("deviceId",cdk.requiredValidator)(properties.deviceId)),errors.collect(cdk.propertyValidator("deviceId",cdk.validateString)(properties.deviceId)),errors.collect(cdk.propertyValidator("latitude",cdk.requiredValidator)(properties.latitude)),errors.collect(cdk.propertyValidator("latitude",cdk.validateString)(properties.latitude)),errors.collect(cdk.propertyValidator("longitude",cdk.requiredValidator)(properties.longitude)),errors.collect(cdk.propertyValidator("longitude",cdk.validateString)(properties.longitude)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("timestamp",cdk.validateDate)(properties.timestamp)),errors.collect(cdk.propertyValidator("trackerName",cdk.requiredValidator)(properties.trackerName)),errors.collect(cdk.propertyValidator("trackerName",cdk.validateString)(properties.trackerName)),errors.wrap('supplied properties not correct for "LocationActionProperty"')}function cfnTopicRuleLocationActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_LocationActionPropertyValidator(properties).assertSuccess(),{DeviceId:cdk.stringToCloudFormation(properties.deviceId),Latitude:cdk.stringToCloudFormation(properties.latitude),Longitude:cdk.stringToCloudFormation(properties.longitude),RoleArn:cdk.stringToCloudFormation(properties.roleArn),Timestamp:cdk.dateToCloudFormation(properties.timestamp),TrackerName:cdk.stringToCloudFormation(properties.trackerName)}):properties}function CfnTopicRuleLocationActionPropertyFromCloudFormation(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("deviceId","DeviceId",cfn_parse.FromCloudFormation.getString(properties.DeviceId)),ret.addPropertyResult("latitude","Latitude",cfn_parse.FromCloudFormation.getString(properties.Latitude)),ret.addPropertyResult("longitude","Longitude",cfn_parse.FromCloudFormation.getString(properties.Longitude)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("timestamp","Timestamp",properties.Timestamp!=null?cfn_parse.FromCloudFormation.getDate(properties.Timestamp):void 0),ret.addPropertyResult("trackerName","TrackerName",cfn_parse.FromCloudFormation.getString(properties.TrackerName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_OpenSearchActionPropertyValidator(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("endpoint",cdk.requiredValidator)(properties.endpoint)),errors.collect(cdk.propertyValidator("endpoint",cdk.validateString)(properties.endpoint)),errors.collect(cdk.propertyValidator("id",cdk.requiredValidator)(properties.id)),errors.collect(cdk.propertyValidator("id",cdk.validateString)(properties.id)),errors.collect(cdk.propertyValidator("index",cdk.requiredValidator)(properties.index)),errors.collect(cdk.propertyValidator("index",cdk.validateString)(properties.index)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("type",cdk.requiredValidator)(properties.type)),errors.collect(cdk.propertyValidator("type",cdk.validateString)(properties.type)),errors.wrap('supplied properties not correct for "OpenSearchActionProperty"')}function cfnTopicRuleOpenSearchActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_OpenSearchActionPropertyValidator(properties).assertSuccess(),{Endpoint:cdk.stringToCloudFormation(properties.endpoint),Id:cdk.stringToCloudFormation(properties.id),Index:cdk.stringToCloudFormation(properties.index),RoleArn:cdk.stringToCloudFormation(properties.roleArn),Type:cdk.stringToCloudFormation(properties.type)}):properties}function CfnTopicRuleOpenSearchActionPropertyFromCloudFormation(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("endpoint","Endpoint",cfn_parse.FromCloudFormation.getString(properties.Endpoint)),ret.addPropertyResult("id","Id",cfn_parse.FromCloudFormation.getString(properties.Id)),ret.addPropertyResult("index","Index",cfn_parse.FromCloudFormation.getString(properties.Index)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("type","Type",cfn_parse.FromCloudFormation.getString(properties.Type)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_PutAssetPropertyValueEntryPropertyValidator(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("assetId",cdk.validateString)(properties.assetId)),errors.collect(cdk.propertyValidator("entryId",cdk.validateString)(properties.entryId)),errors.collect(cdk.propertyValidator("propertyAlias",cdk.validateString)(properties.propertyAlias)),errors.collect(cdk.propertyValidator("propertyId",cdk.validateString)(properties.propertyId)),errors.collect(cdk.propertyValidator("propertyValues",cdk.requiredValidator)(properties.propertyValues)),errors.collect(cdk.propertyValidator("propertyValues",cdk.listValidator(CfnTopicRule_AssetPropertyValuePropertyValidator))(properties.propertyValues)),errors.wrap('supplied properties not correct for "PutAssetPropertyValueEntryProperty"')}function cfnTopicRulePutAssetPropertyValueEntryPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_PutAssetPropertyValueEntryPropertyValidator(properties).assertSuccess(),{AssetId:cdk.stringToCloudFormation(properties.assetId),EntryId:cdk.stringToCloudFormation(properties.entryId),PropertyAlias:cdk.stringToCloudFormation(properties.propertyAlias),PropertyId:cdk.stringToCloudFormation(properties.propertyId),PropertyValues:cdk.listMapper(cfnTopicRuleAssetPropertyValuePropertyToCloudFormation)(properties.propertyValues)}):properties}function CfnTopicRulePutAssetPropertyValueEntryPropertyFromCloudFormation(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("assetId","AssetId",properties.AssetId!=null?cfn_parse.FromCloudFormation.getString(properties.AssetId):void 0),ret.addPropertyResult("entryId","EntryId",properties.EntryId!=null?cfn_parse.FromCloudFormation.getString(properties.EntryId):void 0),ret.addPropertyResult("propertyAlias","PropertyAlias",properties.PropertyAlias!=null?cfn_parse.FromCloudFormation.getString(properties.PropertyAlias):void 0),ret.addPropertyResult("propertyId","PropertyId",properties.PropertyId!=null?cfn_parse.FromCloudFormation.getString(properties.PropertyId):void 0),ret.addPropertyResult("propertyValues","PropertyValues",cfn_parse.FromCloudFormation.getArray(CfnTopicRuleAssetPropertyValuePropertyFromCloudFormation)(properties.PropertyValues)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_PutItemInputPropertyValidator(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("tableName",cdk.requiredValidator)(properties.tableName)),errors.collect(cdk.propertyValidator("tableName",cdk.validateString)(properties.tableName)),errors.wrap('supplied properties not correct for "PutItemInputProperty"')}function cfnTopicRulePutItemInputPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_PutItemInputPropertyValidator(properties).assertSuccess(),{TableName:cdk.stringToCloudFormation(properties.tableName)}):properties}function CfnTopicRulePutItemInputPropertyFromCloudFormation(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("tableName","TableName",cfn_parse.FromCloudFormation.getString(properties.TableName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_RepublishActionPropertyValidator(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("headers",CfnTopicRule_RepublishActionHeadersPropertyValidator)(properties.headers)),errors.collect(cdk.propertyValidator("qos",cdk.validateNumber)(properties.qos)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),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 "RepublishActionProperty"')}function cfnTopicRuleRepublishActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_RepublishActionPropertyValidator(properties).assertSuccess(),{Headers:cfnTopicRuleRepublishActionHeadersPropertyToCloudFormation(properties.headers),Qos:cdk.numberToCloudFormation(properties.qos),RoleArn:cdk.stringToCloudFormation(properties.roleArn),Topic:cdk.stringToCloudFormation(properties.topic)}):properties}function CfnTopicRuleRepublishActionPropertyFromCloudFormation(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("headers","Headers",properties.Headers!=null?CfnTopicRuleRepublishActionHeadersPropertyFromCloudFormation(properties.Headers):void 0),ret.addPropertyResult("qos","Qos",properties.Qos!=null?cfn_parse.FromCloudFormation.getNumber(properties.Qos):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("topic","Topic",cfn_parse.FromCloudFormation.getString(properties.Topic)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_RepublishActionHeadersPropertyValidator(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("contentType",cdk.validateString)(properties.contentType)),errors.collect(cdk.propertyValidator("correlationData",cdk.validateString)(properties.correlationData)),errors.collect(cdk.propertyValidator("messageExpiry",cdk.validateString)(properties.messageExpiry)),errors.collect(cdk.propertyValidator("payloadFormatIndicator",cdk.validateString)(properties.payloadFormatIndicator)),errors.collect(cdk.propertyValidator("responseTopic",cdk.validateString)(properties.responseTopic)),errors.collect(cdk.propertyValidator("userProperties",cdk.listValidator(CfnTopicRule_UserPropertyPropertyValidator))(properties.userProperties)),errors.wrap('supplied properties not correct for "RepublishActionHeadersProperty"')}function cfnTopicRuleRepublishActionHeadersPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_RepublishActionHeadersPropertyValidator(properties).assertSuccess(),{ContentType:cdk.stringToCloudFormation(properties.contentType),CorrelationData:cdk.stringToCloudFormation(properties.correlationData),MessageExpiry:cdk.stringToCloudFormation(properties.messageExpiry),PayloadFormatIndicator:cdk.stringToCloudFormation(properties.payloadFormatIndicator),ResponseTopic:cdk.stringToCloudFormation(properties.responseTopic),UserProperties:cdk.listMapper(cfnTopicRuleUserPropertyPropertyToCloudFormation)(properties.userProperties)}):properties}function CfnTopicRuleRepublishActionHeadersPropertyFromCloudFormation(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("contentType","ContentType",properties.ContentType!=null?cfn_parse.FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("correlationData","CorrelationData",properties.CorrelationData!=null?cfn_parse.FromCloudFormation.getString(properties.CorrelationData):void 0),ret.addPropertyResult("messageExpiry","MessageExpiry",properties.MessageExpiry!=null?cfn_parse.FromCloudFormation.getString(properties.MessageExpiry):void 0),ret.addPropertyResult("payloadFormatIndicator","PayloadFormatIndicator",properties.PayloadFormatIndicator!=null?cfn_parse.FromCloudFormation.getString(properties.PayloadFormatIndicator):void 0),ret.addPropertyResult("responseTopic","ResponseTopic",properties.ResponseTopic!=null?cfn_parse.FromCloudFormation.getString(properties.ResponseTopic):void 0),ret.addPropertyResult("userProperties","UserProperties",properties.UserProperties!=null?cfn_parse.FromCloudFormation.getArray(CfnTopicRuleUserPropertyPropertyFromCloudFormation)(properties.UserProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_S3ActionPropertyValidator(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("bucketName",cdk.requiredValidator)(properties.bucketName)),errors.collect(cdk.propertyValidator("bucketName",cdk.validateString)(properties.bucketName)),errors.collect(cdk.propertyValidator("cannedAcl",cdk.validateString)(properties.cannedAcl)),errors.collect(cdk.propertyValidator("key",cdk.requiredValidator)(properties.key)),errors.collect(cdk.propertyValidator("key",cdk.validateString)(properties.key)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "S3ActionProperty"')}function cfnTopicRuleS3ActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_S3ActionPropertyValidator(properties).assertSuccess(),{BucketName:cdk.stringToCloudFormation(properties.bucketName),CannedAcl:cdk.stringToCloudFormation(properties.cannedAcl),Key:cdk.stringToCloudFormation(properties.key),RoleArn:cdk.stringToCloudFormation(properties.roleArn)}):properties}function CfnTopicRuleS3ActionPropertyFromCloudFormation(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("bucketName","BucketName",cfn_parse.FromCloudFormation.getString(properties.BucketName)),ret.addPropertyResult("cannedAcl","CannedAcl",properties.CannedAcl!=null?cfn_parse.FromCloudFormation.getString(properties.CannedAcl):void 0),ret.addPropertyResult("key","Key",cfn_parse.FromCloudFormation.getString(properties.Key)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_SigV4AuthorizationPropertyValidator(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("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("serviceName",cdk.requiredValidator)(properties.serviceName)),errors.collect(cdk.propertyValidator("serviceName",cdk.validateString)(properties.serviceName)),errors.collect(cdk.propertyValidator("signingRegion",cdk.requiredValidator)(properties.signingRegion)),errors.collect(cdk.propertyValidator("signingRegion",cdk.validateString)(properties.signingRegion)),errors.wrap('supplied properties not correct for "SigV4AuthorizationProperty"')}function cfnTopicRuleSigV4AuthorizationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_SigV4AuthorizationPropertyValidator(properties).assertSuccess(),{RoleArn:cdk.stringToCloudFormation(properties.roleArn),ServiceName:cdk.stringToCloudFormation(properties.serviceName),SigningRegion:cdk.stringToCloudFormation(properties.signingRegion)}):properties}function CfnTopicRuleSigV4AuthorizationPropertyFromCloudFormation(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("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("serviceName","ServiceName",cfn_parse.FromCloudFormation.getString(properties.ServiceName)),ret.addPropertyResult("signingRegion","SigningRegion",cfn_parse.FromCloudFormation.getString(properties.SigningRegion)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_SnsActionPropertyValidator(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("messageFormat",cdk.validateString)(properties.messageFormat)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("targetArn",cdk.requiredValidator)(properties.targetArn)),errors.collect(cdk.propertyValidator("targetArn",cdk.validateString)(properties.targetArn)),errors.wrap('supplied properties not correct for "SnsActionProperty"')}function cfnTopicRuleSnsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_SnsActionPropertyValidator(properties).assertSuccess(),{MessageFormat:cdk.stringToCloudFormation(properties.messageFormat),RoleArn:cdk.stringToCloudFormation(properties.roleArn),TargetArn:cdk.stringToCloudFormation(properties.targetArn)}):properties}function CfnTopicRuleSnsActionPropertyFromCloudFormation(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("messageFormat","MessageFormat",properties.MessageFormat!=null?cfn_parse.FromCloudFormation.getString(properties.MessageFormat):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("targetArn","TargetArn",cfn_parse.FromCloudFormation.getString(properties.TargetArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_SqsActionPropertyValidator(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("queueUrl",cdk.requiredValidator)(properties.queueUrl)),errors.collect(cdk.propertyValidator("queueUrl",cdk.validateString)(properties.queueUrl)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("useBase64",cdk.validateBoolean)(properties.useBase64)),errors.wrap('supplied properties not correct for "SqsActionProperty"')}function cfnTopicRuleSqsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_SqsActionPropertyValidator(properties).assertSuccess(),{QueueUrl:cdk.stringToCloudFormation(properties.queueUrl),RoleArn:cdk.stringToCloudFormation(properties.roleArn),UseBase64:cdk.booleanToCloudFormation(properties.useBase64)}):properties}function CfnTopicRuleSqsActionPropertyFromCloudFormation(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("queueUrl","QueueUrl",cfn_parse.FromCloudFormation.getString(properties.QueueUrl)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("useBase64","UseBase64",properties.UseBase64!=null?cfn_parse.FromCloudFormation.getBoolean(properties.UseBase64):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_StepFunctionsActionPropertyValidator(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("executionNamePrefix",cdk.validateString)(properties.executionNamePrefix)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("stateMachineName",cdk.requiredValidator)(properties.stateMachineName)),errors.collect(cdk.propertyValidator("stateMachineName",cdk.validateString)(properties.stateMachineName)),errors.wrap('supplied properties not correct for "StepFunctionsActionProperty"')}function cfnTopicRuleStepFunctionsActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_StepFunctionsActionPropertyValidator(properties).assertSuccess(),{ExecutionNamePrefix:cdk.stringToCloudFormation(properties.executionNamePrefix),RoleArn:cdk.stringToCloudFormation(properties.roleArn),StateMachineName:cdk.stringToCloudFormation(properties.stateMachineName)}):properties}function CfnTopicRuleStepFunctionsActionPropertyFromCloudFormation(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("executionNamePrefix","ExecutionNamePrefix",properties.ExecutionNamePrefix!=null?cfn_parse.FromCloudFormation.getString(properties.ExecutionNamePrefix):void 0),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("stateMachineName","StateMachineName",cfn_parse.FromCloudFormation.getString(properties.StateMachineName)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_TimestampPropertyValidator(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("unit",cdk.validateString)(properties.unit)),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 "TimestampProperty"')}function cfnTopicRuleTimestampPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_TimestampPropertyValidator(properties).assertSuccess(),{Unit:cdk.stringToCloudFormation(properties.unit),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnTopicRuleTimestampPropertyFromCloudFormation(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("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getString(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_TimestreamActionPropertyValidator(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("databaseName",cdk.requiredValidator)(properties.databaseName)),errors.collect(cdk.propertyValidator("databaseName",cdk.validateString)(properties.databaseName)),errors.collect(cdk.propertyValidator("dimensions",cdk.requiredValidator)(properties.dimensions)),errors.collect(cdk.propertyValidator("dimensions",cdk.listValidator(CfnTopicRule_TimestreamDimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk.propertyValidator("roleArn",cdk.requiredValidator)(properties.roleArn)),errors.collect(cdk.propertyValidator("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("tableName",cdk.requiredValidator)(properties.tableName)),errors.collect(cdk.propertyValidator("tableName",cdk.validateString)(properties.tableName)),errors.collect(cdk.propertyValidator("timestamp",CfnTopicRule_TimestreamTimestampPropertyValidator)(properties.timestamp)),errors.wrap('supplied properties not correct for "TimestreamActionProperty"')}function cfnTopicRuleTimestreamActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_TimestreamActionPropertyValidator(properties).assertSuccess(),{DatabaseName:cdk.stringToCloudFormation(properties.databaseName),Dimensions:cdk.listMapper(cfnTopicRuleTimestreamDimensionPropertyToCloudFormation)(properties.dimensions),RoleArn:cdk.stringToCloudFormation(properties.roleArn),TableName:cdk.stringToCloudFormation(properties.tableName),Timestamp:cfnTopicRuleTimestreamTimestampPropertyToCloudFormation(properties.timestamp)}):properties}function CfnTopicRuleTimestreamActionPropertyFromCloudFormation(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("databaseName","DatabaseName",cfn_parse.FromCloudFormation.getString(properties.DatabaseName)),ret.addPropertyResult("dimensions","Dimensions",cfn_parse.FromCloudFormation.getArray(CfnTopicRuleTimestreamDimensionPropertyFromCloudFormation)(properties.Dimensions)),ret.addPropertyResult("roleArn","RoleArn",cfn_parse.FromCloudFormation.getString(properties.RoleArn)),ret.addPropertyResult("tableName","TableName",cfn_parse.FromCloudFormation.getString(properties.TableName)),ret.addPropertyResult("timestamp","Timestamp",properties.Timestamp!=null?CfnTopicRuleTimestreamTimestampPropertyFromCloudFormation(properties.Timestamp):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_TimestreamDimensionPropertyValidator(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 "TimestreamDimensionProperty"')}function cfnTopicRuleTimestreamDimensionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_TimestreamDimensionPropertyValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnTopicRuleTimestreamDimensionPropertyFromCloudFormation(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 CfnTopicRule_TimestreamTimestampPropertyValidator(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("unit",cdk.requiredValidator)(properties.unit)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),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 "TimestreamTimestampProperty"')}function cfnTopicRuleTimestreamTimestampPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_TimestreamTimestampPropertyValidator(properties).assertSuccess(),{Unit:cdk.stringToCloudFormation(properties.unit),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnTopicRuleTimestreamTimestampPropertyFromCloudFormation(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("unit","Unit",cfn_parse.FromCloudFormation.getString(properties.Unit)),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getString(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_TopicRulePayloadPropertyValidator(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("actions",cdk.requiredValidator)(properties.actions)),errors.collect(cdk.propertyValidator("actions",cdk.listValidator(CfnTopicRule_ActionPropertyValidator))(properties.actions)),errors.collect(cdk.propertyValidator("awsIotSqlVersion",cdk.validateString)(properties.awsIotSqlVersion)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("errorAction",CfnTopicRule_ActionPropertyValidator)(properties.errorAction)),errors.collect(cdk.propertyValidator("ruleDisabled",cdk.validateBoolean)(properties.ruleDisabled)),errors.collect(cdk.propertyValidator("sql",cdk.requiredValidator)(properties.sql)),errors.collect(cdk.propertyValidator("sql",cdk.validateString)(properties.sql)),errors.wrap('supplied properties not correct for "TopicRulePayloadProperty"')}function cfnTopicRuleTopicRulePayloadPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_TopicRulePayloadPropertyValidator(properties).assertSuccess(),{Actions:cdk.listMapper(cfnTopicRuleActionPropertyToCloudFormation)(properties.actions),AwsIotSqlVersion:cdk.stringToCloudFormation(properties.awsIotSqlVersion),Description:cdk.stringToCloudFormation(properties.description),ErrorAction:cfnTopicRuleActionPropertyToCloudFormation(properties.errorAction),RuleDisabled:cdk.booleanToCloudFormation(properties.ruleDisabled),Sql:cdk.stringToCloudFormation(properties.sql)}):properties}function CfnTopicRuleTopicRulePayloadPropertyFromCloudFormation(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("actions","Actions",cfn_parse.FromCloudFormation.getArray(CfnTopicRuleActionPropertyFromCloudFormation)(properties.Actions)),ret.addPropertyResult("awsIotSqlVersion","AwsIotSqlVersion",properties.AwsIotSqlVersion!=null?cfn_parse.FromCloudFormation.getString(properties.AwsIotSqlVersion):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("errorAction","ErrorAction",properties.ErrorAction!=null?CfnTopicRuleActionPropertyFromCloudFormation(properties.ErrorAction):void 0),ret.addPropertyResult("ruleDisabled","RuleDisabled",properties.RuleDisabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.RuleDisabled):void 0),ret.addPropertyResult("sql","Sql",cfn_parse.FromCloudFormation.getString(properties.Sql)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRule_UserPropertyPropertyValidator(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 "UserPropertyProperty"')}function cfnTopicRuleUserPropertyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRule_UserPropertyPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnTopicRuleUserPropertyPropertyFromCloudFormation(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 CfnTopicRuleDestinationPropsValidator(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("httpUrlProperties",CfnTopicRuleDestination_HttpUrlDestinationSummaryPropertyValidator)(properties.httpUrlProperties)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.collect(cdk.propertyValidator("vpcProperties",CfnTopicRuleDestination_VpcDestinationPropertiesPropertyValidator)(properties.vpcProperties)),errors.wrap('supplied properties not correct for "CfnTopicRuleDestinationProps"')}function cfnTopicRuleDestinationPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRuleDestinationPropsValidator(properties).assertSuccess(),{HttpUrlProperties:cfnTopicRuleDestinationHttpUrlDestinationSummaryPropertyToCloudFormation(properties.httpUrlProperties),Status:cdk.stringToCloudFormation(properties.status),VpcProperties:cfnTopicRuleDestinationVpcDestinationPropertiesPropertyToCloudFormation(properties.vpcProperties)}):properties}function CfnTopicRuleDestinationPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("httpUrlProperties","HttpUrlProperties",properties.HttpUrlProperties!=null?CfnTopicRuleDestinationHttpUrlDestinationSummaryPropertyFromCloudFormation(properties.HttpUrlProperties):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse.FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("vpcProperties","VpcProperties",properties.VpcProperties!=null?CfnTopicRuleDestinationVpcDestinationPropertiesPropertyFromCloudFormation(properties.VpcProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTopicRuleDestination extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnTopicRuleDestination.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_iot_CfnTopicRuleDestinationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTopicRuleDestination),error}this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrStatusReason=cdk.Token.asString(this.getAtt("StatusReason")),this.httpUrlProperties=props.httpUrlProperties,this.status=props.status,this.vpcProperties=props.vpcProperties}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTopicRuleDestinationPropsFromCloudFormation(resourceProperties),ret=new CfnTopicRuleDestination(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",CfnTopicRuleDestination.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{httpUrlProperties:this.httpUrlProperties,status:this.status,vpcProperties:this.vpcProperties}}renderProperties(props){return cfnTopicRuleDestinationPropsToCloudFormation(props)}}exports.CfnTopicRuleDestination=CfnTopicRuleDestination,_x=JSII_RTTI_SYMBOL_1,CfnTopicRuleDestination[_x]={fqn:"aws-cdk-lib.aws_iot.CfnTopicRuleDestination",version:"2.51.1"},CfnTopicRuleDestination.CFN_RESOURCE_TYPE_NAME="AWS::IoT::TopicRuleDestination";function CfnTopicRuleDestination_HttpUrlDestinationSummaryPropertyValidator(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("confirmationUrl",cdk.validateString)(properties.confirmationUrl)),errors.wrap('supplied properties not correct for "HttpUrlDestinationSummaryProperty"')}function cfnTopicRuleDestinationHttpUrlDestinationSummaryPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRuleDestination_HttpUrlDestinationSummaryPropertyValidator(properties).assertSuccess(),{ConfirmationUrl:cdk.stringToCloudFormation(properties.confirmationUrl)}):properties}function CfnTopicRuleDestinationHttpUrlDestinationSummaryPropertyFromCloudFormation(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("confirmationUrl","ConfirmationUrl",properties.ConfirmationUrl!=null?cfn_parse.FromCloudFormation.getString(properties.ConfirmationUrl):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicRuleDestination_VpcDestinationPropertiesPropertyValidator(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("roleArn",cdk.validateString)(properties.roleArn)),errors.collect(cdk.propertyValidator("securityGroups",cdk.listValidator(cdk.validateString))(properties.securityGroups)),errors.collect(cdk.propertyValidator("subnetIds",cdk.listValidator(cdk.validateString))(properties.subnetIds)),errors.collect(cdk.propertyValidator("vpcId",cdk.validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "VpcDestinationPropertiesProperty"')}function cfnTopicRuleDestinationVpcDestinationPropertiesPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicRuleDestination_VpcDestinationPropertiesPropertyValidator(properties).assertSuccess(),{RoleArn:cdk.stringToCloudFormation(properties.roleArn),SecurityGroups:cdk.listMapper(cdk.stringToCloudFormation)(properties.securityGroups),SubnetIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.subnetIds),VpcId:cdk.stringToCloudFormation(properties.vpcId)}):properties}function CfnTopicRuleDestinationVpcDestinationPropertiesPropertyFromCloudFormation(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("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("securityGroups","SecurityGroups",properties.SecurityGroups!=null?cfn_parse.FromCloudFormation.getStringArray(properties.SecurityGroups):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse.FromCloudFormation.getStringArray(properties.SubnetIds):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse.FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}
2
2
  //# sourceMappingURL=iot.generated.js.map