aws-cdk-lib 2.52.0 → 2.52.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.
- package/.jsii.gz +0 -0
- package/alexa-ask/lib/ask.generated.js +1 -1
- package/assertions/lib/annotations.js +1 -1
- package/assertions/lib/capture.js +1 -1
- package/assertions/lib/match.js +1 -1
- package/assertions/lib/matcher.js +1 -1
- package/assertions/lib/template.js +1 -1
- package/assets/lib/staging.js +1 -1
- package/aws-accessanalyzer/lib/accessanalyzer.generated.js +1 -1
- package/aws-acmpca/lib/acmpca.generated.js +1 -1
- package/aws-acmpca/lib/certificate-authority.js +1 -1
- package/aws-amazonmq/lib/amazonmq.generated.js +1 -1
- package/aws-amplify/lib/amplify.generated.js +1 -1
- package/aws-amplifyuibuilder/lib/amplifyuibuilder.generated.js +1 -1
- package/aws-apigateway/lib/access-log.js +1 -1
- package/aws-apigateway/lib/api-definition.js +1 -1
- package/aws-apigateway/lib/api-key.js +1 -1
- package/aws-apigateway/lib/apigateway.generated.js +1 -1
- package/aws-apigateway/lib/apigatewayv2.js +1 -1
- package/aws-apigateway/lib/authorizer.js +1 -1
- package/aws-apigateway/lib/authorizers/cognito.js +1 -1
- package/aws-apigateway/lib/authorizers/identity-source.js +1 -1
- package/aws-apigateway/lib/authorizers/lambda.js +1 -1
- package/aws-apigateway/lib/base-path-mapping.js +1 -1
- package/aws-apigateway/lib/cors.js +1 -1
- package/aws-apigateway/lib/deployment.js +1 -1
- package/aws-apigateway/lib/domain-name.js +1 -1
- package/aws-apigateway/lib/gateway-response.js +1 -1
- package/aws-apigateway/lib/integration.js +1 -1
- package/aws-apigateway/lib/integrations/aws.js +1 -1
- package/aws-apigateway/lib/integrations/http.js +1 -1
- package/aws-apigateway/lib/integrations/lambda.js +1 -1
- package/aws-apigateway/lib/integrations/mock.js +1 -1
- package/aws-apigateway/lib/integrations/stepfunctions.js +1 -1
- package/aws-apigateway/lib/lambda-api.js +1 -1
- package/aws-apigateway/lib/method.js +1 -1
- package/aws-apigateway/lib/model.js +1 -1
- package/aws-apigateway/lib/requestvalidator.js +1 -1
- package/aws-apigateway/lib/resource.js +1 -1
- package/aws-apigateway/lib/restapi.js +1 -1
- package/aws-apigateway/lib/stage.js +1 -1
- package/aws-apigateway/lib/stepfunctions-api.js +1 -1
- package/aws-apigateway/lib/usage-plan.js +1 -1
- package/aws-apigateway/lib/vpc-link.js +1 -1
- package/aws-apigatewayv2/lib/apigatewayv2.generated.js +1 -1
- package/aws-appconfig/lib/appconfig.generated.js +1 -1
- package/aws-appflow/lib/appflow.generated.js +1 -1
- package/aws-appintegrations/lib/appintegrations.generated.js +1 -1
- package/aws-applicationautoscaling/lib/applicationautoscaling.generated.js +1 -1
- package/aws-applicationautoscaling/lib/base-scalable-attribute.js +1 -1
- package/aws-applicationautoscaling/lib/scalable-target.js +1 -1
- package/aws-applicationautoscaling/lib/schedule.js +1 -1
- package/aws-applicationautoscaling/lib/step-scaling-action.js +1 -1
- package/aws-applicationautoscaling/lib/step-scaling-policy.js +1 -1
- package/aws-applicationautoscaling/lib/target-tracking-scaling-policy.js +1 -1
- package/aws-applicationinsights/lib/applicationinsights.generated.js +1 -1
- package/aws-appmesh/lib/appmesh.generated.js +1 -1
- package/aws-appmesh/lib/gateway-route-spec.js +1 -1
- package/aws-appmesh/lib/gateway-route.js +1 -1
- package/aws-appmesh/lib/header-match.js +1 -1
- package/aws-appmesh/lib/health-checks.js +1 -1
- package/aws-appmesh/lib/http-route-path-match.js +1 -1
- package/aws-appmesh/lib/mesh.js +1 -1
- package/aws-appmesh/lib/query-parameter-match.js +1 -1
- package/aws-appmesh/lib/route-spec.js +1 -1
- package/aws-appmesh/lib/route.js +1 -1
- package/aws-appmesh/lib/service-discovery.js +1 -1
- package/aws-appmesh/lib/shared-interfaces.js +1 -1
- package/aws-appmesh/lib/tls-certificate.js +1 -1
- package/aws-appmesh/lib/tls-validation.js +1 -1
- package/aws-appmesh/lib/virtual-gateway-listener.js +1 -1
- package/aws-appmesh/lib/virtual-gateway.js +1 -1
- package/aws-appmesh/lib/virtual-node-listener.js +1 -1
- package/aws-appmesh/lib/virtual-node.js +1 -1
- package/aws-appmesh/lib/virtual-router-listener.js +1 -1
- package/aws-appmesh/lib/virtual-router.js +1 -1
- package/aws-appmesh/lib/virtual-service.js +1 -1
- package/aws-apprunner/lib/apprunner.generated.js +1 -1
- package/aws-appstream/lib/appstream.generated.js +1 -1
- package/aws-appsync/lib/appsync.generated.js +1 -1
- package/aws-aps/lib/aps.generated.js +1 -1
- package/aws-athena/lib/athena.generated.js +1 -1
- package/aws-auditmanager/lib/auditmanager.generated.js +1 -1
- package/aws-autoscaling/lib/aspects/require-imdsv2-aspect.js +1 -1
- package/aws-autoscaling/lib/auto-scaling-group.js +1 -1
- package/aws-autoscaling/lib/autoscaling.generated.js +1 -1
- package/aws-autoscaling/lib/lifecycle-hook.js +1 -1
- package/aws-autoscaling/lib/schedule.js +1 -1
- package/aws-autoscaling/lib/scheduled-action.js +1 -1
- package/aws-autoscaling/lib/step-scaling-action.js +1 -1
- package/aws-autoscaling/lib/step-scaling-policy.js +1 -1
- package/aws-autoscaling/lib/target-tracking-scaling-policy.js +1 -1
- package/aws-autoscaling/lib/volume.js +1 -1
- package/aws-autoscaling/lib/warm-pool.js +1 -1
- package/aws-autoscaling-hooktargets/lib/lambda-hook.js +1 -1
- package/aws-autoscaling-hooktargets/lib/queue-hook.js +1 -1
- package/aws-autoscaling-hooktargets/lib/topic-hook.js +1 -1
- package/aws-autoscalingplans/lib/autoscalingplans.generated.js +1 -1
- package/aws-backup/lib/backup.generated.js +1 -1
- package/aws-backup/lib/plan.js +1 -1
- package/aws-backup/lib/resource.js +1 -1
- package/aws-backup/lib/rule.js +1 -1
- package/aws-backup/lib/selection.js +1 -1
- package/aws-backup/lib/vault.js +1 -1
- package/aws-batch/lib/batch.generated.js +1 -1
- package/aws-billingconductor/lib/billingconductor.generated.js +1 -1
- package/aws-budgets/lib/budgets.generated.js +1 -1
- package/aws-cassandra/lib/cassandra.generated.js +1 -1
- package/aws-ce/lib/ce.generated.js +1 -1
- package/aws-certificatemanager/lib/certificate.js +1 -1
- package/aws-certificatemanager/lib/certificatemanager.generated.js +1 -1
- package/aws-certificatemanager/lib/dns-validated-certificate.js +1 -1
- package/aws-certificatemanager/lib/private-certificate.js +1 -1
- package/aws-chatbot/lib/chatbot.generated.js +1 -1
- package/aws-chatbot/lib/slack-channel-configuration.js +1 -1
- package/aws-cloud9/lib/cloud9.generated.js +1 -1
- package/aws-cloudformation/lib/cloudformation.generated.js +1 -1
- package/aws-cloudformation/lib/custom-resource.js +1 -1
- package/aws-cloudformation/lib/nested-stack.js +1 -1
- package/aws-cloudfront/lib/cache-policy.js +1 -1
- package/aws-cloudfront/lib/cloudfront.generated.js +1 -1
- package/aws-cloudfront/lib/distribution.js +1 -1
- package/aws-cloudfront/lib/experimental/edge-function.js +1 -1
- package/aws-cloudfront/lib/function.js +1 -1
- package/aws-cloudfront/lib/geo-restriction.js +1 -1
- package/aws-cloudfront/lib/key-group.js +1 -1
- package/aws-cloudfront/lib/origin-access-identity.js +1 -1
- package/aws-cloudfront/lib/origin-request-policy.js +1 -1
- package/aws-cloudfront/lib/origin.js +1 -1
- package/aws-cloudfront/lib/public-key.js +1 -1
- package/aws-cloudfront/lib/response-headers-policy.js +1 -1
- package/aws-cloudfront/lib/web-distribution.js +2 -2
- package/aws-cloudfront-origins/lib/http-origin.js +1 -1
- package/aws-cloudfront-origins/lib/load-balancer-origin.js +1 -1
- package/aws-cloudfront-origins/lib/origin-group.js +1 -1
- package/aws-cloudfront-origins/lib/rest-api-origin.js +1 -1
- package/aws-cloudfront-origins/lib/s3-origin.js +1 -1
- package/aws-cloudtrail/lib/cloudtrail.generated.js +1 -1
- package/aws-cloudtrail/lib/cloudtrail.js +1 -1
- package/aws-cloudwatch/lib/alarm-base.js +1 -1
- package/aws-cloudwatch/lib/alarm-rule.js +1 -1
- package/aws-cloudwatch/lib/alarm-status-widget.js +1 -1
- package/aws-cloudwatch/lib/alarm.js +1 -1
- package/aws-cloudwatch/lib/cloudwatch.generated.js +1 -1
- package/aws-cloudwatch/lib/composite-alarm.js +1 -1
- package/aws-cloudwatch/lib/dashboard.js +1 -1
- package/aws-cloudwatch/lib/graph.js +1 -1
- package/aws-cloudwatch/lib/layout.js +1 -1
- package/aws-cloudwatch/lib/log-query.js +1 -1
- package/aws-cloudwatch/lib/metric.js +1 -1
- package/aws-cloudwatch/lib/text.js +1 -1
- package/aws-cloudwatch/lib/widget.js +1 -1
- package/aws-cloudwatch-actions/lib/appscaling.js +1 -1
- package/aws-cloudwatch-actions/lib/autoscaling.js +1 -1
- package/aws-cloudwatch-actions/lib/ec2.js +1 -1
- package/aws-cloudwatch-actions/lib/sns.js +1 -1
- package/aws-cloudwatch-actions/lib/ssm.js +1 -1
- package/aws-codeartifact/lib/codeartifact.generated.js +1 -1
- package/aws-codebuild/lib/artifacts.js +1 -1
- package/aws-codebuild/lib/build-spec.js +1 -1
- package/aws-codebuild/lib/cache.js +1 -1
- package/aws-codebuild/lib/codebuild.generated.js +1 -1
- package/aws-codebuild/lib/events.js +1 -1
- package/aws-codebuild/lib/file-location.js +1 -1
- package/aws-codebuild/lib/linux-arm-build-image.js +1 -1
- package/aws-codebuild/lib/linux-gpu-build-image.js +1 -1
- package/aws-codebuild/lib/pipeline-project.js +1 -1
- package/aws-codebuild/lib/project.js +1 -1
- package/aws-codebuild/lib/report-group.js +1 -1
- package/aws-codebuild/lib/source-credentials.js +1 -1
- package/aws-codebuild/lib/source.js +1 -1
- package/aws-codebuild/lib/untrusted-code-boundary-policy.js +1 -1
- package/aws-codecommit/lib/code.js +1 -1
- package/aws-codecommit/lib/codecommit.generated.js +1 -1
- package/aws-codecommit/lib/events.js +1 -1
- package/aws-codecommit/lib/repository.js +1 -1
- package/aws-codedeploy/lib/base-deployment-config.js +1 -1
- package/aws-codedeploy/lib/codedeploy.generated.js +1 -1
- package/aws-codedeploy/lib/ecs/application.js +1 -1
- package/aws-codedeploy/lib/ecs/deployment-config.js +1 -1
- package/aws-codedeploy/lib/ecs/deployment-group.js +1 -1
- package/aws-codedeploy/lib/host-health-config.js +1 -1
- package/aws-codedeploy/lib/lambda/application.js +1 -1
- package/aws-codedeploy/lib/lambda/custom-deployment-config.js +1 -1
- package/aws-codedeploy/lib/lambda/deployment-config.js +1 -1
- package/aws-codedeploy/lib/lambda/deployment-group.js +1 -1
- package/aws-codedeploy/lib/server/application.js +1 -1
- package/aws-codedeploy/lib/server/deployment-config.js +1 -1
- package/aws-codedeploy/lib/server/deployment-group.js +1 -1
- package/aws-codedeploy/lib/server/load-balancer.js +1 -1
- package/aws-codedeploy/lib/traffic-routing-config.js +1 -1
- package/aws-codeguruprofiler/lib/codeguruprofiler.generated.js +1 -1
- package/aws-codeguruprofiler/lib/profiling-group.js +1 -1
- package/aws-codegurureviewer/lib/codegurureviewer.generated.js +1 -1
- package/aws-codepipeline/lib/action.js +1 -1
- package/aws-codepipeline/lib/artifact.js +1 -1
- package/aws-codepipeline/lib/codepipeline.generated.js +1 -1
- package/aws-codepipeline/lib/custom-action-registration.js +1 -1
- package/aws-codepipeline/lib/pipeline.js +1 -1
- package/aws-codepipeline-actions/lib/action.js +1 -1
- package/aws-codepipeline-actions/lib/alexa-ask/deploy-action.js +1 -1
- package/aws-codepipeline-actions/lib/bitbucket/source-action.js +1 -1
- package/aws-codepipeline-actions/lib/cloudformation/pipeline-actions.js +1 -1
- package/aws-codepipeline-actions/lib/cloudformation/stackinstances-action.js +1 -1
- package/aws-codepipeline-actions/lib/cloudformation/stackset-action.js +1 -1
- package/aws-codepipeline-actions/lib/cloudformation/stackset-types.js +1 -1
- package/aws-codepipeline-actions/lib/codebuild/build-action.js +1 -1
- package/aws-codepipeline-actions/lib/codecommit/source-action.js +1 -1
- package/aws-codepipeline-actions/lib/codedeploy/ecs-deploy-action.js +1 -1
- package/aws-codepipeline-actions/lib/codedeploy/server-deploy-action.js +1 -1
- package/aws-codepipeline-actions/lib/codestar-connections/source-action.js +1 -1
- package/aws-codepipeline-actions/lib/ecr/source-action.js +1 -1
- package/aws-codepipeline-actions/lib/ecs/deploy-action.js +1 -1
- package/aws-codepipeline-actions/lib/elastic-beanstalk/deploy-action.js +1 -1
- package/aws-codepipeline-actions/lib/github/source-action.js +1 -1
- package/aws-codepipeline-actions/lib/jenkins/jenkins-action.js +1 -1
- package/aws-codepipeline-actions/lib/jenkins/jenkins-provider.js +1 -1
- package/aws-codepipeline-actions/lib/lambda/invoke-action.js +1 -1
- package/aws-codepipeline-actions/lib/manual-approval-action.js +1 -1
- package/aws-codepipeline-actions/lib/s3/deploy-action.js +1 -1
- package/aws-codepipeline-actions/lib/s3/source-action.js +1 -1
- package/aws-codepipeline-actions/lib/servicecatalog/deploy-action-beta1.js +1 -1
- package/aws-codepipeline-actions/lib/stepfunctions/invoke-action.js +1 -1
- package/aws-codestar/lib/codestar.generated.js +1 -1
- package/aws-codestarconnections/lib/codestarconnections.generated.js +1 -1
- package/aws-codestarnotifications/lib/codestarnotifications.generated.js +1 -1
- package/aws-codestarnotifications/lib/notification-rule.js +1 -1
- package/aws-cognito/lib/cognito.generated.js +1 -1
- package/aws-cognito/lib/user-pool-attr.js +1 -1
- package/aws-cognito/lib/user-pool-client.js +1 -1
- package/aws-cognito/lib/user-pool-domain.js +1 -1
- package/aws-cognito/lib/user-pool-email.js +1 -1
- package/aws-cognito/lib/user-pool-idp.js +1 -1
- package/aws-cognito/lib/user-pool-idps/amazon.js +1 -1
- package/aws-cognito/lib/user-pool-idps/apple.js +1 -1
- package/aws-cognito/lib/user-pool-idps/base.js +1 -1
- package/aws-cognito/lib/user-pool-idps/facebook.js +1 -1
- package/aws-cognito/lib/user-pool-idps/google.js +1 -1
- package/aws-cognito/lib/user-pool-idps/oidc.js +1 -1
- package/aws-cognito/lib/user-pool-idps/saml.js +1 -1
- package/aws-cognito/lib/user-pool-resource-server.js +1 -1
- package/aws-cognito/lib/user-pool.js +1 -1
- package/aws-config/lib/config.generated.js +1 -1
- package/aws-config/lib/managed-rules.js +1 -1
- package/aws-config/lib/rule.js +1 -1
- package/aws-connect/lib/connect.generated.js +1 -1
- package/aws-connectcampaigns/lib/connectcampaigns.generated.js +1 -1
- package/aws-controltower/lib/controltower.generated.js +1 -1
- package/aws-cur/lib/cur.generated.js +1 -1
- package/aws-customerprofiles/lib/customerprofiles.generated.js +1 -1
- package/aws-databrew/lib/databrew.generated.js +1 -1
- package/aws-datapipeline/lib/datapipeline.generated.js +1 -1
- package/aws-datasync/lib/datasync.generated.js +1 -1
- package/aws-dax/lib/dax.generated.js +1 -1
- package/aws-detective/lib/detective.generated.js +1 -1
- package/aws-devopsguru/lib/devopsguru.generated.js +1 -1
- package/aws-directoryservice/lib/directoryservice.generated.js +1 -1
- package/aws-dlm/lib/dlm.generated.js +1 -1
- package/aws-dms/lib/dms.generated.js +1 -1
- package/aws-docdb/lib/cluster.js +1 -1
- package/aws-docdb/lib/database-secret.js +1 -1
- package/aws-docdb/lib/docdb.generated.js +1 -1
- package/aws-docdb/lib/endpoint.js +1 -1
- package/aws-docdb/lib/instance.js +1 -1
- package/aws-docdb/lib/parameter-group.js +1 -1
- package/aws-dynamodb/lib/dynamodb.generated.js +1 -1
- package/aws-dynamodb/lib/table.js +1 -1
- package/aws-ec2/lib/aspects/require-imdsv2-aspect.js +1 -1
- package/aws-ec2/lib/bastion-host.js +1 -1
- package/aws-ec2/lib/cfn-init-elements.js +1 -1
- package/aws-ec2/lib/cfn-init.js +1 -1
- package/aws-ec2/lib/client-vpn-authorization-rule.js +1 -1
- package/aws-ec2/lib/client-vpn-endpoint.js +1 -1
- package/aws-ec2/lib/client-vpn-route.js +1 -1
- package/aws-ec2/lib/connections.js +1 -1
- package/aws-ec2/lib/ec2.generated.js +1 -1
- package/aws-ec2/lib/instance-types.js +1 -1
- package/aws-ec2/lib/instance.js +1 -1
- package/aws-ec2/lib/ip-addresses.js +1 -1
- package/aws-ec2/lib/launch-template.js +1 -1
- package/aws-ec2/lib/machine-image.js +1 -1
- package/aws-ec2/lib/nat.js +1 -1
- package/aws-ec2/lib/network-acl-types.js +1 -1
- package/aws-ec2/lib/network-acl.js +1 -1
- package/aws-ec2/lib/peer.js +1 -1
- package/aws-ec2/lib/port.js +1 -1
- package/aws-ec2/lib/security-group.js +1 -1
- package/aws-ec2/lib/subnet.js +1 -1
- package/aws-ec2/lib/user-data.js +3 -3
- package/aws-ec2/lib/volume.js +1 -1
- package/aws-ec2/lib/vpc-endpoint-service.js +1 -1
- package/aws-ec2/lib/vpc-endpoint.js +1 -1
- package/aws-ec2/lib/vpc-flow-logs.js +1 -1
- package/aws-ec2/lib/vpc.js +1 -1
- package/aws-ec2/lib/vpn.js +1 -1
- package/aws-ecr/lib/auth-token.js +1 -1
- package/aws-ecr/lib/ecr.generated.js +1 -1
- package/aws-ecr/lib/repository.js +1 -1
- package/aws-ecr-assets/lib/image-asset.js +2 -2
- package/aws-ecr-assets/lib/tarball-asset.js +1 -1
- package/aws-ecs/lib/amis.js +1 -1
- package/aws-ecs/lib/base/base-service.js +1 -1
- package/aws-ecs/lib/base/scalable-task-count.js +1 -1
- package/aws-ecs/lib/base/task-definition.js +1 -1
- package/aws-ecs/lib/cluster.js +1 -1
- package/aws-ecs/lib/container-definition.js +1 -1
- package/aws-ecs/lib/container-image.js +1 -1
- package/aws-ecs/lib/ec2/ec2-service.js +1 -1
- package/aws-ecs/lib/ec2/ec2-task-definition.js +1 -1
- package/aws-ecs/lib/ecs.generated.js +1 -1
- package/aws-ecs/lib/environment-file.js +1 -1
- package/aws-ecs/lib/external/external-service.js +1 -1
- package/aws-ecs/lib/external/external-task-definition.js +1 -1
- package/aws-ecs/lib/fargate/fargate-service.js +1 -1
- package/aws-ecs/lib/fargate/fargate-task-definition.js +1 -1
- package/aws-ecs/lib/firelens-log-router.js +1 -1
- package/aws-ecs/lib/images/asset-image.js +1 -1
- package/aws-ecs/lib/images/ecr.js +1 -1
- package/aws-ecs/lib/images/repository.js +1 -1
- package/aws-ecs/lib/images/tag-parameter-container-image.js +1 -1
- package/aws-ecs/lib/linux-parameters.js +1 -1
- package/aws-ecs/lib/log-drivers/aws-log-driver.js +1 -1
- package/aws-ecs/lib/log-drivers/firelens-log-driver.js +1 -1
- package/aws-ecs/lib/log-drivers/fluentd-log-driver.js +1 -1
- package/aws-ecs/lib/log-drivers/gelf-log-driver.js +1 -1
- package/aws-ecs/lib/log-drivers/generic-log-driver.js +1 -1
- package/aws-ecs/lib/log-drivers/journald-log-driver.js +1 -1
- package/aws-ecs/lib/log-drivers/json-file-log-driver.js +1 -1
- package/aws-ecs/lib/log-drivers/log-driver.js +1 -1
- package/aws-ecs/lib/log-drivers/log-drivers.js +1 -1
- package/aws-ecs/lib/log-drivers/splunk-log-driver.js +1 -1
- package/aws-ecs/lib/log-drivers/syslog-log-driver.js +1 -1
- package/aws-ecs/lib/placement.js +1 -1
- package/aws-ecs/lib/proxy-configuration/app-mesh-proxy-configuration.js +1 -1
- package/aws-ecs/lib/proxy-configuration/proxy-configuration.js +1 -1
- package/aws-ecs/lib/proxy-configuration/proxy-configurations.js +1 -1
- package/aws-ecs/lib/runtime-platform.js +1 -1
- package/aws-ecs-patterns/lib/base/application-load-balanced-service-base.js +1 -1
- package/aws-ecs-patterns/lib/base/application-multiple-target-groups-service-base.js +1 -1
- package/aws-ecs-patterns/lib/base/network-load-balanced-service-base.js +1 -1
- package/aws-ecs-patterns/lib/base/network-multiple-target-groups-service-base.js +1 -1
- package/aws-ecs-patterns/lib/base/queue-processing-service-base.js +1 -1
- package/aws-ecs-patterns/lib/base/scheduled-task-base.js +1 -1
- package/aws-ecs-patterns/lib/ecs/application-load-balanced-ecs-service.js +1 -1
- package/aws-ecs-patterns/lib/ecs/application-multiple-target-groups-ecs-service.js +1 -1
- package/aws-ecs-patterns/lib/ecs/network-load-balanced-ecs-service.js +1 -1
- package/aws-ecs-patterns/lib/ecs/network-multiple-target-groups-ecs-service.js +1 -1
- package/aws-ecs-patterns/lib/ecs/queue-processing-ecs-service.js +1 -1
- package/aws-ecs-patterns/lib/ecs/scheduled-ecs-task.js +1 -1
- package/aws-ecs-patterns/lib/fargate/application-load-balanced-fargate-service.js +1 -1
- package/aws-ecs-patterns/lib/fargate/application-multiple-target-groups-fargate-service.js +1 -1
- package/aws-ecs-patterns/lib/fargate/network-load-balanced-fargate-service.js +1 -1
- package/aws-ecs-patterns/lib/fargate/network-multiple-target-groups-fargate-service.js +1 -1
- package/aws-ecs-patterns/lib/fargate/queue-processing-fargate-service.js +1 -1
- package/aws-ecs-patterns/lib/fargate/scheduled-fargate-task.js +1 -1
- package/aws-efs/lib/access-point.js +1 -1
- package/aws-efs/lib/efs-file-system.js +1 -1
- package/aws-efs/lib/efs.generated.js +1 -1
- package/aws-eks/lib/alb-controller.js +1 -1
- package/aws-eks/lib/aws-auth.js +1 -1
- package/aws-eks/lib/cluster.js +1 -1
- package/aws-eks/lib/eks.generated.js +1 -1
- package/aws-eks/lib/fargate-cluster.js +1 -1
- package/aws-eks/lib/fargate-profile.js +1 -1
- package/aws-eks/lib/helm-chart.js +1 -1
- package/aws-eks/lib/k8s-manifest.js +1 -1
- package/aws-eks/lib/k8s-object-value.js +1 -1
- package/aws-eks/lib/k8s-patch.js +1 -1
- package/aws-eks/lib/kubectl-provider.js +1 -1
- package/aws-eks/lib/managed-nodegroup.js +1 -1
- package/aws-eks/lib/oidc-provider.js +1 -1
- package/aws-eks/lib/service-account.js +1 -1
- package/aws-elasticache/lib/elasticache.generated.js +1 -1
- package/aws-elasticbeanstalk/lib/elasticbeanstalk.generated.js +1 -1
- package/aws-elasticloadbalancing/lib/elasticloadbalancing.generated.js +1 -1
- package/aws-elasticloadbalancing/lib/load-balancer.js +1 -1
- package/aws-elasticloadbalancingv2/lib/alb/application-listener-action.js +1 -1
- package/aws-elasticloadbalancingv2/lib/alb/application-listener-certificate.js +1 -1
- package/aws-elasticloadbalancingv2/lib/alb/application-listener-rule.js +1 -1
- package/aws-elasticloadbalancingv2/lib/alb/application-listener.js +1 -1
- package/aws-elasticloadbalancingv2/lib/alb/application-load-balancer.js +1 -1
- package/aws-elasticloadbalancingv2/lib/alb/application-target-group.js +1 -1
- package/aws-elasticloadbalancingv2/lib/alb/conditions.js +1 -1
- package/aws-elasticloadbalancingv2/lib/elasticloadbalancingv2.generated.js +1 -1
- package/aws-elasticloadbalancingv2/lib/nlb/network-listener-action.js +1 -1
- package/aws-elasticloadbalancingv2/lib/nlb/network-listener.js +1 -1
- package/aws-elasticloadbalancingv2/lib/nlb/network-load-balancer.js +1 -1
- package/aws-elasticloadbalancingv2/lib/nlb/network-target-group.js +1 -1
- package/aws-elasticloadbalancingv2/lib/shared/base-listener.js +1 -1
- package/aws-elasticloadbalancingv2/lib/shared/base-load-balancer.js +1 -1
- package/aws-elasticloadbalancingv2/lib/shared/base-target-group.js +1 -1
- package/aws-elasticloadbalancingv2/lib/shared/listener-certificate.js +1 -1
- package/aws-elasticloadbalancingv2/lib/shared/load-balancer-targets.js +1 -1
- package/aws-elasticloadbalancingv2-actions/lib/cognito-action.js +1 -1
- package/aws-elasticloadbalancingv2-targets/lib/alb-target.js +1 -1
- package/aws-elasticloadbalancingv2-targets/lib/instance-target.js +1 -1
- package/aws-elasticloadbalancingv2-targets/lib/ip-target.js +1 -1
- package/aws-elasticloadbalancingv2-targets/lib/lambda-target.js +1 -1
- package/aws-elasticsearch/lib/domain.js +1 -1
- package/aws-elasticsearch/lib/elasticsearch.generated.js +1 -1
- package/aws-emr/lib/emr.generated.js +1 -1
- package/aws-emrcontainers/lib/emrcontainers.generated.js +1 -1
- package/aws-emrserverless/lib/emrserverless.generated.js +1 -1
- package/aws-events/lib/api-destination.js +1 -1
- package/aws-events/lib/archive.js +1 -1
- package/aws-events/lib/connection.js +1 -1
- package/aws-events/lib/event-bus.js +1 -1
- package/aws-events/lib/event-pattern.js +1 -1
- package/aws-events/lib/events.generated.js +1 -1
- package/aws-events/lib/input.js +2 -2
- package/aws-events/lib/rule.js +1 -1
- package/aws-events/lib/schedule.js +1 -1
- package/aws-events-targets/lib/api-destination.js +1 -1
- package/aws-events-targets/lib/api-gateway.js +1 -1
- package/aws-events-targets/lib/aws-api.js +1 -1
- package/aws-events-targets/lib/batch.js +1 -1
- package/aws-events-targets/lib/codebuild.js +1 -1
- package/aws-events-targets/lib/codepipeline.js +1 -1
- package/aws-events-targets/lib/ecs-task.js +1 -1
- package/aws-events-targets/lib/event-bus.js +1 -1
- package/aws-events-targets/lib/kinesis-firehose-stream.js +1 -1
- package/aws-events-targets/lib/kinesis-stream.js +1 -1
- package/aws-events-targets/lib/lambda.js +1 -1
- package/aws-events-targets/lib/log-group.js +2 -2
- package/aws-events-targets/lib/sns.js +1 -1
- package/aws-events-targets/lib/sqs.js +1 -1
- package/aws-events-targets/lib/state-machine.js +1 -1
- package/aws-eventschemas/lib/eventschemas.generated.js +1 -1
- package/aws-evidently/lib/evidently.generated.js +1 -1
- package/aws-finspace/lib/finspace.generated.js +1 -1
- package/aws-fis/lib/fis.generated.js +1 -1
- package/aws-fms/lib/fms.generated.js +1 -1
- package/aws-forecast/lib/forecast.generated.js +1 -1
- package/aws-frauddetector/lib/frauddetector.generated.js +1 -1
- package/aws-fsx/lib/file-system.js +1 -1
- package/aws-fsx/lib/fsx.generated.js +1 -1
- package/aws-fsx/lib/lustre-file-system.js +1 -1
- package/aws-fsx/lib/maintenance-time.js +1 -1
- package/aws-gamelift/lib/gamelift.generated.js +1 -1
- package/aws-globalaccelerator/lib/accelerator.js +1 -1
- package/aws-globalaccelerator/lib/endpoint-group.js +1 -1
- package/aws-globalaccelerator/lib/endpoint.js +1 -1
- package/aws-globalaccelerator/lib/globalaccelerator.generated.js +1 -1
- package/aws-globalaccelerator/lib/listener.js +1 -1
- package/aws-globalaccelerator-endpoints/lib/alb.js +1 -1
- package/aws-globalaccelerator-endpoints/lib/eip.js +1 -1
- package/aws-globalaccelerator-endpoints/lib/instance.js +1 -1
- package/aws-globalaccelerator-endpoints/lib/nlb.js +1 -1
- package/aws-glue/lib/glue.generated.js +1 -1
- package/aws-greengrass/lib/greengrass.generated.js +1 -1
- package/aws-greengrassv2/lib/greengrassv2.generated.js +1 -1
- package/aws-groundstation/lib/groundstation.generated.js +1 -1
- package/aws-guardduty/lib/guardduty.generated.js +1 -1
- package/aws-healthlake/lib/healthlake.generated.js +1 -1
- package/aws-iam/lib/access-key.js +1 -1
- package/aws-iam/lib/grant.js +1 -1
- package/aws-iam/lib/group.js +1 -1
- package/aws-iam/lib/iam.generated.js +1 -1
- package/aws-iam/lib/lazy-role.js +1 -1
- package/aws-iam/lib/managed-policy.js +1 -1
- package/aws-iam/lib/oidc-provider.js +1 -1
- package/aws-iam/lib/permissions-boundary.js +1 -1
- package/aws-iam/lib/policy-document.js +1 -1
- package/aws-iam/lib/policy-statement.js +1 -1
- package/aws-iam/lib/policy.js +1 -1
- package/aws-iam/lib/principals.js +1 -1
- package/aws-iam/lib/role.js +1 -1
- package/aws-iam/lib/saml-provider.js +1 -1
- package/aws-iam/lib/unknown-principal.js +1 -1
- package/aws-iam/lib/user.js +1 -1
- package/aws-identitystore/lib/identitystore.generated.js +1 -1
- package/aws-imagebuilder/lib/imagebuilder.generated.js +1 -1
- package/aws-inspector/lib/inspector.generated.js +1 -1
- package/aws-inspectorv2/lib/inspectorv2.generated.js +1 -1
- package/aws-iot/lib/iot.generated.js +1 -1
- package/aws-iot1click/lib/iot1click.generated.js +1 -1
- package/aws-iotanalytics/lib/iotanalytics.generated.js +1 -1
- package/aws-iotcoredeviceadvisor/lib/iotcoredeviceadvisor.generated.js +1 -1
- package/aws-iotevents/lib/iotevents.generated.js +1 -1
- package/aws-iotfleethub/lib/iotfleethub.generated.js +1 -1
- package/aws-iotfleetwise/lib/iotfleetwise.generated.js +1 -1
- package/aws-iotsitewise/lib/iotsitewise.generated.js +1 -1
- package/aws-iotthingsgraph/lib/iotthingsgraph.generated.js +1 -1
- package/aws-iottwinmaker/lib/iottwinmaker.generated.js +1 -1
- package/aws-iotwireless/lib/iotwireless.generated.js +1 -1
- package/aws-ivs/lib/ivs.generated.js +1 -1
- package/aws-kafkaconnect/lib/kafkaconnect.generated.js +1 -1
- package/aws-kendra/lib/kendra.generated.js +1 -1
- package/aws-kinesis/lib/kinesis.generated.js +1 -1
- package/aws-kinesis/lib/stream.js +1 -1
- package/aws-kinesisanalytics/lib/kinesisanalytics.generated.js +1 -1
- package/aws-kinesisanalytics/lib/kinesisanalyticsv2.generated.js +1 -1
- package/aws-kinesisanalyticsv2/lib/kinesisanalyticsv2.generated.js +1 -1
- package/aws-kinesisfirehose/lib/kinesisfirehose.generated.js +1 -1
- package/aws-kinesisvideo/lib/kinesisvideo.generated.js +1 -1
- package/aws-kms/lib/alias.js +1 -1
- package/aws-kms/lib/key.js +1 -1
- package/aws-kms/lib/kms.generated.js +1 -1
- package/aws-kms/lib/via-service-principal.js +1 -1
- package/aws-lakeformation/lib/lakeformation.generated.js +1 -1
- package/aws-lambda/lib/alias.js +1 -1
- package/aws-lambda/lib/architecture.js +1 -1
- package/aws-lambda/lib/code-signing-config.js +1 -1
- package/aws-lambda/lib/code.js +1 -1
- package/aws-lambda/lib/event-invoke-config.js +1 -1
- package/aws-lambda/lib/event-source-filter.js +1 -1
- package/aws-lambda/lib/event-source-mapping.js +1 -1
- package/aws-lambda/lib/filesystem.js +1 -1
- package/aws-lambda/lib/function-base.js +1 -1
- package/aws-lambda/lib/function-url.js +1 -1
- package/aws-lambda/lib/function.js +1 -1
- package/aws-lambda/lib/handler.js +1 -1
- package/aws-lambda/lib/image-function.js +1 -1
- package/aws-lambda/lib/lambda-insights.js +1 -1
- package/aws-lambda/lib/lambda-version.js +1 -1
- package/aws-lambda/lib/lambda.generated.js +1 -1
- package/aws-lambda/lib/layers.js +1 -1
- package/aws-lambda/lib/log-retention.js +1 -1
- package/aws-lambda/lib/runtime.js +1 -1
- package/aws-lambda/lib/singleton-lambda.js +1 -1
- package/aws-lambda-destinations/lib/event-bridge.js +1 -1
- package/aws-lambda-destinations/lib/lambda.js +1 -1
- package/aws-lambda-destinations/lib/sns.js +1 -1
- package/aws-lambda-destinations/lib/sqs.js +1 -1
- package/aws-lambda-event-sources/lib/api.js +1 -1
- package/aws-lambda-event-sources/lib/dynamodb.js +1 -1
- package/aws-lambda-event-sources/lib/kafka.js +1 -1
- package/aws-lambda-event-sources/lib/kinesis.js +1 -1
- package/aws-lambda-event-sources/lib/s3.js +1 -1
- package/aws-lambda-event-sources/lib/sns-dlq.js +1 -1
- package/aws-lambda-event-sources/lib/sns.js +1 -1
- package/aws-lambda-event-sources/lib/sqs-dlq.js +1 -1
- package/aws-lambda-event-sources/lib/sqs.js +1 -1
- package/aws-lambda-event-sources/lib/stream.js +1 -1
- package/aws-lambda-nodejs/lib/function.js +1 -1
- package/aws-lex/lib/lex.generated.js +1 -1
- package/aws-licensemanager/lib/licensemanager.generated.js +1 -1
- package/aws-lightsail/lib/lightsail.generated.js +1 -1
- package/aws-location/lib/location.generated.js +1 -1
- package/aws-logs/lib/cross-account-destination.js +1 -1
- package/aws-logs/lib/log-group.js +1 -1
- package/aws-logs/lib/log-retention.js +1 -1
- package/aws-logs/lib/log-stream.js +1 -1
- package/aws-logs/lib/logs.generated.js +1 -1
- package/aws-logs/lib/metric-filter.js +1 -1
- package/aws-logs/lib/pattern.js +1 -1
- package/aws-logs/lib/policy.js +1 -1
- package/aws-logs/lib/query-definition.js +1 -1
- package/aws-logs/lib/subscription-filter.js +1 -1
- package/aws-logs-destinations/lib/kinesis.js +1 -1
- package/aws-logs-destinations/lib/lambda.js +1 -1
- package/aws-lookoutequipment/lib/lookoutequipment.generated.js +1 -1
- package/aws-lookoutmetrics/lib/lookoutmetrics.generated.js +1 -1
- package/aws-lookoutvision/lib/lookoutvision.generated.js +1 -1
- package/aws-m2/lib/m2.generated.js +1 -1
- package/aws-macie/lib/macie.generated.js +1 -1
- package/aws-managedblockchain/lib/managedblockchain.generated.js +1 -1
- package/aws-mediaconnect/lib/mediaconnect.generated.js +1 -1
- package/aws-mediaconvert/lib/mediaconvert.generated.js +1 -1
- package/aws-medialive/lib/medialive.generated.js +1 -1
- package/aws-mediapackage/lib/mediapackage.generated.js +1 -1
- package/aws-mediastore/lib/mediastore.generated.js +1 -1
- package/aws-mediatailor/lib/mediatailor.generated.js +1 -1
- package/aws-memorydb/lib/memorydb.generated.js +1 -1
- package/aws-msk/lib/msk.generated.js +1 -1
- package/aws-mwaa/lib/mwaa.generated.js +1 -1
- package/aws-neptune/lib/neptune.generated.js +1 -1
- package/aws-networkfirewall/lib/networkfirewall.generated.js +1 -1
- package/aws-networkmanager/lib/networkmanager.generated.js +1 -1
- package/aws-nimblestudio/lib/nimblestudio.generated.js +1 -1
- package/aws-opensearchservice/lib/domain.js +1 -1
- package/aws-opensearchservice/lib/opensearchservice.generated.js +1 -1
- package/aws-opensearchservice/lib/version.js +1 -1
- package/aws-opsworks/lib/opsworks.generated.js +1 -1
- package/aws-opsworkscm/lib/opsworkscm.generated.js +1 -1
- package/aws-organizations/lib/organizations.generated.js +1 -1
- package/aws-panorama/lib/panorama.generated.js +1 -1
- package/aws-personalize/lib/personalize.generated.js +1 -1
- package/aws-pinpoint/lib/pinpoint.generated.js +1 -1
- package/aws-pinpointemail/lib/pinpointemail.generated.js +1 -1
- package/aws-qldb/lib/qldb.generated.js +1 -1
- package/aws-quicksight/lib/quicksight.generated.js +1 -1
- package/aws-ram/lib/ram.generated.js +1 -1
- package/aws-rds/lib/cluster-engine.js +1 -1
- package/aws-rds/lib/cluster.js +1 -1
- package/aws-rds/lib/database-secret.js +1 -1
- package/aws-rds/lib/endpoint.js +1 -1
- package/aws-rds/lib/instance-engine.js +1 -1
- package/aws-rds/lib/instance.js +1 -1
- package/aws-rds/lib/option-group.js +1 -1
- package/aws-rds/lib/parameter-group.js +1 -1
- package/aws-rds/lib/props.js +1 -1
- package/aws-rds/lib/proxy.js +1 -1
- package/aws-rds/lib/rds.generated.js +1 -1
- package/aws-rds/lib/serverless-cluster.js +1 -1
- package/aws-rds/lib/subnet-group.js +1 -1
- package/aws-redshift/lib/redshift.generated.js +1 -1
- package/aws-redshiftserverless/lib/redshiftserverless.generated.js +1 -1
- package/aws-refactorspaces/lib/refactorspaces.generated.js +1 -1
- package/aws-rekognition/lib/rekognition.generated.js +1 -1
- package/aws-resiliencehub/lib/resiliencehub.generated.js +1 -1
- package/aws-resourceexplorer2/lib/resourceexplorer2.generated.js +1 -1
- package/aws-resourcegroups/lib/resourcegroups.generated.js +1 -1
- package/aws-robomaker/lib/robomaker.generated.js +1 -1
- package/aws-rolesanywhere/lib/rolesanywhere.generated.js +1 -1
- package/aws-route53/lib/hosted-zone.js +1 -1
- package/aws-route53/lib/record-set.js +1 -1
- package/aws-route53/lib/route53.generated.js +1 -1
- package/aws-route53/lib/vpc-endpoint-service-domain-name.js +1 -1
- package/aws-route53-patterns/lib/website-redirect.js +1 -1
- package/aws-route53-targets/lib/api-gateway-domain-name.js +1 -1
- package/aws-route53-targets/lib/api-gatewayv2-domain-name.js +1 -1
- package/aws-route53-targets/lib/bucket-website-target.js +1 -1
- package/aws-route53-targets/lib/classic-load-balancer-target.js +1 -1
- package/aws-route53-targets/lib/cloudfront-target.js +1 -1
- package/aws-route53-targets/lib/elastic-beanstalk-environment-target.js +1 -1
- package/aws-route53-targets/lib/global-accelerator-target.js +1 -1
- package/aws-route53-targets/lib/interface-vpc-endpoint-target.js +1 -1
- package/aws-route53-targets/lib/load-balancer-target.js +1 -1
- package/aws-route53-targets/lib/route53-record.js +1 -1
- package/aws-route53-targets/lib/userpool-domain.js +1 -1
- package/aws-route53recoverycontrol/lib/route53recoverycontrol.generated.js +1 -1
- package/aws-route53recoveryreadiness/lib/route53recoveryreadiness.generated.js +1 -1
- package/aws-route53resolver/lib/route53resolver.generated.js +1 -1
- package/aws-rum/lib/rum.generated.js +1 -1
- package/aws-s3/lib/bucket-policy.js +1 -1
- package/aws-s3/lib/bucket.js +1 -1
- package/aws-s3/lib/rule.js +1 -1
- package/aws-s3/lib/s3.generated.js +1 -1
- package/aws-s3-assets/lib/asset.js +1 -1
- package/aws-s3-deployment/lib/bucket-deployment.js +1 -1
- package/aws-s3-deployment/lib/source.js +1 -1
- package/aws-s3-notifications/lib/lambda.js +1 -1
- package/aws-s3-notifications/lib/sns.js +1 -1
- package/aws-s3-notifications/lib/sqs.js +1 -1
- package/aws-s3objectlambda/lib/s3objectlambda.generated.js +1 -1
- package/aws-s3outposts/lib/s3outposts.generated.js +1 -1
- package/aws-sagemaker/lib/sagemaker.generated.js +1 -1
- package/aws-sam/lib/sam.generated.js +1 -1
- package/aws-scheduler/lib/scheduler.generated.js +1 -1
- package/aws-sdb/lib/sdb.generated.js +1 -1
- package/aws-secretsmanager/lib/policy.js +1 -1
- package/aws-secretsmanager/lib/rotation-schedule.js +1 -1
- package/aws-secretsmanager/lib/secret-rotation.js +1 -1
- package/aws-secretsmanager/lib/secret.js +1 -1
- package/aws-secretsmanager/lib/secretsmanager.generated.js +1 -1
- package/aws-securityhub/lib/securityhub.generated.js +1 -1
- package/aws-servicecatalog/lib/cloudformation-template.js +1 -1
- package/aws-servicecatalog/lib/portfolio.js +1 -1
- package/aws-servicecatalog/lib/product-stack-history.js +1 -1
- package/aws-servicecatalog/lib/product-stack.js +1 -1
- package/aws-servicecatalog/lib/product.js +1 -1
- package/aws-servicecatalog/lib/servicecatalog.generated.js +1 -1
- package/aws-servicecatalog/lib/tag-options.js +1 -1
- package/aws-servicecatalogappregistry/lib/servicecatalogappregistry.generated.js +1 -1
- package/aws-servicediscovery/lib/alias-target-instance.js +1 -1
- package/aws-servicediscovery/lib/cname-instance.js +1 -1
- package/aws-servicediscovery/lib/http-namespace.js +1 -1
- package/aws-servicediscovery/lib/instance.js +1 -1
- package/aws-servicediscovery/lib/ip-instance.js +1 -1
- package/aws-servicediscovery/lib/non-ip-instance.js +1 -1
- package/aws-servicediscovery/lib/private-dns-namespace.js +1 -1
- package/aws-servicediscovery/lib/public-dns-namespace.js +1 -1
- package/aws-servicediscovery/lib/service.js +1 -1
- package/aws-servicediscovery/lib/servicediscovery.generated.js +1 -1
- package/aws-ses/lib/configuration-set.js +1 -1
- package/aws-ses/lib/dedicated-ip-pool.js +1 -1
- package/aws-ses/lib/email-identity.js +1 -1
- package/aws-ses/lib/receipt-filter.js +1 -1
- package/aws-ses/lib/receipt-rule-set.js +1 -1
- package/aws-ses/lib/receipt-rule.js +1 -1
- package/aws-ses/lib/ses.generated.js +1 -1
- package/aws-ses-actions/lib/add-header.js +1 -1
- package/aws-ses-actions/lib/bounce.js +1 -1
- package/aws-ses-actions/lib/lambda.js +1 -1
- package/aws-ses-actions/lib/s3.js +1 -1
- package/aws-ses-actions/lib/sns.js +1 -1
- package/aws-ses-actions/lib/stop.js +1 -1
- package/aws-signer/lib/signer.generated.js +1 -1
- package/aws-signer/lib/signing-profile.js +1 -1
- package/aws-sns/lib/policy.js +1 -1
- package/aws-sns/lib/sns.generated.js +1 -1
- package/aws-sns/lib/subscription-filter.js +1 -1
- package/aws-sns/lib/subscription.js +1 -1
- package/aws-sns/lib/topic-base.js +1 -1
- package/aws-sns/lib/topic.js +1 -1
- package/aws-sns-subscriptions/lib/email.js +1 -1
- package/aws-sns-subscriptions/lib/lambda.js +1 -1
- package/aws-sns-subscriptions/lib/sms.js +1 -1
- package/aws-sns-subscriptions/lib/sqs.js +1 -1
- package/aws-sns-subscriptions/lib/url.js +1 -1
- package/aws-sqs/lib/policy.js +1 -1
- package/aws-sqs/lib/queue-base.js +1 -1
- package/aws-sqs/lib/queue.js +1 -1
- package/aws-sqs/lib/sqs.generated.js +1 -1
- package/aws-ssm/lib/parameter.js +1 -1
- package/aws-ssm/lib/ssm.generated.js +1 -1
- package/aws-ssmcontacts/lib/ssmcontacts.generated.js +1 -1
- package/aws-ssmincidents/lib/ssmincidents.generated.js +1 -1
- package/aws-sso/lib/sso.generated.js +1 -1
- package/aws-stepfunctions/lib/activity.js +1 -1
- package/aws-stepfunctions/lib/chain.js +1 -1
- package/aws-stepfunctions/lib/condition.js +1 -1
- package/aws-stepfunctions/lib/fields.js +1 -1
- package/aws-stepfunctions/lib/input.js +1 -1
- package/aws-stepfunctions/lib/state-graph.js +1 -1
- package/aws-stepfunctions/lib/state-machine-fragment.js +1 -1
- package/aws-stepfunctions/lib/state-machine.js +1 -1
- package/aws-stepfunctions/lib/state-transition-metrics.js +1 -1
- package/aws-stepfunctions/lib/states/choice.js +1 -1
- package/aws-stepfunctions/lib/states/custom-state.js +1 -1
- package/aws-stepfunctions/lib/states/fail.js +1 -1
- package/aws-stepfunctions/lib/states/map.js +1 -1
- package/aws-stepfunctions/lib/states/parallel.js +1 -1
- package/aws-stepfunctions/lib/states/pass.js +1 -1
- package/aws-stepfunctions/lib/states/state.js +1 -1
- package/aws-stepfunctions/lib/states/succeed.js +1 -1
- package/aws-stepfunctions/lib/states/task-base.js +1 -1
- package/aws-stepfunctions/lib/states/task.js +1 -1
- package/aws-stepfunctions/lib/states/wait.js +1 -1
- package/aws-stepfunctions/lib/stepfunctions.generated.js +1 -1
- package/aws-stepfunctions/lib/types.js +1 -1
- package/aws-stepfunctions-tasks/lib/apigateway/call-http-api.js +1 -1
- package/aws-stepfunctions-tasks/lib/apigateway/call-rest-api.js +1 -1
- package/aws-stepfunctions-tasks/lib/athena/get-query-execution.js +1 -1
- package/aws-stepfunctions-tasks/lib/athena/get-query-results.js +1 -1
- package/aws-stepfunctions-tasks/lib/athena/start-query-execution.js +1 -1
- package/aws-stepfunctions-tasks/lib/athena/stop-query-execution.js +1 -1
- package/aws-stepfunctions-tasks/lib/aws-sdk/call-aws-service.js +1 -1
- package/aws-stepfunctions-tasks/lib/batch/run-batch-job.js +1 -1
- package/aws-stepfunctions-tasks/lib/batch/submit-job.js +1 -1
- package/aws-stepfunctions-tasks/lib/codebuild/start-build.js +1 -1
- package/aws-stepfunctions-tasks/lib/databrew/start-job-run.js +1 -1
- package/aws-stepfunctions-tasks/lib/dynamodb/delete-item.js +1 -1
- package/aws-stepfunctions-tasks/lib/dynamodb/get-item.js +1 -1
- package/aws-stepfunctions-tasks/lib/dynamodb/put-item.js +1 -1
- package/aws-stepfunctions-tasks/lib/dynamodb/shared-types.js +1 -1
- package/aws-stepfunctions-tasks/lib/dynamodb/update-item.js +1 -1
- package/aws-stepfunctions-tasks/lib/ecs/run-ecs-ec2-task.js +1 -1
- package/aws-stepfunctions-tasks/lib/ecs/run-ecs-fargate-task.js +1 -1
- package/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base.js +1 -1
- package/aws-stepfunctions-tasks/lib/ecs/run-task.js +1 -1
- package/aws-stepfunctions-tasks/lib/eks/call.js +1 -1
- package/aws-stepfunctions-tasks/lib/emr/emr-add-step.js +1 -1
- package/aws-stepfunctions-tasks/lib/emr/emr-cancel-step.js +1 -1
- package/aws-stepfunctions-tasks/lib/emr/emr-create-cluster.js +1 -1
- package/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-fleet-by-name.js +1 -1
- package/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-group-by-name.js +1 -1
- package/aws-stepfunctions-tasks/lib/emr/emr-set-cluster-termination-protection.js +1 -1
- package/aws-stepfunctions-tasks/lib/emr/emr-terminate-cluster.js +1 -1
- package/aws-stepfunctions-tasks/lib/emrcontainers/create-virtual-cluster.js +1 -1
- package/aws-stepfunctions-tasks/lib/emrcontainers/delete-virtual-cluster.js +1 -1
- package/aws-stepfunctions-tasks/lib/emrcontainers/start-job-run.js +1 -1
- package/aws-stepfunctions-tasks/lib/evaluate-expression.js +1 -1
- package/aws-stepfunctions-tasks/lib/eventbridge/put-events.js +1 -1
- package/aws-stepfunctions-tasks/lib/glue/run-glue-job-task.js +1 -1
- package/aws-stepfunctions-tasks/lib/glue/start-job-run.js +1 -1
- package/aws-stepfunctions-tasks/lib/invoke-activity.js +1 -1
- package/aws-stepfunctions-tasks/lib/lambda/invoke-function.js +1 -1
- package/aws-stepfunctions-tasks/lib/lambda/invoke.js +1 -1
- package/aws-stepfunctions-tasks/lib/lambda/run-lambda-task.js +1 -1
- package/aws-stepfunctions-tasks/lib/sagemaker/base-types.js +1 -1
- package/aws-stepfunctions-tasks/lib/sagemaker/create-endpoint-config.js +1 -1
- package/aws-stepfunctions-tasks/lib/sagemaker/create-endpoint.js +1 -1
- package/aws-stepfunctions-tasks/lib/sagemaker/create-model.js +1 -1
- package/aws-stepfunctions-tasks/lib/sagemaker/create-training-job.js +1 -1
- package/aws-stepfunctions-tasks/lib/sagemaker/create-transform-job.js +1 -1
- package/aws-stepfunctions-tasks/lib/sagemaker/update-endpoint.js +1 -1
- package/aws-stepfunctions-tasks/lib/sns/publish-to-topic.js +1 -1
- package/aws-stepfunctions-tasks/lib/sns/publish.js +1 -1
- package/aws-stepfunctions-tasks/lib/sqs/send-message.js +1 -1
- package/aws-stepfunctions-tasks/lib/sqs/send-to-queue.js +1 -1
- package/aws-stepfunctions-tasks/lib/start-execution.js +1 -1
- package/aws-stepfunctions-tasks/lib/stepfunctions/invoke-activity.js +1 -1
- package/aws-stepfunctions-tasks/lib/stepfunctions/start-execution.js +1 -1
- package/aws-supportapp/lib/supportapp.generated.js +1 -1
- package/aws-synthetics/lib/synthetics.generated.js +1 -1
- package/aws-timestream/lib/timestream.generated.js +1 -1
- package/aws-transfer/lib/transfer.generated.js +1 -1
- package/aws-voiceid/lib/voiceid.generated.js +1 -1
- package/aws-waf/lib/waf.generated.js +1 -1
- package/aws-wafregional/lib/wafregional.generated.js +1 -1
- package/aws-wafv2/lib/wafv2.generated.js +1 -1
- package/aws-wisdom/lib/wisdom.generated.js +1 -1
- package/aws-workspaces/lib/workspaces.generated.js +1 -1
- package/aws-xray/lib/xray.generated.js +1 -1
- package/cloud-assembly-schema/lib/manifest.js +1 -1
- package/cloudformation-include/lib/cfn-include.js +1 -1
- package/core/lib/annotations.js +1 -1
- package/core/lib/app.js +1 -1
- package/core/lib/arn.js +1 -1
- package/core/lib/aspect.js +1 -1
- package/core/lib/asset-staging.js +1 -1
- package/core/lib/bundling.js +1 -1
- package/core/lib/cfn-codedeploy-blue-green-hook.js +1 -1
- package/core/lib/cfn-condition.js +1 -1
- package/core/lib/cfn-dynamic-reference.js +1 -1
- package/core/lib/cfn-element.js +1 -1
- package/core/lib/cfn-fn.js +1 -1
- package/core/lib/cfn-hook.js +1 -1
- package/core/lib/cfn-include.js +1 -1
- package/core/lib/cfn-json.js +1 -1
- package/core/lib/cfn-mapping.js +1 -1
- package/core/lib/cfn-output.js +1 -1
- package/core/lib/cfn-parameter.js +1 -1
- package/core/lib/cfn-pseudo.js +1 -1
- package/core/lib/cfn-resource.js +1 -1
- package/core/lib/cfn-rule.js +1 -1
- package/core/lib/cloudformation.generated.js +1 -1
- package/core/lib/context-provider.js +1 -1
- package/core/lib/custom-resource-provider/custom-resource-provider.js +1 -1
- package/core/lib/custom-resource.js +1 -1
- package/core/lib/duration.js +1 -1
- package/core/lib/expiration.js +1 -1
- package/core/lib/feature-flags.js +1 -1
- package/core/lib/fs/ignore.js +1 -1
- package/core/lib/fs/index.js +1 -1
- package/core/lib/lazy.js +1 -1
- package/core/lib/names.js +1 -1
- package/core/lib/nested-stack.js +1 -1
- package/core/lib/physical-name.js +1 -1
- package/core/lib/private/intrinsic.js +1 -1
- package/core/lib/reference.js +1 -1
- package/core/lib/resolvable.js +2 -2
- package/core/lib/resource.js +1 -1
- package/core/lib/runtime.js +2 -2
- package/core/lib/secret-value.js +1 -1
- package/core/lib/size.js +1 -1
- package/core/lib/stack-synthesizers/asset-manifest-builder.js +1 -1
- package/core/lib/stack-synthesizers/bootstrapless-synthesizer.js +1 -1
- package/core/lib/stack-synthesizers/cli-credentials-synthesizer.js +1 -1
- package/core/lib/stack-synthesizers/default-synthesizer.js +1 -1
- package/core/lib/stack-synthesizers/legacy.js +1 -1
- package/core/lib/stack-synthesizers/nested.js +1 -1
- package/core/lib/stack-synthesizers/stack-synthesizer.js +1 -1
- package/core/lib/stack.js +1 -1
- package/core/lib/stage.js +1 -1
- package/core/lib/string-fragments.js +1 -1
- package/core/lib/tag-aspect.js +1 -1
- package/core/lib/tag-manager.js +1 -1
- package/core/lib/token.js +1 -1
- package/core/lib/tree.js +1 -1
- package/custom-resources/lib/aws-custom-resource/aws-custom-resource.js +1 -1
- package/custom-resources/lib/provider-framework/provider.js +1 -1
- package/cx-api/lib/artifacts/asset-manifest-artifact.js +1 -1
- package/cx-api/lib/artifacts/cloudformation-artifact.js +1 -1
- package/cx-api/lib/artifacts/nested-cloud-assembly-artifact.js +1 -1
- package/cx-api/lib/artifacts/tree-cloud-artifact.js +1 -1
- package/cx-api/lib/cloud-artifact.js +1 -1
- package/cx-api/lib/cloud-assembly.js +1 -1
- package/cx-api/lib/environment.js +1 -1
- package/cx-api/lib/placeholders.js +1 -1
- package/lambda-layer-awscli/lib/awscli-layer.js +1 -1
- package/lambda-layer-kubectl/lib/kubectl-layer.js +1 -1
- package/lambda-layer-node-proxy-agent/lib/node-proxy-agent-layer.js +1 -1
- package/package.json +253 -253
- package/pipelines/lib/blueprint/file-set.js +1 -1
- package/pipelines/lib/blueprint/manual-approval.js +1 -1
- package/pipelines/lib/blueprint/shell-step.js +1 -1
- package/pipelines/lib/blueprint/stack-deployment.js +1 -1
- package/pipelines/lib/blueprint/stage-deployment.js +1 -1
- package/pipelines/lib/blueprint/step.js +1 -1
- package/pipelines/lib/blueprint/wave.js +1 -1
- package/pipelines/lib/codepipeline/artifact-map.js +1 -1
- package/pipelines/lib/codepipeline/codebuild-step.js +1 -1
- package/pipelines/lib/codepipeline/codepipeline-source.js +1 -1
- package/pipelines/lib/codepipeline/codepipeline.js +1 -1
- package/pipelines/lib/codepipeline/confirm-permissions-broadening.js +1 -1
- package/pipelines/lib/docker-credentials.js +1 -1
- package/pipelines/lib/legacy/actions/deploy-cdk-stack-action.js +1 -1
- package/pipelines/lib/legacy/actions/publish-assets-action.js +1 -1
- package/pipelines/lib/legacy/actions/update-pipeline-action.js +1 -1
- package/pipelines/lib/legacy/pipeline.js +1 -1
- package/pipelines/lib/legacy/stage.js +1 -1
- package/pipelines/lib/legacy/synths/simple-synth-action.js +1 -1
- package/pipelines/lib/legacy/validation/shell-script-action.js +1 -1
- package/pipelines/lib/main/pipeline-base.js +1 -1
- package/region-info/lib/built-ins.generated.d.ts +1 -1
- package/region-info/lib/default.js +1 -1
- package/region-info/lib/fact.js +1 -1
- package/region-info/lib/region-info.js +1 -1
- package/triggers/lib/trigger-function.js +1 -1
- package/triggers/lib/trigger.js +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var _a,_b,_c,_d,_e,_f,_g;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnStudioSessionMapping=exports.CfnStudio=exports.CfnStep=exports.CfnSecurityConfiguration=exports.CfnInstanceGroupConfig=exports.CfnInstanceFleetConfig=exports.CfnCluster=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 CfnClusterPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("additionalInfo",cdk.validateObject)(properties.additionalInfo)),errors.collect(cdk.propertyValidator("applications",cdk.listValidator(CfnCluster_ApplicationPropertyValidator))(properties.applications)),errors.collect(cdk.propertyValidator("autoScalingRole",cdk.validateString)(properties.autoScalingRole)),errors.collect(cdk.propertyValidator("autoTerminationPolicy",CfnCluster_AutoTerminationPolicyPropertyValidator)(properties.autoTerminationPolicy)),errors.collect(cdk.propertyValidator("bootstrapActions",cdk.listValidator(CfnCluster_BootstrapActionConfigPropertyValidator))(properties.bootstrapActions)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnCluster_ConfigurationPropertyValidator))(properties.configurations)),errors.collect(cdk.propertyValidator("customAmiId",cdk.validateString)(properties.customAmiId)),errors.collect(cdk.propertyValidator("ebsRootVolumeSize",cdk.validateNumber)(properties.ebsRootVolumeSize)),errors.collect(cdk.propertyValidator("instances",cdk.requiredValidator)(properties.instances)),errors.collect(cdk.propertyValidator("instances",CfnCluster_JobFlowInstancesConfigPropertyValidator)(properties.instances)),errors.collect(cdk.propertyValidator("jobFlowRole",cdk.requiredValidator)(properties.jobFlowRole)),errors.collect(cdk.propertyValidator("jobFlowRole",cdk.validateString)(properties.jobFlowRole)),errors.collect(cdk.propertyValidator("kerberosAttributes",CfnCluster_KerberosAttributesPropertyValidator)(properties.kerberosAttributes)),errors.collect(cdk.propertyValidator("logEncryptionKmsKeyId",cdk.validateString)(properties.logEncryptionKmsKeyId)),errors.collect(cdk.propertyValidator("logUri",cdk.validateString)(properties.logUri)),errors.collect(cdk.propertyValidator("managedScalingPolicy",CfnCluster_ManagedScalingPolicyPropertyValidator)(properties.managedScalingPolicy)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("releaseLabel",cdk.validateString)(properties.releaseLabel)),errors.collect(cdk.propertyValidator("scaleDownBehavior",cdk.validateString)(properties.scaleDownBehavior)),errors.collect(cdk.propertyValidator("securityConfiguration",cdk.validateString)(properties.securityConfiguration)),errors.collect(cdk.propertyValidator("serviceRole",cdk.requiredValidator)(properties.serviceRole)),errors.collect(cdk.propertyValidator("serviceRole",cdk.validateString)(properties.serviceRole)),errors.collect(cdk.propertyValidator("stepConcurrencyLevel",cdk.validateNumber)(properties.stepConcurrencyLevel)),errors.collect(cdk.propertyValidator("steps",cdk.listValidator(CfnCluster_StepConfigPropertyValidator))(properties.steps)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("visibleToAllUsers",cdk.validateBoolean)(properties.visibleToAllUsers)),errors.wrap('supplied properties not correct for "CfnClusterProps"')}function cfnClusterPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnClusterPropsValidator(properties).assertSuccess(),{Instances:cfnClusterJobFlowInstancesConfigPropertyToCloudFormation(properties.instances),JobFlowRole:cdk.stringToCloudFormation(properties.jobFlowRole),Name:cdk.stringToCloudFormation(properties.name),ServiceRole:cdk.stringToCloudFormation(properties.serviceRole),AdditionalInfo:cdk.objectToCloudFormation(properties.additionalInfo),Applications:cdk.listMapper(cfnClusterApplicationPropertyToCloudFormation)(properties.applications),AutoScalingRole:cdk.stringToCloudFormation(properties.autoScalingRole),AutoTerminationPolicy:cfnClusterAutoTerminationPolicyPropertyToCloudFormation(properties.autoTerminationPolicy),BootstrapActions:cdk.listMapper(cfnClusterBootstrapActionConfigPropertyToCloudFormation)(properties.bootstrapActions),Configurations:cdk.listMapper(cfnClusterConfigurationPropertyToCloudFormation)(properties.configurations),CustomAmiId:cdk.stringToCloudFormation(properties.customAmiId),EbsRootVolumeSize:cdk.numberToCloudFormation(properties.ebsRootVolumeSize),KerberosAttributes:cfnClusterKerberosAttributesPropertyToCloudFormation(properties.kerberosAttributes),LogEncryptionKmsKeyId:cdk.stringToCloudFormation(properties.logEncryptionKmsKeyId),LogUri:cdk.stringToCloudFormation(properties.logUri),ManagedScalingPolicy:cfnClusterManagedScalingPolicyPropertyToCloudFormation(properties.managedScalingPolicy),ReleaseLabel:cdk.stringToCloudFormation(properties.releaseLabel),ScaleDownBehavior:cdk.stringToCloudFormation(properties.scaleDownBehavior),SecurityConfiguration:cdk.stringToCloudFormation(properties.securityConfiguration),StepConcurrencyLevel:cdk.numberToCloudFormation(properties.stepConcurrencyLevel),Steps:cdk.listMapper(cfnClusterStepConfigPropertyToCloudFormation)(properties.steps),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),VisibleToAllUsers:cdk.booleanToCloudFormation(properties.visibleToAllUsers)}):properties}function CfnClusterPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("instances","Instances",CfnClusterJobFlowInstancesConfigPropertyFromCloudFormation(properties.Instances)),ret.addPropertyResult("jobFlowRole","JobFlowRole",cfn_parse.FromCloudFormation.getString(properties.JobFlowRole)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("serviceRole","ServiceRole",cfn_parse.FromCloudFormation.getString(properties.ServiceRole)),ret.addPropertyResult("additionalInfo","AdditionalInfo",properties.AdditionalInfo!=null?cfn_parse.FromCloudFormation.getAny(properties.AdditionalInfo):void 0),ret.addPropertyResult("applications","Applications",properties.Applications!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterApplicationPropertyFromCloudFormation)(properties.Applications):void 0),ret.addPropertyResult("autoScalingRole","AutoScalingRole",properties.AutoScalingRole!=null?cfn_parse.FromCloudFormation.getString(properties.AutoScalingRole):void 0),ret.addPropertyResult("autoTerminationPolicy","AutoTerminationPolicy",properties.AutoTerminationPolicy!=null?CfnClusterAutoTerminationPolicyPropertyFromCloudFormation(properties.AutoTerminationPolicy):void 0),ret.addPropertyResult("bootstrapActions","BootstrapActions",properties.BootstrapActions!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterBootstrapActionConfigPropertyFromCloudFormation)(properties.BootstrapActions):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addPropertyResult("customAmiId","CustomAmiId",properties.CustomAmiId!=null?cfn_parse.FromCloudFormation.getString(properties.CustomAmiId):void 0),ret.addPropertyResult("ebsRootVolumeSize","EbsRootVolumeSize",properties.EbsRootVolumeSize!=null?cfn_parse.FromCloudFormation.getNumber(properties.EbsRootVolumeSize):void 0),ret.addPropertyResult("kerberosAttributes","KerberosAttributes",properties.KerberosAttributes!=null?CfnClusterKerberosAttributesPropertyFromCloudFormation(properties.KerberosAttributes):void 0),ret.addPropertyResult("logEncryptionKmsKeyId","LogEncryptionKmsKeyId",properties.LogEncryptionKmsKeyId!=null?cfn_parse.FromCloudFormation.getString(properties.LogEncryptionKmsKeyId):void 0),ret.addPropertyResult("logUri","LogUri",properties.LogUri!=null?cfn_parse.FromCloudFormation.getString(properties.LogUri):void 0),ret.addPropertyResult("managedScalingPolicy","ManagedScalingPolicy",properties.ManagedScalingPolicy!=null?CfnClusterManagedScalingPolicyPropertyFromCloudFormation(properties.ManagedScalingPolicy):void 0),ret.addPropertyResult("releaseLabel","ReleaseLabel",properties.ReleaseLabel!=null?cfn_parse.FromCloudFormation.getString(properties.ReleaseLabel):void 0),ret.addPropertyResult("scaleDownBehavior","ScaleDownBehavior",properties.ScaleDownBehavior!=null?cfn_parse.FromCloudFormation.getString(properties.ScaleDownBehavior):void 0),ret.addPropertyResult("securityConfiguration","SecurityConfiguration",properties.SecurityConfiguration!=null?cfn_parse.FromCloudFormation.getString(properties.SecurityConfiguration):void 0),ret.addPropertyResult("stepConcurrencyLevel","StepConcurrencyLevel",properties.StepConcurrencyLevel!=null?cfn_parse.FromCloudFormation.getNumber(properties.StepConcurrencyLevel):void 0),ret.addPropertyResult("steps","Steps",properties.Steps!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterStepConfigPropertyFromCloudFormation)(properties.Steps):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("visibleToAllUsers","VisibleToAllUsers",properties.VisibleToAllUsers!=null?cfn_parse.FromCloudFormation.getBoolean(properties.VisibleToAllUsers):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCluster extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCluster),error}cdk.requireProperty(props,"instances",this),cdk.requireProperty(props,"jobFlowRole",this),cdk.requireProperty(props,"name",this),cdk.requireProperty(props,"serviceRole",this),this.attrMasterPublicDns=cdk.Token.asString(this.getAtt("MasterPublicDNS")),this.instances=props.instances,this.jobFlowRole=props.jobFlowRole,this.name=props.name,this.serviceRole=props.serviceRole,this.additionalInfo=props.additionalInfo,this.applications=props.applications,this.autoScalingRole=props.autoScalingRole,this.autoTerminationPolicy=props.autoTerminationPolicy,this.bootstrapActions=props.bootstrapActions,this.configurations=props.configurations,this.customAmiId=props.customAmiId,this.ebsRootVolumeSize=props.ebsRootVolumeSize,this.kerberosAttributes=props.kerberosAttributes,this.logEncryptionKmsKeyId=props.logEncryptionKmsKeyId,this.logUri=props.logUri,this.managedScalingPolicy=props.managedScalingPolicy,this.releaseLabel=props.releaseLabel,this.scaleDownBehavior=props.scaleDownBehavior,this.securityConfiguration=props.securityConfiguration,this.stepConcurrencyLevel=props.stepConcurrencyLevel,this.steps=props.steps,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::EMR::Cluster",props.tags,{tagPropertyName:"tags"}),this.visibleToAllUsers=props.visibleToAllUsers,this.node.scope&&cdk.Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::EMR::Cluster' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnClusterPropsFromCloudFormation(resourceProperties),ret=new CfnCluster(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",CfnCluster.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{instances:this.instances,jobFlowRole:this.jobFlowRole,name:this.name,serviceRole:this.serviceRole,additionalInfo:this.additionalInfo,applications:this.applications,autoScalingRole:this.autoScalingRole,autoTerminationPolicy:this.autoTerminationPolicy,bootstrapActions:this.bootstrapActions,configurations:this.configurations,customAmiId:this.customAmiId,ebsRootVolumeSize:this.ebsRootVolumeSize,kerberosAttributes:this.kerberosAttributes,logEncryptionKmsKeyId:this.logEncryptionKmsKeyId,logUri:this.logUri,managedScalingPolicy:this.managedScalingPolicy,releaseLabel:this.releaseLabel,scaleDownBehavior:this.scaleDownBehavior,securityConfiguration:this.securityConfiguration,stepConcurrencyLevel:this.stepConcurrencyLevel,steps:this.steps,tags:this.tags.renderTags(),visibleToAllUsers:this.visibleToAllUsers}}renderProperties(props){return cfnClusterPropsToCloudFormation(props)}}exports.CfnCluster=CfnCluster,_a=JSII_RTTI_SYMBOL_1,CfnCluster[_a]={fqn:"aws-cdk-lib.aws_emr.CfnCluster",version:"2.52.0"},CfnCluster.CFN_RESOURCE_TYPE_NAME="AWS::EMR::Cluster";function CfnCluster_ApplicationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("additionalInfo",cdk.hashValidator(cdk.validateString))(properties.additionalInfo)),errors.collect(cdk.propertyValidator("args",cdk.listValidator(cdk.validateString))(properties.args)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("version",cdk.validateString)(properties.version)),errors.wrap('supplied properties not correct for "ApplicationProperty"')}function cfnClusterApplicationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ApplicationPropertyValidator(properties).assertSuccess(),{AdditionalInfo:cdk.hashMapper(cdk.stringToCloudFormation)(properties.additionalInfo),Args:cdk.listMapper(cdk.stringToCloudFormation)(properties.args),Name:cdk.stringToCloudFormation(properties.name),Version:cdk.stringToCloudFormation(properties.version)}):properties}function CfnClusterApplicationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("additionalInfo","AdditionalInfo",properties.AdditionalInfo!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.AdditionalInfo):void 0),ret.addPropertyResult("args","Args",properties.Args!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Args):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse.FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_AutoScalingPolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("constraints",cdk.requiredValidator)(properties.constraints)),errors.collect(cdk.propertyValidator("constraints",CfnCluster_ScalingConstraintsPropertyValidator)(properties.constraints)),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnCluster_ScalingRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "AutoScalingPolicyProperty"')}function cfnClusterAutoScalingPolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_AutoScalingPolicyPropertyValidator(properties).assertSuccess(),{Constraints:cfnClusterScalingConstraintsPropertyToCloudFormation(properties.constraints),Rules:cdk.listMapper(cfnClusterScalingRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnClusterAutoScalingPolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("constraints","Constraints",CfnClusterScalingConstraintsPropertyFromCloudFormation(properties.Constraints)),ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnClusterScalingRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_AutoTerminationPolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("idleTimeout",cdk.validateNumber)(properties.idleTimeout)),errors.wrap('supplied properties not correct for "AutoTerminationPolicyProperty"')}function cfnClusterAutoTerminationPolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_AutoTerminationPolicyPropertyValidator(properties).assertSuccess(),{IdleTimeout:cdk.numberToCloudFormation(properties.idleTimeout)}):properties}function CfnClusterAutoTerminationPolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("idleTimeout","IdleTimeout",properties.IdleTimeout!=null?cfn_parse.FromCloudFormation.getNumber(properties.IdleTimeout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_BootstrapActionConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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("scriptBootstrapAction",cdk.requiredValidator)(properties.scriptBootstrapAction)),errors.collect(cdk.propertyValidator("scriptBootstrapAction",CfnCluster_ScriptBootstrapActionConfigPropertyValidator)(properties.scriptBootstrapAction)),errors.wrap('supplied properties not correct for "BootstrapActionConfigProperty"')}function cfnClusterBootstrapActionConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_BootstrapActionConfigPropertyValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),ScriptBootstrapAction:cfnClusterScriptBootstrapActionConfigPropertyToCloudFormation(properties.scriptBootstrapAction)}):properties}function CfnClusterBootstrapActionConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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("scriptBootstrapAction","ScriptBootstrapAction",CfnClusterScriptBootstrapActionConfigPropertyFromCloudFormation(properties.ScriptBootstrapAction)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_CloudWatchAlarmDefinitionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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.requiredValidator)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("comparisonOperator",cdk.validateString)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("dimensions",cdk.listValidator(CfnCluster_MetricDimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk.propertyValidator("evaluationPeriods",cdk.validateNumber)(properties.evaluationPeriods)),errors.collect(cdk.propertyValidator("metricName",cdk.requiredValidator)(properties.metricName)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("namespace",cdk.validateString)(properties.namespace)),errors.collect(cdk.propertyValidator("period",cdk.requiredValidator)(properties.period)),errors.collect(cdk.propertyValidator("period",cdk.validateNumber)(properties.period)),errors.collect(cdk.propertyValidator("statistic",cdk.validateString)(properties.statistic)),errors.collect(cdk.propertyValidator("threshold",cdk.requiredValidator)(properties.threshold)),errors.collect(cdk.propertyValidator("threshold",cdk.validateNumber)(properties.threshold)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),errors.wrap('supplied properties not correct for "CloudWatchAlarmDefinitionProperty"')}function cfnClusterCloudWatchAlarmDefinitionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_CloudWatchAlarmDefinitionPropertyValidator(properties).assertSuccess(),{ComparisonOperator:cdk.stringToCloudFormation(properties.comparisonOperator),Dimensions:cdk.listMapper(cfnClusterMetricDimensionPropertyToCloudFormation)(properties.dimensions),EvaluationPeriods:cdk.numberToCloudFormation(properties.evaluationPeriods),MetricName:cdk.stringToCloudFormation(properties.metricName),Namespace:cdk.stringToCloudFormation(properties.namespace),Period:cdk.numberToCloudFormation(properties.period),Statistic:cdk.stringToCloudFormation(properties.statistic),Threshold:cdk.numberToCloudFormation(properties.threshold),Unit:cdk.stringToCloudFormation(properties.unit)}):properties}function CfnClusterCloudWatchAlarmDefinitionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",cfn_parse.FromCloudFormation.getString(properties.ComparisonOperator)),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterMetricDimensionPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("evaluationPeriods","EvaluationPeriods",properties.EvaluationPeriods!=null?cfn_parse.FromCloudFormation.getNumber(properties.EvaluationPeriods):void 0),ret.addPropertyResult("metricName","MetricName",cfn_parse.FromCloudFormation.getString(properties.MetricName)),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse.FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("period","Period",cfn_parse.FromCloudFormation.getNumber(properties.Period)),ret.addPropertyResult("statistic","Statistic",properties.Statistic!=null?cfn_parse.FromCloudFormation.getString(properties.Statistic):void 0),ret.addPropertyResult("threshold","Threshold",cfn_parse.FromCloudFormation.getNumber(properties.Threshold)),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ComputeLimitsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("maximumCapacityUnits",cdk.requiredValidator)(properties.maximumCapacityUnits)),errors.collect(cdk.propertyValidator("maximumCapacityUnits",cdk.validateNumber)(properties.maximumCapacityUnits)),errors.collect(cdk.propertyValidator("maximumCoreCapacityUnits",cdk.validateNumber)(properties.maximumCoreCapacityUnits)),errors.collect(cdk.propertyValidator("maximumOnDemandCapacityUnits",cdk.validateNumber)(properties.maximumOnDemandCapacityUnits)),errors.collect(cdk.propertyValidator("minimumCapacityUnits",cdk.requiredValidator)(properties.minimumCapacityUnits)),errors.collect(cdk.propertyValidator("minimumCapacityUnits",cdk.validateNumber)(properties.minimumCapacityUnits)),errors.collect(cdk.propertyValidator("unitType",cdk.requiredValidator)(properties.unitType)),errors.collect(cdk.propertyValidator("unitType",cdk.validateString)(properties.unitType)),errors.wrap('supplied properties not correct for "ComputeLimitsProperty"')}function cfnClusterComputeLimitsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ComputeLimitsPropertyValidator(properties).assertSuccess(),{MaximumCapacityUnits:cdk.numberToCloudFormation(properties.maximumCapacityUnits),MaximumCoreCapacityUnits:cdk.numberToCloudFormation(properties.maximumCoreCapacityUnits),MaximumOnDemandCapacityUnits:cdk.numberToCloudFormation(properties.maximumOnDemandCapacityUnits),MinimumCapacityUnits:cdk.numberToCloudFormation(properties.minimumCapacityUnits),UnitType:cdk.stringToCloudFormation(properties.unitType)}):properties}function CfnClusterComputeLimitsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("maximumCapacityUnits","MaximumCapacityUnits",cfn_parse.FromCloudFormation.getNumber(properties.MaximumCapacityUnits)),ret.addPropertyResult("maximumCoreCapacityUnits","MaximumCoreCapacityUnits",properties.MaximumCoreCapacityUnits!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaximumCoreCapacityUnits):void 0),ret.addPropertyResult("maximumOnDemandCapacityUnits","MaximumOnDemandCapacityUnits",properties.MaximumOnDemandCapacityUnits!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaximumOnDemandCapacityUnits):void 0),ret.addPropertyResult("minimumCapacityUnits","MinimumCapacityUnits",cfn_parse.FromCloudFormation.getNumber(properties.MinimumCapacityUnits)),ret.addPropertyResult("unitType","UnitType",cfn_parse.FromCloudFormation.getString(properties.UnitType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("classification",cdk.validateString)(properties.classification)),errors.collect(cdk.propertyValidator("configurationProperties",cdk.hashValidator(cdk.validateString))(properties.configurationProperties)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnCluster_ConfigurationPropertyValidator))(properties.configurations)),errors.wrap('supplied properties not correct for "ConfigurationProperty"')}function cfnClusterConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ConfigurationPropertyValidator(properties).assertSuccess(),{Classification:cdk.stringToCloudFormation(properties.classification),ConfigurationProperties:cdk.hashMapper(cdk.stringToCloudFormation)(properties.configurationProperties),Configurations:cdk.listMapper(cfnClusterConfigurationPropertyToCloudFormation)(properties.configurations)}):properties}function CfnClusterConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("classification","Classification",properties.Classification!=null?cfn_parse.FromCloudFormation.getString(properties.Classification):void 0),ret.addPropertyResult("configurationProperties","ConfigurationProperties",properties.ConfigurationProperties!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.ConfigurationProperties):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_EbsBlockDeviceConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("volumeSpecification",cdk.requiredValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumeSpecification",CfnCluster_VolumeSpecificationPropertyValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumesPerInstance",cdk.validateNumber)(properties.volumesPerInstance)),errors.wrap('supplied properties not correct for "EbsBlockDeviceConfigProperty"')}function cfnClusterEbsBlockDeviceConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_EbsBlockDeviceConfigPropertyValidator(properties).assertSuccess(),{VolumeSpecification:cfnClusterVolumeSpecificationPropertyToCloudFormation(properties.volumeSpecification),VolumesPerInstance:cdk.numberToCloudFormation(properties.volumesPerInstance)}):properties}function CfnClusterEbsBlockDeviceConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("volumeSpecification","VolumeSpecification",CfnClusterVolumeSpecificationPropertyFromCloudFormation(properties.VolumeSpecification)),ret.addPropertyResult("volumesPerInstance","VolumesPerInstance",properties.VolumesPerInstance!=null?cfn_parse.FromCloudFormation.getNumber(properties.VolumesPerInstance):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_EbsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("ebsBlockDeviceConfigs",cdk.listValidator(CfnCluster_EbsBlockDeviceConfigPropertyValidator))(properties.ebsBlockDeviceConfigs)),errors.collect(cdk.propertyValidator("ebsOptimized",cdk.validateBoolean)(properties.ebsOptimized)),errors.wrap('supplied properties not correct for "EbsConfigurationProperty"')}function cfnClusterEbsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_EbsConfigurationPropertyValidator(properties).assertSuccess(),{EbsBlockDeviceConfigs:cdk.listMapper(cfnClusterEbsBlockDeviceConfigPropertyToCloudFormation)(properties.ebsBlockDeviceConfigs),EbsOptimized:cdk.booleanToCloudFormation(properties.ebsOptimized)}):properties}function CfnClusterEbsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("ebsBlockDeviceConfigs","EbsBlockDeviceConfigs",properties.EbsBlockDeviceConfigs!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterEbsBlockDeviceConfigPropertyFromCloudFormation)(properties.EbsBlockDeviceConfigs):void 0),ret.addPropertyResult("ebsOptimized","EbsOptimized",properties.EbsOptimized!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EbsOptimized):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_HadoopJarStepConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("args",cdk.listValidator(cdk.validateString))(properties.args)),errors.collect(cdk.propertyValidator("jar",cdk.requiredValidator)(properties.jar)),errors.collect(cdk.propertyValidator("jar",cdk.validateString)(properties.jar)),errors.collect(cdk.propertyValidator("mainClass",cdk.validateString)(properties.mainClass)),errors.collect(cdk.propertyValidator("stepProperties",cdk.listValidator(CfnCluster_KeyValuePropertyValidator))(properties.stepProperties)),errors.wrap('supplied properties not correct for "HadoopJarStepConfigProperty"')}function cfnClusterHadoopJarStepConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_HadoopJarStepConfigPropertyValidator(properties).assertSuccess(),{Args:cdk.listMapper(cdk.stringToCloudFormation)(properties.args),Jar:cdk.stringToCloudFormation(properties.jar),MainClass:cdk.stringToCloudFormation(properties.mainClass),StepProperties:cdk.listMapper(cfnClusterKeyValuePropertyToCloudFormation)(properties.stepProperties)}):properties}function CfnClusterHadoopJarStepConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("args","Args",properties.Args!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Args):void 0),ret.addPropertyResult("jar","Jar",cfn_parse.FromCloudFormation.getString(properties.Jar)),ret.addPropertyResult("mainClass","MainClass",properties.MainClass!=null?cfn_parse.FromCloudFormation.getString(properties.MainClass):void 0),ret.addPropertyResult("stepProperties","StepProperties",properties.StepProperties!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterKeyValuePropertyFromCloudFormation)(properties.StepProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_InstanceFleetConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("instanceTypeConfigs",cdk.listValidator(CfnCluster_InstanceTypeConfigPropertyValidator))(properties.instanceTypeConfigs)),errors.collect(cdk.propertyValidator("launchSpecifications",CfnCluster_InstanceFleetProvisioningSpecificationsPropertyValidator)(properties.launchSpecifications)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("targetOnDemandCapacity",cdk.validateNumber)(properties.targetOnDemandCapacity)),errors.collect(cdk.propertyValidator("targetSpotCapacity",cdk.validateNumber)(properties.targetSpotCapacity)),errors.wrap('supplied properties not correct for "InstanceFleetConfigProperty"')}function cfnClusterInstanceFleetConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_InstanceFleetConfigPropertyValidator(properties).assertSuccess(),{InstanceTypeConfigs:cdk.listMapper(cfnClusterInstanceTypeConfigPropertyToCloudFormation)(properties.instanceTypeConfigs),LaunchSpecifications:cfnClusterInstanceFleetProvisioningSpecificationsPropertyToCloudFormation(properties.launchSpecifications),Name:cdk.stringToCloudFormation(properties.name),TargetOnDemandCapacity:cdk.numberToCloudFormation(properties.targetOnDemandCapacity),TargetSpotCapacity:cdk.numberToCloudFormation(properties.targetSpotCapacity)}):properties}function CfnClusterInstanceFleetConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("instanceTypeConfigs","InstanceTypeConfigs",properties.InstanceTypeConfigs!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterInstanceTypeConfigPropertyFromCloudFormation)(properties.InstanceTypeConfigs):void 0),ret.addPropertyResult("launchSpecifications","LaunchSpecifications",properties.LaunchSpecifications!=null?CfnClusterInstanceFleetProvisioningSpecificationsPropertyFromCloudFormation(properties.LaunchSpecifications):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("targetOnDemandCapacity","TargetOnDemandCapacity",properties.TargetOnDemandCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.TargetOnDemandCapacity):void 0),ret.addPropertyResult("targetSpotCapacity","TargetSpotCapacity",properties.TargetSpotCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.TargetSpotCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_InstanceFleetProvisioningSpecificationsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("onDemandSpecification",CfnCluster_OnDemandProvisioningSpecificationPropertyValidator)(properties.onDemandSpecification)),errors.collect(cdk.propertyValidator("spotSpecification",CfnCluster_SpotProvisioningSpecificationPropertyValidator)(properties.spotSpecification)),errors.wrap('supplied properties not correct for "InstanceFleetProvisioningSpecificationsProperty"')}function cfnClusterInstanceFleetProvisioningSpecificationsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_InstanceFleetProvisioningSpecificationsPropertyValidator(properties).assertSuccess(),{OnDemandSpecification:cfnClusterOnDemandProvisioningSpecificationPropertyToCloudFormation(properties.onDemandSpecification),SpotSpecification:cfnClusterSpotProvisioningSpecificationPropertyToCloudFormation(properties.spotSpecification)}):properties}function CfnClusterInstanceFleetProvisioningSpecificationsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("onDemandSpecification","OnDemandSpecification",properties.OnDemandSpecification!=null?CfnClusterOnDemandProvisioningSpecificationPropertyFromCloudFormation(properties.OnDemandSpecification):void 0),ret.addPropertyResult("spotSpecification","SpotSpecification",properties.SpotSpecification!=null?CfnClusterSpotProvisioningSpecificationPropertyFromCloudFormation(properties.SpotSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_InstanceGroupConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("autoScalingPolicy",CfnCluster_AutoScalingPolicyPropertyValidator)(properties.autoScalingPolicy)),errors.collect(cdk.propertyValidator("bidPrice",cdk.validateString)(properties.bidPrice)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnCluster_ConfigurationPropertyValidator))(properties.configurations)),errors.collect(cdk.propertyValidator("customAmiId",cdk.validateString)(properties.customAmiId)),errors.collect(cdk.propertyValidator("ebsConfiguration",CfnCluster_EbsConfigurationPropertyValidator)(properties.ebsConfiguration)),errors.collect(cdk.propertyValidator("instanceCount",cdk.requiredValidator)(properties.instanceCount)),errors.collect(cdk.propertyValidator("instanceCount",cdk.validateNumber)(properties.instanceCount)),errors.collect(cdk.propertyValidator("instanceType",cdk.requiredValidator)(properties.instanceType)),errors.collect(cdk.propertyValidator("instanceType",cdk.validateString)(properties.instanceType)),errors.collect(cdk.propertyValidator("market",cdk.validateString)(properties.market)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "InstanceGroupConfigProperty"')}function cfnClusterInstanceGroupConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_InstanceGroupConfigPropertyValidator(properties).assertSuccess(),{AutoScalingPolicy:cfnClusterAutoScalingPolicyPropertyToCloudFormation(properties.autoScalingPolicy),BidPrice:cdk.stringToCloudFormation(properties.bidPrice),Configurations:cdk.listMapper(cfnClusterConfigurationPropertyToCloudFormation)(properties.configurations),CustomAmiId:cdk.stringToCloudFormation(properties.customAmiId),EbsConfiguration:cfnClusterEbsConfigurationPropertyToCloudFormation(properties.ebsConfiguration),InstanceCount:cdk.numberToCloudFormation(properties.instanceCount),InstanceType:cdk.stringToCloudFormation(properties.instanceType),Market:cdk.stringToCloudFormation(properties.market),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnClusterInstanceGroupConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("autoScalingPolicy","AutoScalingPolicy",properties.AutoScalingPolicy!=null?CfnClusterAutoScalingPolicyPropertyFromCloudFormation(properties.AutoScalingPolicy):void 0),ret.addPropertyResult("bidPrice","BidPrice",properties.BidPrice!=null?cfn_parse.FromCloudFormation.getString(properties.BidPrice):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addPropertyResult("customAmiId","CustomAmiId",properties.CustomAmiId!=null?cfn_parse.FromCloudFormation.getString(properties.CustomAmiId):void 0),ret.addPropertyResult("ebsConfiguration","EbsConfiguration",properties.EbsConfiguration!=null?CfnClusterEbsConfigurationPropertyFromCloudFormation(properties.EbsConfiguration):void 0),ret.addPropertyResult("instanceCount","InstanceCount",cfn_parse.FromCloudFormation.getNumber(properties.InstanceCount)),ret.addPropertyResult("instanceType","InstanceType",cfn_parse.FromCloudFormation.getString(properties.InstanceType)),ret.addPropertyResult("market","Market",properties.Market!=null?cfn_parse.FromCloudFormation.getString(properties.Market):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_InstanceTypeConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bidPrice",cdk.validateString)(properties.bidPrice)),errors.collect(cdk.propertyValidator("bidPriceAsPercentageOfOnDemandPrice",cdk.validateNumber)(properties.bidPriceAsPercentageOfOnDemandPrice)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnCluster_ConfigurationPropertyValidator))(properties.configurations)),errors.collect(cdk.propertyValidator("customAmiId",cdk.validateString)(properties.customAmiId)),errors.collect(cdk.propertyValidator("ebsConfiguration",CfnCluster_EbsConfigurationPropertyValidator)(properties.ebsConfiguration)),errors.collect(cdk.propertyValidator("instanceType",cdk.requiredValidator)(properties.instanceType)),errors.collect(cdk.propertyValidator("instanceType",cdk.validateString)(properties.instanceType)),errors.collect(cdk.propertyValidator("weightedCapacity",cdk.validateNumber)(properties.weightedCapacity)),errors.wrap('supplied properties not correct for "InstanceTypeConfigProperty"')}function cfnClusterInstanceTypeConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_InstanceTypeConfigPropertyValidator(properties).assertSuccess(),{BidPrice:cdk.stringToCloudFormation(properties.bidPrice),BidPriceAsPercentageOfOnDemandPrice:cdk.numberToCloudFormation(properties.bidPriceAsPercentageOfOnDemandPrice),Configurations:cdk.listMapper(cfnClusterConfigurationPropertyToCloudFormation)(properties.configurations),CustomAmiId:cdk.stringToCloudFormation(properties.customAmiId),EbsConfiguration:cfnClusterEbsConfigurationPropertyToCloudFormation(properties.ebsConfiguration),InstanceType:cdk.stringToCloudFormation(properties.instanceType),WeightedCapacity:cdk.numberToCloudFormation(properties.weightedCapacity)}):properties}function CfnClusterInstanceTypeConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bidPrice","BidPrice",properties.BidPrice!=null?cfn_parse.FromCloudFormation.getString(properties.BidPrice):void 0),ret.addPropertyResult("bidPriceAsPercentageOfOnDemandPrice","BidPriceAsPercentageOfOnDemandPrice",properties.BidPriceAsPercentageOfOnDemandPrice!=null?cfn_parse.FromCloudFormation.getNumber(properties.BidPriceAsPercentageOfOnDemandPrice):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addPropertyResult("customAmiId","CustomAmiId",properties.CustomAmiId!=null?cfn_parse.FromCloudFormation.getString(properties.CustomAmiId):void 0),ret.addPropertyResult("ebsConfiguration","EbsConfiguration",properties.EbsConfiguration!=null?CfnClusterEbsConfigurationPropertyFromCloudFormation(properties.EbsConfiguration):void 0),ret.addPropertyResult("instanceType","InstanceType",cfn_parse.FromCloudFormation.getString(properties.InstanceType)),ret.addPropertyResult("weightedCapacity","WeightedCapacity",properties.WeightedCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.WeightedCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_JobFlowInstancesConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("additionalMasterSecurityGroups",cdk.listValidator(cdk.validateString))(properties.additionalMasterSecurityGroups)),errors.collect(cdk.propertyValidator("additionalSlaveSecurityGroups",cdk.listValidator(cdk.validateString))(properties.additionalSlaveSecurityGroups)),errors.collect(cdk.propertyValidator("coreInstanceFleet",CfnCluster_InstanceFleetConfigPropertyValidator)(properties.coreInstanceFleet)),errors.collect(cdk.propertyValidator("coreInstanceGroup",CfnCluster_InstanceGroupConfigPropertyValidator)(properties.coreInstanceGroup)),errors.collect(cdk.propertyValidator("ec2KeyName",cdk.validateString)(properties.ec2KeyName)),errors.collect(cdk.propertyValidator("ec2SubnetId",cdk.validateString)(properties.ec2SubnetId)),errors.collect(cdk.propertyValidator("ec2SubnetIds",cdk.listValidator(cdk.validateString))(properties.ec2SubnetIds)),errors.collect(cdk.propertyValidator("emrManagedMasterSecurityGroup",cdk.validateString)(properties.emrManagedMasterSecurityGroup)),errors.collect(cdk.propertyValidator("emrManagedSlaveSecurityGroup",cdk.validateString)(properties.emrManagedSlaveSecurityGroup)),errors.collect(cdk.propertyValidator("hadoopVersion",cdk.validateString)(properties.hadoopVersion)),errors.collect(cdk.propertyValidator("keepJobFlowAliveWhenNoSteps",cdk.validateBoolean)(properties.keepJobFlowAliveWhenNoSteps)),errors.collect(cdk.propertyValidator("masterInstanceFleet",CfnCluster_InstanceFleetConfigPropertyValidator)(properties.masterInstanceFleet)),errors.collect(cdk.propertyValidator("masterInstanceGroup",CfnCluster_InstanceGroupConfigPropertyValidator)(properties.masterInstanceGroup)),errors.collect(cdk.propertyValidator("placement",CfnCluster_PlacementTypePropertyValidator)(properties.placement)),errors.collect(cdk.propertyValidator("serviceAccessSecurityGroup",cdk.validateString)(properties.serviceAccessSecurityGroup)),errors.collect(cdk.propertyValidator("taskInstanceFleets",cdk.listValidator(CfnCluster_InstanceFleetConfigPropertyValidator))(properties.taskInstanceFleets)),errors.collect(cdk.propertyValidator("taskInstanceGroups",cdk.listValidator(CfnCluster_InstanceGroupConfigPropertyValidator))(properties.taskInstanceGroups)),errors.collect(cdk.propertyValidator("terminationProtected",cdk.validateBoolean)(properties.terminationProtected)),errors.wrap('supplied properties not correct for "JobFlowInstancesConfigProperty"')}function cfnClusterJobFlowInstancesConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_JobFlowInstancesConfigPropertyValidator(properties).assertSuccess(),{AdditionalMasterSecurityGroups:cdk.listMapper(cdk.stringToCloudFormation)(properties.additionalMasterSecurityGroups),AdditionalSlaveSecurityGroups:cdk.listMapper(cdk.stringToCloudFormation)(properties.additionalSlaveSecurityGroups),CoreInstanceFleet:cfnClusterInstanceFleetConfigPropertyToCloudFormation(properties.coreInstanceFleet),CoreInstanceGroup:cfnClusterInstanceGroupConfigPropertyToCloudFormation(properties.coreInstanceGroup),Ec2KeyName:cdk.stringToCloudFormation(properties.ec2KeyName),Ec2SubnetId:cdk.stringToCloudFormation(properties.ec2SubnetId),Ec2SubnetIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.ec2SubnetIds),EmrManagedMasterSecurityGroup:cdk.stringToCloudFormation(properties.emrManagedMasterSecurityGroup),EmrManagedSlaveSecurityGroup:cdk.stringToCloudFormation(properties.emrManagedSlaveSecurityGroup),HadoopVersion:cdk.stringToCloudFormation(properties.hadoopVersion),KeepJobFlowAliveWhenNoSteps:cdk.booleanToCloudFormation(properties.keepJobFlowAliveWhenNoSteps),MasterInstanceFleet:cfnClusterInstanceFleetConfigPropertyToCloudFormation(properties.masterInstanceFleet),MasterInstanceGroup:cfnClusterInstanceGroupConfigPropertyToCloudFormation(properties.masterInstanceGroup),Placement:cfnClusterPlacementTypePropertyToCloudFormation(properties.placement),ServiceAccessSecurityGroup:cdk.stringToCloudFormation(properties.serviceAccessSecurityGroup),TaskInstanceFleets:cdk.listMapper(cfnClusterInstanceFleetConfigPropertyToCloudFormation)(properties.taskInstanceFleets),TaskInstanceGroups:cdk.listMapper(cfnClusterInstanceGroupConfigPropertyToCloudFormation)(properties.taskInstanceGroups),TerminationProtected:cdk.booleanToCloudFormation(properties.terminationProtected)}):properties}function CfnClusterJobFlowInstancesConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("additionalMasterSecurityGroups","AdditionalMasterSecurityGroups",properties.AdditionalMasterSecurityGroups!=null?cfn_parse.FromCloudFormation.getStringArray(properties.AdditionalMasterSecurityGroups):void 0),ret.addPropertyResult("additionalSlaveSecurityGroups","AdditionalSlaveSecurityGroups",properties.AdditionalSlaveSecurityGroups!=null?cfn_parse.FromCloudFormation.getStringArray(properties.AdditionalSlaveSecurityGroups):void 0),ret.addPropertyResult("coreInstanceFleet","CoreInstanceFleet",properties.CoreInstanceFleet!=null?CfnClusterInstanceFleetConfigPropertyFromCloudFormation(properties.CoreInstanceFleet):void 0),ret.addPropertyResult("coreInstanceGroup","CoreInstanceGroup",properties.CoreInstanceGroup!=null?CfnClusterInstanceGroupConfigPropertyFromCloudFormation(properties.CoreInstanceGroup):void 0),ret.addPropertyResult("ec2KeyName","Ec2KeyName",properties.Ec2KeyName!=null?cfn_parse.FromCloudFormation.getString(properties.Ec2KeyName):void 0),ret.addPropertyResult("ec2SubnetId","Ec2SubnetId",properties.Ec2SubnetId!=null?cfn_parse.FromCloudFormation.getString(properties.Ec2SubnetId):void 0),ret.addPropertyResult("ec2SubnetIds","Ec2SubnetIds",properties.Ec2SubnetIds!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Ec2SubnetIds):void 0),ret.addPropertyResult("emrManagedMasterSecurityGroup","EmrManagedMasterSecurityGroup",properties.EmrManagedMasterSecurityGroup!=null?cfn_parse.FromCloudFormation.getString(properties.EmrManagedMasterSecurityGroup):void 0),ret.addPropertyResult("emrManagedSlaveSecurityGroup","EmrManagedSlaveSecurityGroup",properties.EmrManagedSlaveSecurityGroup!=null?cfn_parse.FromCloudFormation.getString(properties.EmrManagedSlaveSecurityGroup):void 0),ret.addPropertyResult("hadoopVersion","HadoopVersion",properties.HadoopVersion!=null?cfn_parse.FromCloudFormation.getString(properties.HadoopVersion):void 0),ret.addPropertyResult("keepJobFlowAliveWhenNoSteps","KeepJobFlowAliveWhenNoSteps",properties.KeepJobFlowAliveWhenNoSteps!=null?cfn_parse.FromCloudFormation.getBoolean(properties.KeepJobFlowAliveWhenNoSteps):void 0),ret.addPropertyResult("masterInstanceFleet","MasterInstanceFleet",properties.MasterInstanceFleet!=null?CfnClusterInstanceFleetConfigPropertyFromCloudFormation(properties.MasterInstanceFleet):void 0),ret.addPropertyResult("masterInstanceGroup","MasterInstanceGroup",properties.MasterInstanceGroup!=null?CfnClusterInstanceGroupConfigPropertyFromCloudFormation(properties.MasterInstanceGroup):void 0),ret.addPropertyResult("placement","Placement",properties.Placement!=null?CfnClusterPlacementTypePropertyFromCloudFormation(properties.Placement):void 0),ret.addPropertyResult("serviceAccessSecurityGroup","ServiceAccessSecurityGroup",properties.ServiceAccessSecurityGroup!=null?cfn_parse.FromCloudFormation.getString(properties.ServiceAccessSecurityGroup):void 0),ret.addPropertyResult("taskInstanceFleets","TaskInstanceFleets",properties.TaskInstanceFleets!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterInstanceFleetConfigPropertyFromCloudFormation)(properties.TaskInstanceFleets):void 0),ret.addPropertyResult("taskInstanceGroups","TaskInstanceGroups",properties.TaskInstanceGroups!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterInstanceGroupConfigPropertyFromCloudFormation)(properties.TaskInstanceGroups):void 0),ret.addPropertyResult("terminationProtected","TerminationProtected",properties.TerminationProtected!=null?cfn_parse.FromCloudFormation.getBoolean(properties.TerminationProtected):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_KerberosAttributesPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("adDomainJoinPassword",cdk.validateString)(properties.adDomainJoinPassword)),errors.collect(cdk.propertyValidator("adDomainJoinUser",cdk.validateString)(properties.adDomainJoinUser)),errors.collect(cdk.propertyValidator("crossRealmTrustPrincipalPassword",cdk.validateString)(properties.crossRealmTrustPrincipalPassword)),errors.collect(cdk.propertyValidator("kdcAdminPassword",cdk.requiredValidator)(properties.kdcAdminPassword)),errors.collect(cdk.propertyValidator("kdcAdminPassword",cdk.validateString)(properties.kdcAdminPassword)),errors.collect(cdk.propertyValidator("realm",cdk.requiredValidator)(properties.realm)),errors.collect(cdk.propertyValidator("realm",cdk.validateString)(properties.realm)),errors.wrap('supplied properties not correct for "KerberosAttributesProperty"')}function cfnClusterKerberosAttributesPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_KerberosAttributesPropertyValidator(properties).assertSuccess(),{ADDomainJoinPassword:cdk.stringToCloudFormation(properties.adDomainJoinPassword),ADDomainJoinUser:cdk.stringToCloudFormation(properties.adDomainJoinUser),CrossRealmTrustPrincipalPassword:cdk.stringToCloudFormation(properties.crossRealmTrustPrincipalPassword),KdcAdminPassword:cdk.stringToCloudFormation(properties.kdcAdminPassword),Realm:cdk.stringToCloudFormation(properties.realm)}):properties}function CfnClusterKerberosAttributesPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("adDomainJoinPassword","ADDomainJoinPassword",properties.ADDomainJoinPassword!=null?cfn_parse.FromCloudFormation.getString(properties.ADDomainJoinPassword):void 0),ret.addPropertyResult("adDomainJoinUser","ADDomainJoinUser",properties.ADDomainJoinUser!=null?cfn_parse.FromCloudFormation.getString(properties.ADDomainJoinUser):void 0),ret.addPropertyResult("crossRealmTrustPrincipalPassword","CrossRealmTrustPrincipalPassword",properties.CrossRealmTrustPrincipalPassword!=null?cfn_parse.FromCloudFormation.getString(properties.CrossRealmTrustPrincipalPassword):void 0),ret.addPropertyResult("kdcAdminPassword","KdcAdminPassword",cfn_parse.FromCloudFormation.getString(properties.KdcAdminPassword)),ret.addPropertyResult("realm","Realm",cfn_parse.FromCloudFormation.getString(properties.Realm)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_KeyValuePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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.validateString)(properties.key)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "KeyValueProperty"')}function cfnClusterKeyValuePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_KeyValuePropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnClusterKeyValuePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",properties.Key!=null?cfn_parse.FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse.FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ManagedScalingPolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("computeLimits",CfnCluster_ComputeLimitsPropertyValidator)(properties.computeLimits)),errors.wrap('supplied properties not correct for "ManagedScalingPolicyProperty"')}function cfnClusterManagedScalingPolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ManagedScalingPolicyPropertyValidator(properties).assertSuccess(),{ComputeLimits:cfnClusterComputeLimitsPropertyToCloudFormation(properties.computeLimits)}):properties}function CfnClusterManagedScalingPolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("computeLimits","ComputeLimits",properties.ComputeLimits!=null?CfnClusterComputeLimitsPropertyFromCloudFormation(properties.ComputeLimits):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_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("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 "MetricDimensionProperty"')}function cfnClusterMetricDimensionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_MetricDimensionPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnClusterMetricDimensionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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 CfnCluster_OnDemandProvisioningSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.requiredValidator)(properties.allocationStrategy)),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.validateString)(properties.allocationStrategy)),errors.wrap('supplied properties not correct for "OnDemandProvisioningSpecificationProperty"')}function cfnClusterOnDemandProvisioningSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_OnDemandProvisioningSpecificationPropertyValidator(properties).assertSuccess(),{AllocationStrategy:cdk.stringToCloudFormation(properties.allocationStrategy)}):properties}function CfnClusterOnDemandProvisioningSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("allocationStrategy","AllocationStrategy",cfn_parse.FromCloudFormation.getString(properties.AllocationStrategy)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_PlacementTypePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("availabilityZone",cdk.requiredValidator)(properties.availabilityZone)),errors.collect(cdk.propertyValidator("availabilityZone",cdk.validateString)(properties.availabilityZone)),errors.wrap('supplied properties not correct for "PlacementTypeProperty"')}function cfnClusterPlacementTypePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_PlacementTypePropertyValidator(properties).assertSuccess(),{AvailabilityZone:cdk.stringToCloudFormation(properties.availabilityZone)}):properties}function CfnClusterPlacementTypePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityZone","AvailabilityZone",cfn_parse.FromCloudFormation.getString(properties.AvailabilityZone)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ScalingActionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("market",cdk.validateString)(properties.market)),errors.collect(cdk.propertyValidator("simpleScalingPolicyConfiguration",cdk.requiredValidator)(properties.simpleScalingPolicyConfiguration)),errors.collect(cdk.propertyValidator("simpleScalingPolicyConfiguration",CfnCluster_SimpleScalingPolicyConfigurationPropertyValidator)(properties.simpleScalingPolicyConfiguration)),errors.wrap('supplied properties not correct for "ScalingActionProperty"')}function cfnClusterScalingActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ScalingActionPropertyValidator(properties).assertSuccess(),{Market:cdk.stringToCloudFormation(properties.market),SimpleScalingPolicyConfiguration:cfnClusterSimpleScalingPolicyConfigurationPropertyToCloudFormation(properties.simpleScalingPolicyConfiguration)}):properties}function CfnClusterScalingActionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("market","Market",properties.Market!=null?cfn_parse.FromCloudFormation.getString(properties.Market):void 0),ret.addPropertyResult("simpleScalingPolicyConfiguration","SimpleScalingPolicyConfiguration",CfnClusterSimpleScalingPolicyConfigurationPropertyFromCloudFormation(properties.SimpleScalingPolicyConfiguration)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ScalingConstraintsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("maxCapacity",cdk.requiredValidator)(properties.maxCapacity)),errors.collect(cdk.propertyValidator("maxCapacity",cdk.validateNumber)(properties.maxCapacity)),errors.collect(cdk.propertyValidator("minCapacity",cdk.requiredValidator)(properties.minCapacity)),errors.collect(cdk.propertyValidator("minCapacity",cdk.validateNumber)(properties.minCapacity)),errors.wrap('supplied properties not correct for "ScalingConstraintsProperty"')}function cfnClusterScalingConstraintsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ScalingConstraintsPropertyValidator(properties).assertSuccess(),{MaxCapacity:cdk.numberToCloudFormation(properties.maxCapacity),MinCapacity:cdk.numberToCloudFormation(properties.minCapacity)}):properties}function CfnClusterScalingConstraintsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("maxCapacity","MaxCapacity",cfn_parse.FromCloudFormation.getNumber(properties.MaxCapacity)),ret.addPropertyResult("minCapacity","MinCapacity",cfn_parse.FromCloudFormation.getNumber(properties.MinCapacity)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ScalingRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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",CfnCluster_ScalingActionPropertyValidator)(properties.action)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("trigger",cdk.requiredValidator)(properties.trigger)),errors.collect(cdk.propertyValidator("trigger",CfnCluster_ScalingTriggerPropertyValidator)(properties.trigger)),errors.wrap('supplied properties not correct for "ScalingRuleProperty"')}function cfnClusterScalingRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ScalingRulePropertyValidator(properties).assertSuccess(),{Action:cfnClusterScalingActionPropertyToCloudFormation(properties.action),Description:cdk.stringToCloudFormation(properties.description),Name:cdk.stringToCloudFormation(properties.name),Trigger:cfnClusterScalingTriggerPropertyToCloudFormation(properties.trigger)}):properties}function CfnClusterScalingRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",CfnClusterScalingActionPropertyFromCloudFormation(properties.Action)),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("trigger","Trigger",CfnClusterScalingTriggerPropertyFromCloudFormation(properties.Trigger)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ScalingTriggerPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("cloudWatchAlarmDefinition",cdk.requiredValidator)(properties.cloudWatchAlarmDefinition)),errors.collect(cdk.propertyValidator("cloudWatchAlarmDefinition",CfnCluster_CloudWatchAlarmDefinitionPropertyValidator)(properties.cloudWatchAlarmDefinition)),errors.wrap('supplied properties not correct for "ScalingTriggerProperty"')}function cfnClusterScalingTriggerPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ScalingTriggerPropertyValidator(properties).assertSuccess(),{CloudWatchAlarmDefinition:cfnClusterCloudWatchAlarmDefinitionPropertyToCloudFormation(properties.cloudWatchAlarmDefinition)}):properties}function CfnClusterScalingTriggerPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudWatchAlarmDefinition","CloudWatchAlarmDefinition",CfnClusterCloudWatchAlarmDefinitionPropertyFromCloudFormation(properties.CloudWatchAlarmDefinition)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ScriptBootstrapActionConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("args",cdk.listValidator(cdk.validateString))(properties.args)),errors.collect(cdk.propertyValidator("path",cdk.requiredValidator)(properties.path)),errors.collect(cdk.propertyValidator("path",cdk.validateString)(properties.path)),errors.wrap('supplied properties not correct for "ScriptBootstrapActionConfigProperty"')}function cfnClusterScriptBootstrapActionConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ScriptBootstrapActionConfigPropertyValidator(properties).assertSuccess(),{Args:cdk.listMapper(cdk.stringToCloudFormation)(properties.args),Path:cdk.stringToCloudFormation(properties.path)}):properties}function CfnClusterScriptBootstrapActionConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("args","Args",properties.Args!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Args):void 0),ret.addPropertyResult("path","Path",cfn_parse.FromCloudFormation.getString(properties.Path)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_SimpleScalingPolicyConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("adjustmentType",cdk.validateString)(properties.adjustmentType)),errors.collect(cdk.propertyValidator("coolDown",cdk.validateNumber)(properties.coolDown)),errors.collect(cdk.propertyValidator("scalingAdjustment",cdk.requiredValidator)(properties.scalingAdjustment)),errors.collect(cdk.propertyValidator("scalingAdjustment",cdk.validateNumber)(properties.scalingAdjustment)),errors.wrap('supplied properties not correct for "SimpleScalingPolicyConfigurationProperty"')}function cfnClusterSimpleScalingPolicyConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_SimpleScalingPolicyConfigurationPropertyValidator(properties).assertSuccess(),{AdjustmentType:cdk.stringToCloudFormation(properties.adjustmentType),CoolDown:cdk.numberToCloudFormation(properties.coolDown),ScalingAdjustment:cdk.numberToCloudFormation(properties.scalingAdjustment)}):properties}function CfnClusterSimpleScalingPolicyConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("adjustmentType","AdjustmentType",properties.AdjustmentType!=null?cfn_parse.FromCloudFormation.getString(properties.AdjustmentType):void 0),ret.addPropertyResult("coolDown","CoolDown",properties.CoolDown!=null?cfn_parse.FromCloudFormation.getNumber(properties.CoolDown):void 0),ret.addPropertyResult("scalingAdjustment","ScalingAdjustment",cfn_parse.FromCloudFormation.getNumber(properties.ScalingAdjustment)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_SpotProvisioningSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.validateString)(properties.allocationStrategy)),errors.collect(cdk.propertyValidator("blockDurationMinutes",cdk.validateNumber)(properties.blockDurationMinutes)),errors.collect(cdk.propertyValidator("timeoutAction",cdk.requiredValidator)(properties.timeoutAction)),errors.collect(cdk.propertyValidator("timeoutAction",cdk.validateString)(properties.timeoutAction)),errors.collect(cdk.propertyValidator("timeoutDurationMinutes",cdk.requiredValidator)(properties.timeoutDurationMinutes)),errors.collect(cdk.propertyValidator("timeoutDurationMinutes",cdk.validateNumber)(properties.timeoutDurationMinutes)),errors.wrap('supplied properties not correct for "SpotProvisioningSpecificationProperty"')}function cfnClusterSpotProvisioningSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_SpotProvisioningSpecificationPropertyValidator(properties).assertSuccess(),{AllocationStrategy:cdk.stringToCloudFormation(properties.allocationStrategy),BlockDurationMinutes:cdk.numberToCloudFormation(properties.blockDurationMinutes),TimeoutAction:cdk.stringToCloudFormation(properties.timeoutAction),TimeoutDurationMinutes:cdk.numberToCloudFormation(properties.timeoutDurationMinutes)}):properties}function CfnClusterSpotProvisioningSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("allocationStrategy","AllocationStrategy",properties.AllocationStrategy!=null?cfn_parse.FromCloudFormation.getString(properties.AllocationStrategy):void 0),ret.addPropertyResult("blockDurationMinutes","BlockDurationMinutes",properties.BlockDurationMinutes!=null?cfn_parse.FromCloudFormation.getNumber(properties.BlockDurationMinutes):void 0),ret.addPropertyResult("timeoutAction","TimeoutAction",cfn_parse.FromCloudFormation.getString(properties.TimeoutAction)),ret.addPropertyResult("timeoutDurationMinutes","TimeoutDurationMinutes",cfn_parse.FromCloudFormation.getNumber(properties.TimeoutDurationMinutes)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_StepConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("actionOnFailure",cdk.validateString)(properties.actionOnFailure)),errors.collect(cdk.propertyValidator("hadoopJarStep",cdk.requiredValidator)(properties.hadoopJarStep)),errors.collect(cdk.propertyValidator("hadoopJarStep",CfnCluster_HadoopJarStepConfigPropertyValidator)(properties.hadoopJarStep)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "StepConfigProperty"')}function cfnClusterStepConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_StepConfigPropertyValidator(properties).assertSuccess(),{ActionOnFailure:cdk.stringToCloudFormation(properties.actionOnFailure),HadoopJarStep:cfnClusterHadoopJarStepConfigPropertyToCloudFormation(properties.hadoopJarStep),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnClusterStepConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOnFailure","ActionOnFailure",properties.ActionOnFailure!=null?cfn_parse.FromCloudFormation.getString(properties.ActionOnFailure):void 0),ret.addPropertyResult("hadoopJarStep","HadoopJarStep",CfnClusterHadoopJarStepConfigPropertyFromCloudFormation(properties.HadoopJarStep)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_VolumeSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("iops",cdk.validateNumber)(properties.iops)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.requiredValidator)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.validateNumber)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("volumeType",cdk.requiredValidator)(properties.volumeType)),errors.collect(cdk.propertyValidator("volumeType",cdk.validateString)(properties.volumeType)),errors.wrap('supplied properties not correct for "VolumeSpecificationProperty"')}function cfnClusterVolumeSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_VolumeSpecificationPropertyValidator(properties).assertSuccess(),{Iops:cdk.numberToCloudFormation(properties.iops),SizeInGB:cdk.numberToCloudFormation(properties.sizeInGb),VolumeType:cdk.stringToCloudFormation(properties.volumeType)}):properties}function CfnClusterVolumeSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("iops","Iops",properties.Iops!=null?cfn_parse.FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("sizeInGb","SizeInGB",cfn_parse.FromCloudFormation.getNumber(properties.SizeInGB)),ret.addPropertyResult("volumeType","VolumeType",cfn_parse.FromCloudFormation.getString(properties.VolumeType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfigPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("clusterId",cdk.requiredValidator)(properties.clusterId)),errors.collect(cdk.propertyValidator("clusterId",cdk.validateString)(properties.clusterId)),errors.collect(cdk.propertyValidator("instanceFleetType",cdk.requiredValidator)(properties.instanceFleetType)),errors.collect(cdk.propertyValidator("instanceFleetType",cdk.validateString)(properties.instanceFleetType)),errors.collect(cdk.propertyValidator("instanceTypeConfigs",cdk.listValidator(CfnInstanceFleetConfig_InstanceTypeConfigPropertyValidator))(properties.instanceTypeConfigs)),errors.collect(cdk.propertyValidator("launchSpecifications",CfnInstanceFleetConfig_InstanceFleetProvisioningSpecificationsPropertyValidator)(properties.launchSpecifications)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("targetOnDemandCapacity",cdk.validateNumber)(properties.targetOnDemandCapacity)),errors.collect(cdk.propertyValidator("targetSpotCapacity",cdk.validateNumber)(properties.targetSpotCapacity)),errors.wrap('supplied properties not correct for "CfnInstanceFleetConfigProps"')}function cfnInstanceFleetConfigPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfigPropsValidator(properties).assertSuccess(),{ClusterId:cdk.stringToCloudFormation(properties.clusterId),InstanceFleetType:cdk.stringToCloudFormation(properties.instanceFleetType),InstanceTypeConfigs:cdk.listMapper(cfnInstanceFleetConfigInstanceTypeConfigPropertyToCloudFormation)(properties.instanceTypeConfigs),LaunchSpecifications:cfnInstanceFleetConfigInstanceFleetProvisioningSpecificationsPropertyToCloudFormation(properties.launchSpecifications),Name:cdk.stringToCloudFormation(properties.name),TargetOnDemandCapacity:cdk.numberToCloudFormation(properties.targetOnDemandCapacity),TargetSpotCapacity:cdk.numberToCloudFormation(properties.targetSpotCapacity)}):properties}function CfnInstanceFleetConfigPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterId","ClusterId",cfn_parse.FromCloudFormation.getString(properties.ClusterId)),ret.addPropertyResult("instanceFleetType","InstanceFleetType",cfn_parse.FromCloudFormation.getString(properties.InstanceFleetType)),ret.addPropertyResult("instanceTypeConfigs","InstanceTypeConfigs",properties.InstanceTypeConfigs!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceFleetConfigInstanceTypeConfigPropertyFromCloudFormation)(properties.InstanceTypeConfigs):void 0),ret.addPropertyResult("launchSpecifications","LaunchSpecifications",properties.LaunchSpecifications!=null?CfnInstanceFleetConfigInstanceFleetProvisioningSpecificationsPropertyFromCloudFormation(properties.LaunchSpecifications):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("targetOnDemandCapacity","TargetOnDemandCapacity",properties.TargetOnDemandCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.TargetOnDemandCapacity):void 0),ret.addPropertyResult("targetSpotCapacity","TargetSpotCapacity",properties.TargetSpotCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.TargetSpotCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnInstanceFleetConfig extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnInstanceFleetConfig.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnInstanceFleetConfigProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnInstanceFleetConfig),error}cdk.requireProperty(props,"clusterId",this),cdk.requireProperty(props,"instanceFleetType",this),this.clusterId=props.clusterId,this.instanceFleetType=props.instanceFleetType,this.instanceTypeConfigs=props.instanceTypeConfigs,this.launchSpecifications=props.launchSpecifications,this.name=props.name,this.targetOnDemandCapacity=props.targetOnDemandCapacity,this.targetSpotCapacity=props.targetSpotCapacity}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInstanceFleetConfigPropsFromCloudFormation(resourceProperties),ret=new CfnInstanceFleetConfig(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",CfnInstanceFleetConfig.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{clusterId:this.clusterId,instanceFleetType:this.instanceFleetType,instanceTypeConfigs:this.instanceTypeConfigs,launchSpecifications:this.launchSpecifications,name:this.name,targetOnDemandCapacity:this.targetOnDemandCapacity,targetSpotCapacity:this.targetSpotCapacity}}renderProperties(props){return cfnInstanceFleetConfigPropsToCloudFormation(props)}}exports.CfnInstanceFleetConfig=CfnInstanceFleetConfig,_b=JSII_RTTI_SYMBOL_1,CfnInstanceFleetConfig[_b]={fqn:"aws-cdk-lib.aws_emr.CfnInstanceFleetConfig",version:"2.52.0"},CfnInstanceFleetConfig.CFN_RESOURCE_TYPE_NAME="AWS::EMR::InstanceFleetConfig";function CfnInstanceFleetConfig_ConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("classification",cdk.validateString)(properties.classification)),errors.collect(cdk.propertyValidator("configurationProperties",cdk.hashValidator(cdk.validateString))(properties.configurationProperties)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnInstanceFleetConfig_ConfigurationPropertyValidator))(properties.configurations)),errors.wrap('supplied properties not correct for "ConfigurationProperty"')}function cfnInstanceFleetConfigConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_ConfigurationPropertyValidator(properties).assertSuccess(),{Classification:cdk.stringToCloudFormation(properties.classification),ConfigurationProperties:cdk.hashMapper(cdk.stringToCloudFormation)(properties.configurationProperties),Configurations:cdk.listMapper(cfnInstanceFleetConfigConfigurationPropertyToCloudFormation)(properties.configurations)}):properties}function CfnInstanceFleetConfigConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("classification","Classification",properties.Classification!=null?cfn_parse.FromCloudFormation.getString(properties.Classification):void 0),ret.addPropertyResult("configurationProperties","ConfigurationProperties",properties.ConfigurationProperties!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.ConfigurationProperties):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceFleetConfigConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_EbsBlockDeviceConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("volumeSpecification",cdk.requiredValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumeSpecification",CfnInstanceFleetConfig_VolumeSpecificationPropertyValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumesPerInstance",cdk.validateNumber)(properties.volumesPerInstance)),errors.wrap('supplied properties not correct for "EbsBlockDeviceConfigProperty"')}function cfnInstanceFleetConfigEbsBlockDeviceConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_EbsBlockDeviceConfigPropertyValidator(properties).assertSuccess(),{VolumeSpecification:cfnInstanceFleetConfigVolumeSpecificationPropertyToCloudFormation(properties.volumeSpecification),VolumesPerInstance:cdk.numberToCloudFormation(properties.volumesPerInstance)}):properties}function CfnInstanceFleetConfigEbsBlockDeviceConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("volumeSpecification","VolumeSpecification",CfnInstanceFleetConfigVolumeSpecificationPropertyFromCloudFormation(properties.VolumeSpecification)),ret.addPropertyResult("volumesPerInstance","VolumesPerInstance",properties.VolumesPerInstance!=null?cfn_parse.FromCloudFormation.getNumber(properties.VolumesPerInstance):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_EbsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("ebsBlockDeviceConfigs",cdk.listValidator(CfnInstanceFleetConfig_EbsBlockDeviceConfigPropertyValidator))(properties.ebsBlockDeviceConfigs)),errors.collect(cdk.propertyValidator("ebsOptimized",cdk.validateBoolean)(properties.ebsOptimized)),errors.wrap('supplied properties not correct for "EbsConfigurationProperty"')}function cfnInstanceFleetConfigEbsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_EbsConfigurationPropertyValidator(properties).assertSuccess(),{EbsBlockDeviceConfigs:cdk.listMapper(cfnInstanceFleetConfigEbsBlockDeviceConfigPropertyToCloudFormation)(properties.ebsBlockDeviceConfigs),EbsOptimized:cdk.booleanToCloudFormation(properties.ebsOptimized)}):properties}function CfnInstanceFleetConfigEbsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("ebsBlockDeviceConfigs","EbsBlockDeviceConfigs",properties.EbsBlockDeviceConfigs!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceFleetConfigEbsBlockDeviceConfigPropertyFromCloudFormation)(properties.EbsBlockDeviceConfigs):void 0),ret.addPropertyResult("ebsOptimized","EbsOptimized",properties.EbsOptimized!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EbsOptimized):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_InstanceFleetProvisioningSpecificationsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("onDemandSpecification",CfnInstanceFleetConfig_OnDemandProvisioningSpecificationPropertyValidator)(properties.onDemandSpecification)),errors.collect(cdk.propertyValidator("spotSpecification",CfnInstanceFleetConfig_SpotProvisioningSpecificationPropertyValidator)(properties.spotSpecification)),errors.wrap('supplied properties not correct for "InstanceFleetProvisioningSpecificationsProperty"')}function cfnInstanceFleetConfigInstanceFleetProvisioningSpecificationsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_InstanceFleetProvisioningSpecificationsPropertyValidator(properties).assertSuccess(),{OnDemandSpecification:cfnInstanceFleetConfigOnDemandProvisioningSpecificationPropertyToCloudFormation(properties.onDemandSpecification),SpotSpecification:cfnInstanceFleetConfigSpotProvisioningSpecificationPropertyToCloudFormation(properties.spotSpecification)}):properties}function CfnInstanceFleetConfigInstanceFleetProvisioningSpecificationsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("onDemandSpecification","OnDemandSpecification",properties.OnDemandSpecification!=null?CfnInstanceFleetConfigOnDemandProvisioningSpecificationPropertyFromCloudFormation(properties.OnDemandSpecification):void 0),ret.addPropertyResult("spotSpecification","SpotSpecification",properties.SpotSpecification!=null?CfnInstanceFleetConfigSpotProvisioningSpecificationPropertyFromCloudFormation(properties.SpotSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_InstanceTypeConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bidPrice",cdk.validateString)(properties.bidPrice)),errors.collect(cdk.propertyValidator("bidPriceAsPercentageOfOnDemandPrice",cdk.validateNumber)(properties.bidPriceAsPercentageOfOnDemandPrice)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnInstanceFleetConfig_ConfigurationPropertyValidator))(properties.configurations)),errors.collect(cdk.propertyValidator("customAmiId",cdk.validateString)(properties.customAmiId)),errors.collect(cdk.propertyValidator("ebsConfiguration",CfnInstanceFleetConfig_EbsConfigurationPropertyValidator)(properties.ebsConfiguration)),errors.collect(cdk.propertyValidator("instanceType",cdk.requiredValidator)(properties.instanceType)),errors.collect(cdk.propertyValidator("instanceType",cdk.validateString)(properties.instanceType)),errors.collect(cdk.propertyValidator("weightedCapacity",cdk.validateNumber)(properties.weightedCapacity)),errors.wrap('supplied properties not correct for "InstanceTypeConfigProperty"')}function cfnInstanceFleetConfigInstanceTypeConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_InstanceTypeConfigPropertyValidator(properties).assertSuccess(),{BidPrice:cdk.stringToCloudFormation(properties.bidPrice),BidPriceAsPercentageOfOnDemandPrice:cdk.numberToCloudFormation(properties.bidPriceAsPercentageOfOnDemandPrice),Configurations:cdk.listMapper(cfnInstanceFleetConfigConfigurationPropertyToCloudFormation)(properties.configurations),CustomAmiId:cdk.stringToCloudFormation(properties.customAmiId),EbsConfiguration:cfnInstanceFleetConfigEbsConfigurationPropertyToCloudFormation(properties.ebsConfiguration),InstanceType:cdk.stringToCloudFormation(properties.instanceType),WeightedCapacity:cdk.numberToCloudFormation(properties.weightedCapacity)}):properties}function CfnInstanceFleetConfigInstanceTypeConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bidPrice","BidPrice",properties.BidPrice!=null?cfn_parse.FromCloudFormation.getString(properties.BidPrice):void 0),ret.addPropertyResult("bidPriceAsPercentageOfOnDemandPrice","BidPriceAsPercentageOfOnDemandPrice",properties.BidPriceAsPercentageOfOnDemandPrice!=null?cfn_parse.FromCloudFormation.getNumber(properties.BidPriceAsPercentageOfOnDemandPrice):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceFleetConfigConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addPropertyResult("customAmiId","CustomAmiId",properties.CustomAmiId!=null?cfn_parse.FromCloudFormation.getString(properties.CustomAmiId):void 0),ret.addPropertyResult("ebsConfiguration","EbsConfiguration",properties.EbsConfiguration!=null?CfnInstanceFleetConfigEbsConfigurationPropertyFromCloudFormation(properties.EbsConfiguration):void 0),ret.addPropertyResult("instanceType","InstanceType",cfn_parse.FromCloudFormation.getString(properties.InstanceType)),ret.addPropertyResult("weightedCapacity","WeightedCapacity",properties.WeightedCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.WeightedCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_OnDemandProvisioningSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.requiredValidator)(properties.allocationStrategy)),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.validateString)(properties.allocationStrategy)),errors.wrap('supplied properties not correct for "OnDemandProvisioningSpecificationProperty"')}function cfnInstanceFleetConfigOnDemandProvisioningSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_OnDemandProvisioningSpecificationPropertyValidator(properties).assertSuccess(),{AllocationStrategy:cdk.stringToCloudFormation(properties.allocationStrategy)}):properties}function CfnInstanceFleetConfigOnDemandProvisioningSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("allocationStrategy","AllocationStrategy",cfn_parse.FromCloudFormation.getString(properties.AllocationStrategy)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_SpotProvisioningSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.validateString)(properties.allocationStrategy)),errors.collect(cdk.propertyValidator("blockDurationMinutes",cdk.validateNumber)(properties.blockDurationMinutes)),errors.collect(cdk.propertyValidator("timeoutAction",cdk.requiredValidator)(properties.timeoutAction)),errors.collect(cdk.propertyValidator("timeoutAction",cdk.validateString)(properties.timeoutAction)),errors.collect(cdk.propertyValidator("timeoutDurationMinutes",cdk.requiredValidator)(properties.timeoutDurationMinutes)),errors.collect(cdk.propertyValidator("timeoutDurationMinutes",cdk.validateNumber)(properties.timeoutDurationMinutes)),errors.wrap('supplied properties not correct for "SpotProvisioningSpecificationProperty"')}function cfnInstanceFleetConfigSpotProvisioningSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_SpotProvisioningSpecificationPropertyValidator(properties).assertSuccess(),{AllocationStrategy:cdk.stringToCloudFormation(properties.allocationStrategy),BlockDurationMinutes:cdk.numberToCloudFormation(properties.blockDurationMinutes),TimeoutAction:cdk.stringToCloudFormation(properties.timeoutAction),TimeoutDurationMinutes:cdk.numberToCloudFormation(properties.timeoutDurationMinutes)}):properties}function CfnInstanceFleetConfigSpotProvisioningSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("allocationStrategy","AllocationStrategy",properties.AllocationStrategy!=null?cfn_parse.FromCloudFormation.getString(properties.AllocationStrategy):void 0),ret.addPropertyResult("blockDurationMinutes","BlockDurationMinutes",properties.BlockDurationMinutes!=null?cfn_parse.FromCloudFormation.getNumber(properties.BlockDurationMinutes):void 0),ret.addPropertyResult("timeoutAction","TimeoutAction",cfn_parse.FromCloudFormation.getString(properties.TimeoutAction)),ret.addPropertyResult("timeoutDurationMinutes","TimeoutDurationMinutes",cfn_parse.FromCloudFormation.getNumber(properties.TimeoutDurationMinutes)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_VolumeSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("iops",cdk.validateNumber)(properties.iops)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.requiredValidator)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.validateNumber)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("volumeType",cdk.requiredValidator)(properties.volumeType)),errors.collect(cdk.propertyValidator("volumeType",cdk.validateString)(properties.volumeType)),errors.wrap('supplied properties not correct for "VolumeSpecificationProperty"')}function cfnInstanceFleetConfigVolumeSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_VolumeSpecificationPropertyValidator(properties).assertSuccess(),{Iops:cdk.numberToCloudFormation(properties.iops),SizeInGB:cdk.numberToCloudFormation(properties.sizeInGb),VolumeType:cdk.stringToCloudFormation(properties.volumeType)}):properties}function CfnInstanceFleetConfigVolumeSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("iops","Iops",properties.Iops!=null?cfn_parse.FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("sizeInGb","SizeInGB",cfn_parse.FromCloudFormation.getNumber(properties.SizeInGB)),ret.addPropertyResult("volumeType","VolumeType",cfn_parse.FromCloudFormation.getString(properties.VolumeType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfigPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("autoScalingPolicy",CfnInstanceGroupConfig_AutoScalingPolicyPropertyValidator)(properties.autoScalingPolicy)),errors.collect(cdk.propertyValidator("bidPrice",cdk.validateString)(properties.bidPrice)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnInstanceGroupConfig_ConfigurationPropertyValidator))(properties.configurations)),errors.collect(cdk.propertyValidator("customAmiId",cdk.validateString)(properties.customAmiId)),errors.collect(cdk.propertyValidator("ebsConfiguration",CfnInstanceGroupConfig_EbsConfigurationPropertyValidator)(properties.ebsConfiguration)),errors.collect(cdk.propertyValidator("instanceCount",cdk.requiredValidator)(properties.instanceCount)),errors.collect(cdk.propertyValidator("instanceCount",cdk.validateNumber)(properties.instanceCount)),errors.collect(cdk.propertyValidator("instanceRole",cdk.requiredValidator)(properties.instanceRole)),errors.collect(cdk.propertyValidator("instanceRole",cdk.validateString)(properties.instanceRole)),errors.collect(cdk.propertyValidator("instanceType",cdk.requiredValidator)(properties.instanceType)),errors.collect(cdk.propertyValidator("instanceType",cdk.validateString)(properties.instanceType)),errors.collect(cdk.propertyValidator("jobFlowId",cdk.requiredValidator)(properties.jobFlowId)),errors.collect(cdk.propertyValidator("jobFlowId",cdk.validateString)(properties.jobFlowId)),errors.collect(cdk.propertyValidator("market",cdk.validateString)(properties.market)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "CfnInstanceGroupConfigProps"')}function cfnInstanceGroupConfigPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfigPropsValidator(properties).assertSuccess(),{InstanceCount:cdk.numberToCloudFormation(properties.instanceCount),InstanceRole:cdk.stringToCloudFormation(properties.instanceRole),InstanceType:cdk.stringToCloudFormation(properties.instanceType),JobFlowId:cdk.stringToCloudFormation(properties.jobFlowId),AutoScalingPolicy:cfnInstanceGroupConfigAutoScalingPolicyPropertyToCloudFormation(properties.autoScalingPolicy),BidPrice:cdk.stringToCloudFormation(properties.bidPrice),Configurations:cdk.listMapper(cfnInstanceGroupConfigConfigurationPropertyToCloudFormation)(properties.configurations),CustomAmiId:cdk.stringToCloudFormation(properties.customAmiId),EbsConfiguration:cfnInstanceGroupConfigEbsConfigurationPropertyToCloudFormation(properties.ebsConfiguration),Market:cdk.stringToCloudFormation(properties.market),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnInstanceGroupConfigPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("instanceCount","InstanceCount",cfn_parse.FromCloudFormation.getNumber(properties.InstanceCount)),ret.addPropertyResult("instanceRole","InstanceRole",cfn_parse.FromCloudFormation.getString(properties.InstanceRole)),ret.addPropertyResult("instanceType","InstanceType",cfn_parse.FromCloudFormation.getString(properties.InstanceType)),ret.addPropertyResult("jobFlowId","JobFlowId",cfn_parse.FromCloudFormation.getString(properties.JobFlowId)),ret.addPropertyResult("autoScalingPolicy","AutoScalingPolicy",properties.AutoScalingPolicy!=null?CfnInstanceGroupConfigAutoScalingPolicyPropertyFromCloudFormation(properties.AutoScalingPolicy):void 0),ret.addPropertyResult("bidPrice","BidPrice",properties.BidPrice!=null?cfn_parse.FromCloudFormation.getString(properties.BidPrice):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceGroupConfigConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addPropertyResult("customAmiId","CustomAmiId",properties.CustomAmiId!=null?cfn_parse.FromCloudFormation.getString(properties.CustomAmiId):void 0),ret.addPropertyResult("ebsConfiguration","EbsConfiguration",properties.EbsConfiguration!=null?CfnInstanceGroupConfigEbsConfigurationPropertyFromCloudFormation(properties.EbsConfiguration):void 0),ret.addPropertyResult("market","Market",properties.Market!=null?cfn_parse.FromCloudFormation.getString(properties.Market):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnInstanceGroupConfig extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnInstanceGroupConfig.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnInstanceGroupConfigProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnInstanceGroupConfig),error}cdk.requireProperty(props,"instanceCount",this),cdk.requireProperty(props,"instanceRole",this),cdk.requireProperty(props,"instanceType",this),cdk.requireProperty(props,"jobFlowId",this),this.instanceCount=props.instanceCount,this.instanceRole=props.instanceRole,this.instanceType=props.instanceType,this.jobFlowId=props.jobFlowId,this.autoScalingPolicy=props.autoScalingPolicy,this.bidPrice=props.bidPrice,this.configurations=props.configurations,this.customAmiId=props.customAmiId,this.ebsConfiguration=props.ebsConfiguration,this.market=props.market,this.name=props.name}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInstanceGroupConfigPropsFromCloudFormation(resourceProperties),ret=new CfnInstanceGroupConfig(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",CfnInstanceGroupConfig.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{instanceCount:this.instanceCount,instanceRole:this.instanceRole,instanceType:this.instanceType,jobFlowId:this.jobFlowId,autoScalingPolicy:this.autoScalingPolicy,bidPrice:this.bidPrice,configurations:this.configurations,customAmiId:this.customAmiId,ebsConfiguration:this.ebsConfiguration,market:this.market,name:this.name}}renderProperties(props){return cfnInstanceGroupConfigPropsToCloudFormation(props)}}exports.CfnInstanceGroupConfig=CfnInstanceGroupConfig,_c=JSII_RTTI_SYMBOL_1,CfnInstanceGroupConfig[_c]={fqn:"aws-cdk-lib.aws_emr.CfnInstanceGroupConfig",version:"2.52.0"},CfnInstanceGroupConfig.CFN_RESOURCE_TYPE_NAME="AWS::EMR::InstanceGroupConfig";function CfnInstanceGroupConfig_AutoScalingPolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("constraints",cdk.requiredValidator)(properties.constraints)),errors.collect(cdk.propertyValidator("constraints",CfnInstanceGroupConfig_ScalingConstraintsPropertyValidator)(properties.constraints)),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnInstanceGroupConfig_ScalingRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "AutoScalingPolicyProperty"')}function cfnInstanceGroupConfigAutoScalingPolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_AutoScalingPolicyPropertyValidator(properties).assertSuccess(),{Constraints:cfnInstanceGroupConfigScalingConstraintsPropertyToCloudFormation(properties.constraints),Rules:cdk.listMapper(cfnInstanceGroupConfigScalingRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnInstanceGroupConfigAutoScalingPolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("constraints","Constraints",CfnInstanceGroupConfigScalingConstraintsPropertyFromCloudFormation(properties.Constraints)),ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnInstanceGroupConfigScalingRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_CloudWatchAlarmDefinitionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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.requiredValidator)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("comparisonOperator",cdk.validateString)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("dimensions",cdk.listValidator(CfnInstanceGroupConfig_MetricDimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk.propertyValidator("evaluationPeriods",cdk.validateNumber)(properties.evaluationPeriods)),errors.collect(cdk.propertyValidator("metricName",cdk.requiredValidator)(properties.metricName)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("namespace",cdk.validateString)(properties.namespace)),errors.collect(cdk.propertyValidator("period",cdk.requiredValidator)(properties.period)),errors.collect(cdk.propertyValidator("period",cdk.validateNumber)(properties.period)),errors.collect(cdk.propertyValidator("statistic",cdk.validateString)(properties.statistic)),errors.collect(cdk.propertyValidator("threshold",cdk.requiredValidator)(properties.threshold)),errors.collect(cdk.propertyValidator("threshold",cdk.validateNumber)(properties.threshold)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),errors.wrap('supplied properties not correct for "CloudWatchAlarmDefinitionProperty"')}function cfnInstanceGroupConfigCloudWatchAlarmDefinitionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_CloudWatchAlarmDefinitionPropertyValidator(properties).assertSuccess(),{ComparisonOperator:cdk.stringToCloudFormation(properties.comparisonOperator),Dimensions:cdk.listMapper(cfnInstanceGroupConfigMetricDimensionPropertyToCloudFormation)(properties.dimensions),EvaluationPeriods:cdk.numberToCloudFormation(properties.evaluationPeriods),MetricName:cdk.stringToCloudFormation(properties.metricName),Namespace:cdk.stringToCloudFormation(properties.namespace),Period:cdk.numberToCloudFormation(properties.period),Statistic:cdk.stringToCloudFormation(properties.statistic),Threshold:cdk.numberToCloudFormation(properties.threshold),Unit:cdk.stringToCloudFormation(properties.unit)}):properties}function CfnInstanceGroupConfigCloudWatchAlarmDefinitionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",cfn_parse.FromCloudFormation.getString(properties.ComparisonOperator)),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceGroupConfigMetricDimensionPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("evaluationPeriods","EvaluationPeriods",properties.EvaluationPeriods!=null?cfn_parse.FromCloudFormation.getNumber(properties.EvaluationPeriods):void 0),ret.addPropertyResult("metricName","MetricName",cfn_parse.FromCloudFormation.getString(properties.MetricName)),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse.FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("period","Period",cfn_parse.FromCloudFormation.getNumber(properties.Period)),ret.addPropertyResult("statistic","Statistic",properties.Statistic!=null?cfn_parse.FromCloudFormation.getString(properties.Statistic):void 0),ret.addPropertyResult("threshold","Threshold",cfn_parse.FromCloudFormation.getNumber(properties.Threshold)),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_ConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("classification",cdk.validateString)(properties.classification)),errors.collect(cdk.propertyValidator("configurationProperties",cdk.hashValidator(cdk.validateString))(properties.configurationProperties)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnInstanceGroupConfig_ConfigurationPropertyValidator))(properties.configurations)),errors.wrap('supplied properties not correct for "ConfigurationProperty"')}function cfnInstanceGroupConfigConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_ConfigurationPropertyValidator(properties).assertSuccess(),{Classification:cdk.stringToCloudFormation(properties.classification),ConfigurationProperties:cdk.hashMapper(cdk.stringToCloudFormation)(properties.configurationProperties),Configurations:cdk.listMapper(cfnInstanceGroupConfigConfigurationPropertyToCloudFormation)(properties.configurations)}):properties}function CfnInstanceGroupConfigConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("classification","Classification",properties.Classification!=null?cfn_parse.FromCloudFormation.getString(properties.Classification):void 0),ret.addPropertyResult("configurationProperties","ConfigurationProperties",properties.ConfigurationProperties!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.ConfigurationProperties):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceGroupConfigConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_EbsBlockDeviceConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("volumeSpecification",cdk.requiredValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumeSpecification",CfnInstanceGroupConfig_VolumeSpecificationPropertyValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumesPerInstance",cdk.validateNumber)(properties.volumesPerInstance)),errors.wrap('supplied properties not correct for "EbsBlockDeviceConfigProperty"')}function cfnInstanceGroupConfigEbsBlockDeviceConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_EbsBlockDeviceConfigPropertyValidator(properties).assertSuccess(),{VolumeSpecification:cfnInstanceGroupConfigVolumeSpecificationPropertyToCloudFormation(properties.volumeSpecification),VolumesPerInstance:cdk.numberToCloudFormation(properties.volumesPerInstance)}):properties}function CfnInstanceGroupConfigEbsBlockDeviceConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("volumeSpecification","VolumeSpecification",CfnInstanceGroupConfigVolumeSpecificationPropertyFromCloudFormation(properties.VolumeSpecification)),ret.addPropertyResult("volumesPerInstance","VolumesPerInstance",properties.VolumesPerInstance!=null?cfn_parse.FromCloudFormation.getNumber(properties.VolumesPerInstance):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_EbsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("ebsBlockDeviceConfigs",cdk.listValidator(CfnInstanceGroupConfig_EbsBlockDeviceConfigPropertyValidator))(properties.ebsBlockDeviceConfigs)),errors.collect(cdk.propertyValidator("ebsOptimized",cdk.validateBoolean)(properties.ebsOptimized)),errors.wrap('supplied properties not correct for "EbsConfigurationProperty"')}function cfnInstanceGroupConfigEbsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_EbsConfigurationPropertyValidator(properties).assertSuccess(),{EbsBlockDeviceConfigs:cdk.listMapper(cfnInstanceGroupConfigEbsBlockDeviceConfigPropertyToCloudFormation)(properties.ebsBlockDeviceConfigs),EbsOptimized:cdk.booleanToCloudFormation(properties.ebsOptimized)}):properties}function CfnInstanceGroupConfigEbsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("ebsBlockDeviceConfigs","EbsBlockDeviceConfigs",properties.EbsBlockDeviceConfigs!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceGroupConfigEbsBlockDeviceConfigPropertyFromCloudFormation)(properties.EbsBlockDeviceConfigs):void 0),ret.addPropertyResult("ebsOptimized","EbsOptimized",properties.EbsOptimized!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EbsOptimized):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_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("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 "MetricDimensionProperty"')}function cfnInstanceGroupConfigMetricDimensionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_MetricDimensionPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnInstanceGroupConfigMetricDimensionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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 CfnInstanceGroupConfig_ScalingActionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("market",cdk.validateString)(properties.market)),errors.collect(cdk.propertyValidator("simpleScalingPolicyConfiguration",cdk.requiredValidator)(properties.simpleScalingPolicyConfiguration)),errors.collect(cdk.propertyValidator("simpleScalingPolicyConfiguration",CfnInstanceGroupConfig_SimpleScalingPolicyConfigurationPropertyValidator)(properties.simpleScalingPolicyConfiguration)),errors.wrap('supplied properties not correct for "ScalingActionProperty"')}function cfnInstanceGroupConfigScalingActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_ScalingActionPropertyValidator(properties).assertSuccess(),{Market:cdk.stringToCloudFormation(properties.market),SimpleScalingPolicyConfiguration:cfnInstanceGroupConfigSimpleScalingPolicyConfigurationPropertyToCloudFormation(properties.simpleScalingPolicyConfiguration)}):properties}function CfnInstanceGroupConfigScalingActionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("market","Market",properties.Market!=null?cfn_parse.FromCloudFormation.getString(properties.Market):void 0),ret.addPropertyResult("simpleScalingPolicyConfiguration","SimpleScalingPolicyConfiguration",CfnInstanceGroupConfigSimpleScalingPolicyConfigurationPropertyFromCloudFormation(properties.SimpleScalingPolicyConfiguration)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_ScalingConstraintsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("maxCapacity",cdk.requiredValidator)(properties.maxCapacity)),errors.collect(cdk.propertyValidator("maxCapacity",cdk.validateNumber)(properties.maxCapacity)),errors.collect(cdk.propertyValidator("minCapacity",cdk.requiredValidator)(properties.minCapacity)),errors.collect(cdk.propertyValidator("minCapacity",cdk.validateNumber)(properties.minCapacity)),errors.wrap('supplied properties not correct for "ScalingConstraintsProperty"')}function cfnInstanceGroupConfigScalingConstraintsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_ScalingConstraintsPropertyValidator(properties).assertSuccess(),{MaxCapacity:cdk.numberToCloudFormation(properties.maxCapacity),MinCapacity:cdk.numberToCloudFormation(properties.minCapacity)}):properties}function CfnInstanceGroupConfigScalingConstraintsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("maxCapacity","MaxCapacity",cfn_parse.FromCloudFormation.getNumber(properties.MaxCapacity)),ret.addPropertyResult("minCapacity","MinCapacity",cfn_parse.FromCloudFormation.getNumber(properties.MinCapacity)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_ScalingRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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",CfnInstanceGroupConfig_ScalingActionPropertyValidator)(properties.action)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("trigger",cdk.requiredValidator)(properties.trigger)),errors.collect(cdk.propertyValidator("trigger",CfnInstanceGroupConfig_ScalingTriggerPropertyValidator)(properties.trigger)),errors.wrap('supplied properties not correct for "ScalingRuleProperty"')}function cfnInstanceGroupConfigScalingRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_ScalingRulePropertyValidator(properties).assertSuccess(),{Action:cfnInstanceGroupConfigScalingActionPropertyToCloudFormation(properties.action),Description:cdk.stringToCloudFormation(properties.description),Name:cdk.stringToCloudFormation(properties.name),Trigger:cfnInstanceGroupConfigScalingTriggerPropertyToCloudFormation(properties.trigger)}):properties}function CfnInstanceGroupConfigScalingRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",CfnInstanceGroupConfigScalingActionPropertyFromCloudFormation(properties.Action)),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("trigger","Trigger",CfnInstanceGroupConfigScalingTriggerPropertyFromCloudFormation(properties.Trigger)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_ScalingTriggerPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("cloudWatchAlarmDefinition",cdk.requiredValidator)(properties.cloudWatchAlarmDefinition)),errors.collect(cdk.propertyValidator("cloudWatchAlarmDefinition",CfnInstanceGroupConfig_CloudWatchAlarmDefinitionPropertyValidator)(properties.cloudWatchAlarmDefinition)),errors.wrap('supplied properties not correct for "ScalingTriggerProperty"')}function cfnInstanceGroupConfigScalingTriggerPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_ScalingTriggerPropertyValidator(properties).assertSuccess(),{CloudWatchAlarmDefinition:cfnInstanceGroupConfigCloudWatchAlarmDefinitionPropertyToCloudFormation(properties.cloudWatchAlarmDefinition)}):properties}function CfnInstanceGroupConfigScalingTriggerPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudWatchAlarmDefinition","CloudWatchAlarmDefinition",CfnInstanceGroupConfigCloudWatchAlarmDefinitionPropertyFromCloudFormation(properties.CloudWatchAlarmDefinition)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_SimpleScalingPolicyConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("adjustmentType",cdk.validateString)(properties.adjustmentType)),errors.collect(cdk.propertyValidator("coolDown",cdk.validateNumber)(properties.coolDown)),errors.collect(cdk.propertyValidator("scalingAdjustment",cdk.requiredValidator)(properties.scalingAdjustment)),errors.collect(cdk.propertyValidator("scalingAdjustment",cdk.validateNumber)(properties.scalingAdjustment)),errors.wrap('supplied properties not correct for "SimpleScalingPolicyConfigurationProperty"')}function cfnInstanceGroupConfigSimpleScalingPolicyConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_SimpleScalingPolicyConfigurationPropertyValidator(properties).assertSuccess(),{AdjustmentType:cdk.stringToCloudFormation(properties.adjustmentType),CoolDown:cdk.numberToCloudFormation(properties.coolDown),ScalingAdjustment:cdk.numberToCloudFormation(properties.scalingAdjustment)}):properties}function CfnInstanceGroupConfigSimpleScalingPolicyConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("adjustmentType","AdjustmentType",properties.AdjustmentType!=null?cfn_parse.FromCloudFormation.getString(properties.AdjustmentType):void 0),ret.addPropertyResult("coolDown","CoolDown",properties.CoolDown!=null?cfn_parse.FromCloudFormation.getNumber(properties.CoolDown):void 0),ret.addPropertyResult("scalingAdjustment","ScalingAdjustment",cfn_parse.FromCloudFormation.getNumber(properties.ScalingAdjustment)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_VolumeSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("iops",cdk.validateNumber)(properties.iops)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.requiredValidator)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.validateNumber)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("volumeType",cdk.requiredValidator)(properties.volumeType)),errors.collect(cdk.propertyValidator("volumeType",cdk.validateString)(properties.volumeType)),errors.wrap('supplied properties not correct for "VolumeSpecificationProperty"')}function cfnInstanceGroupConfigVolumeSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_VolumeSpecificationPropertyValidator(properties).assertSuccess(),{Iops:cdk.numberToCloudFormation(properties.iops),SizeInGB:cdk.numberToCloudFormation(properties.sizeInGb),VolumeType:cdk.stringToCloudFormation(properties.volumeType)}):properties}function CfnInstanceGroupConfigVolumeSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("iops","Iops",properties.Iops!=null?cfn_parse.FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("sizeInGb","SizeInGB",cfn_parse.FromCloudFormation.getNumber(properties.SizeInGB)),ret.addPropertyResult("volumeType","VolumeType",cfn_parse.FromCloudFormation.getString(properties.VolumeType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityConfigurationPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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("securityConfiguration",cdk.requiredValidator)(properties.securityConfiguration)),errors.collect(cdk.propertyValidator("securityConfiguration",cdk.validateObject)(properties.securityConfiguration)),errors.wrap('supplied properties not correct for "CfnSecurityConfigurationProps"')}function cfnSecurityConfigurationPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityConfigurationPropsValidator(properties).assertSuccess(),{SecurityConfiguration:cdk.objectToCloudFormation(properties.securityConfiguration),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnSecurityConfigurationPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("securityConfiguration","SecurityConfiguration",cfn_parse.FromCloudFormation.getAny(properties.SecurityConfiguration)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSecurityConfiguration extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnSecurityConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnSecurityConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSecurityConfiguration),error}cdk.requireProperty(props,"securityConfiguration",this),this.securityConfiguration=props.securityConfiguration,this.name=props.name}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSecurityConfigurationPropsFromCloudFormation(resourceProperties),ret=new CfnSecurityConfiguration(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",CfnSecurityConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{securityConfiguration:this.securityConfiguration,name:this.name}}renderProperties(props){return cfnSecurityConfigurationPropsToCloudFormation(props)}}exports.CfnSecurityConfiguration=CfnSecurityConfiguration,_d=JSII_RTTI_SYMBOL_1,CfnSecurityConfiguration[_d]={fqn:"aws-cdk-lib.aws_emr.CfnSecurityConfiguration",version:"2.52.0"},CfnSecurityConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::EMR::SecurityConfiguration";function CfnStepPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("actionOnFailure",cdk.requiredValidator)(properties.actionOnFailure)),errors.collect(cdk.propertyValidator("actionOnFailure",cdk.validateString)(properties.actionOnFailure)),errors.collect(cdk.propertyValidator("hadoopJarStep",cdk.requiredValidator)(properties.hadoopJarStep)),errors.collect(cdk.propertyValidator("hadoopJarStep",CfnStep_HadoopJarStepConfigPropertyValidator)(properties.hadoopJarStep)),errors.collect(cdk.propertyValidator("jobFlowId",cdk.requiredValidator)(properties.jobFlowId)),errors.collect(cdk.propertyValidator("jobFlowId",cdk.validateString)(properties.jobFlowId)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "CfnStepProps"')}function cfnStepPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStepPropsValidator(properties).assertSuccess(),{ActionOnFailure:cdk.stringToCloudFormation(properties.actionOnFailure),HadoopJarStep:cfnStepHadoopJarStepConfigPropertyToCloudFormation(properties.hadoopJarStep),JobFlowId:cdk.stringToCloudFormation(properties.jobFlowId),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnStepPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOnFailure","ActionOnFailure",cfn_parse.FromCloudFormation.getString(properties.ActionOnFailure)),ret.addPropertyResult("hadoopJarStep","HadoopJarStep",CfnStepHadoopJarStepConfigPropertyFromCloudFormation(properties.HadoopJarStep)),ret.addPropertyResult("jobFlowId","JobFlowId",cfn_parse.FromCloudFormation.getString(properties.JobFlowId)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStep extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnStep.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnStepProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStep),error}cdk.requireProperty(props,"actionOnFailure",this),cdk.requireProperty(props,"hadoopJarStep",this),cdk.requireProperty(props,"jobFlowId",this),cdk.requireProperty(props,"name",this),this.actionOnFailure=props.actionOnFailure,this.hadoopJarStep=props.hadoopJarStep,this.jobFlowId=props.jobFlowId,this.name=props.name}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStepPropsFromCloudFormation(resourceProperties),ret=new CfnStep(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",CfnStep.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{actionOnFailure:this.actionOnFailure,hadoopJarStep:this.hadoopJarStep,jobFlowId:this.jobFlowId,name:this.name}}renderProperties(props){return cfnStepPropsToCloudFormation(props)}}exports.CfnStep=CfnStep,_e=JSII_RTTI_SYMBOL_1,CfnStep[_e]={fqn:"aws-cdk-lib.aws_emr.CfnStep",version:"2.52.0"},CfnStep.CFN_RESOURCE_TYPE_NAME="AWS::EMR::Step";function CfnStep_HadoopJarStepConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("args",cdk.listValidator(cdk.validateString))(properties.args)),errors.collect(cdk.propertyValidator("jar",cdk.requiredValidator)(properties.jar)),errors.collect(cdk.propertyValidator("jar",cdk.validateString)(properties.jar)),errors.collect(cdk.propertyValidator("mainClass",cdk.validateString)(properties.mainClass)),errors.collect(cdk.propertyValidator("stepProperties",cdk.listValidator(CfnStep_KeyValuePropertyValidator))(properties.stepProperties)),errors.wrap('supplied properties not correct for "HadoopJarStepConfigProperty"')}function cfnStepHadoopJarStepConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStep_HadoopJarStepConfigPropertyValidator(properties).assertSuccess(),{Args:cdk.listMapper(cdk.stringToCloudFormation)(properties.args),Jar:cdk.stringToCloudFormation(properties.jar),MainClass:cdk.stringToCloudFormation(properties.mainClass),StepProperties:cdk.listMapper(cfnStepKeyValuePropertyToCloudFormation)(properties.stepProperties)}):properties}function CfnStepHadoopJarStepConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("args","Args",properties.Args!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Args):void 0),ret.addPropertyResult("jar","Jar",cfn_parse.FromCloudFormation.getString(properties.Jar)),ret.addPropertyResult("mainClass","MainClass",properties.MainClass!=null?cfn_parse.FromCloudFormation.getString(properties.MainClass):void 0),ret.addPropertyResult("stepProperties","StepProperties",properties.StepProperties!=null?cfn_parse.FromCloudFormation.getArray(CfnStepKeyValuePropertyFromCloudFormation)(properties.StepProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStep_KeyValuePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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.validateString)(properties.key)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "KeyValueProperty"')}function cfnStepKeyValuePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStep_KeyValuePropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnStepKeyValuePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",properties.Key!=null?cfn_parse.FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse.FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStudioPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("authMode",cdk.requiredValidator)(properties.authMode)),errors.collect(cdk.propertyValidator("authMode",cdk.validateString)(properties.authMode)),errors.collect(cdk.propertyValidator("defaultS3Location",cdk.requiredValidator)(properties.defaultS3Location)),errors.collect(cdk.propertyValidator("defaultS3Location",cdk.validateString)(properties.defaultS3Location)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("engineSecurityGroupId",cdk.requiredValidator)(properties.engineSecurityGroupId)),errors.collect(cdk.propertyValidator("engineSecurityGroupId",cdk.validateString)(properties.engineSecurityGroupId)),errors.collect(cdk.propertyValidator("idpAuthUrl",cdk.validateString)(properties.idpAuthUrl)),errors.collect(cdk.propertyValidator("idpRelayStateParameterName",cdk.validateString)(properties.idpRelayStateParameterName)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("serviceRole",cdk.requiredValidator)(properties.serviceRole)),errors.collect(cdk.propertyValidator("serviceRole",cdk.validateString)(properties.serviceRole)),errors.collect(cdk.propertyValidator("subnetIds",cdk.requiredValidator)(properties.subnetIds)),errors.collect(cdk.propertyValidator("subnetIds",cdk.listValidator(cdk.validateString))(properties.subnetIds)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("userRole",cdk.validateString)(properties.userRole)),errors.collect(cdk.propertyValidator("vpcId",cdk.requiredValidator)(properties.vpcId)),errors.collect(cdk.propertyValidator("vpcId",cdk.validateString)(properties.vpcId)),errors.collect(cdk.propertyValidator("workspaceSecurityGroupId",cdk.requiredValidator)(properties.workspaceSecurityGroupId)),errors.collect(cdk.propertyValidator("workspaceSecurityGroupId",cdk.validateString)(properties.workspaceSecurityGroupId)),errors.wrap('supplied properties not correct for "CfnStudioProps"')}function cfnStudioPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStudioPropsValidator(properties).assertSuccess(),{AuthMode:cdk.stringToCloudFormation(properties.authMode),DefaultS3Location:cdk.stringToCloudFormation(properties.defaultS3Location),EngineSecurityGroupId:cdk.stringToCloudFormation(properties.engineSecurityGroupId),Name:cdk.stringToCloudFormation(properties.name),ServiceRole:cdk.stringToCloudFormation(properties.serviceRole),SubnetIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.subnetIds),VpcId:cdk.stringToCloudFormation(properties.vpcId),WorkspaceSecurityGroupId:cdk.stringToCloudFormation(properties.workspaceSecurityGroupId),Description:cdk.stringToCloudFormation(properties.description),IdpAuthUrl:cdk.stringToCloudFormation(properties.idpAuthUrl),IdpRelayStateParameterName:cdk.stringToCloudFormation(properties.idpRelayStateParameterName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),UserRole:cdk.stringToCloudFormation(properties.userRole)}):properties}function CfnStudioPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("authMode","AuthMode",cfn_parse.FromCloudFormation.getString(properties.AuthMode)),ret.addPropertyResult("defaultS3Location","DefaultS3Location",cfn_parse.FromCloudFormation.getString(properties.DefaultS3Location)),ret.addPropertyResult("engineSecurityGroupId","EngineSecurityGroupId",cfn_parse.FromCloudFormation.getString(properties.EngineSecurityGroupId)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("serviceRole","ServiceRole",cfn_parse.FromCloudFormation.getString(properties.ServiceRole)),ret.addPropertyResult("subnetIds","SubnetIds",cfn_parse.FromCloudFormation.getStringArray(properties.SubnetIds)),ret.addPropertyResult("vpcId","VpcId",cfn_parse.FromCloudFormation.getString(properties.VpcId)),ret.addPropertyResult("workspaceSecurityGroupId","WorkspaceSecurityGroupId",cfn_parse.FromCloudFormation.getString(properties.WorkspaceSecurityGroupId)),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("idpAuthUrl","IdpAuthUrl",properties.IdpAuthUrl!=null?cfn_parse.FromCloudFormation.getString(properties.IdpAuthUrl):void 0),ret.addPropertyResult("idpRelayStateParameterName","IdpRelayStateParameterName",properties.IdpRelayStateParameterName!=null?cfn_parse.FromCloudFormation.getString(properties.IdpRelayStateParameterName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("userRole","UserRole",properties.UserRole!=null?cfn_parse.FromCloudFormation.getString(properties.UserRole):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStudio extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnStudio.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnStudioProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStudio),error}cdk.requireProperty(props,"authMode",this),cdk.requireProperty(props,"defaultS3Location",this),cdk.requireProperty(props,"engineSecurityGroupId",this),cdk.requireProperty(props,"name",this),cdk.requireProperty(props,"serviceRole",this),cdk.requireProperty(props,"subnetIds",this),cdk.requireProperty(props,"vpcId",this),cdk.requireProperty(props,"workspaceSecurityGroupId",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrStudioId=cdk.Token.asString(this.getAtt("StudioId")),this.attrUrl=cdk.Token.asString(this.getAtt("Url")),this.authMode=props.authMode,this.defaultS3Location=props.defaultS3Location,this.engineSecurityGroupId=props.engineSecurityGroupId,this.name=props.name,this.serviceRole=props.serviceRole,this.subnetIds=props.subnetIds,this.vpcId=props.vpcId,this.workspaceSecurityGroupId=props.workspaceSecurityGroupId,this.description=props.description,this.idpAuthUrl=props.idpAuthUrl,this.idpRelayStateParameterName=props.idpRelayStateParameterName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::EMR::Studio",props.tags,{tagPropertyName:"tags"}),this.userRole=props.userRole}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStudioPropsFromCloudFormation(resourceProperties),ret=new CfnStudio(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",CfnStudio.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{authMode:this.authMode,defaultS3Location:this.defaultS3Location,engineSecurityGroupId:this.engineSecurityGroupId,name:this.name,serviceRole:this.serviceRole,subnetIds:this.subnetIds,vpcId:this.vpcId,workspaceSecurityGroupId:this.workspaceSecurityGroupId,description:this.description,idpAuthUrl:this.idpAuthUrl,idpRelayStateParameterName:this.idpRelayStateParameterName,tags:this.tags.renderTags(),userRole:this.userRole}}renderProperties(props){return cfnStudioPropsToCloudFormation(props)}}exports.CfnStudio=CfnStudio,_f=JSII_RTTI_SYMBOL_1,CfnStudio[_f]={fqn:"aws-cdk-lib.aws_emr.CfnStudio",version:"2.52.0"},CfnStudio.CFN_RESOURCE_TYPE_NAME="AWS::EMR::Studio";function CfnStudioSessionMappingPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("identityName",cdk.requiredValidator)(properties.identityName)),errors.collect(cdk.propertyValidator("identityName",cdk.validateString)(properties.identityName)),errors.collect(cdk.propertyValidator("identityType",cdk.requiredValidator)(properties.identityType)),errors.collect(cdk.propertyValidator("identityType",cdk.validateString)(properties.identityType)),errors.collect(cdk.propertyValidator("sessionPolicyArn",cdk.requiredValidator)(properties.sessionPolicyArn)),errors.collect(cdk.propertyValidator("sessionPolicyArn",cdk.validateString)(properties.sessionPolicyArn)),errors.collect(cdk.propertyValidator("studioId",cdk.requiredValidator)(properties.studioId)),errors.collect(cdk.propertyValidator("studioId",cdk.validateString)(properties.studioId)),errors.wrap('supplied properties not correct for "CfnStudioSessionMappingProps"')}function cfnStudioSessionMappingPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStudioSessionMappingPropsValidator(properties).assertSuccess(),{IdentityName:cdk.stringToCloudFormation(properties.identityName),IdentityType:cdk.stringToCloudFormation(properties.identityType),SessionPolicyArn:cdk.stringToCloudFormation(properties.sessionPolicyArn),StudioId:cdk.stringToCloudFormation(properties.studioId)}):properties}function CfnStudioSessionMappingPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("identityName","IdentityName",cfn_parse.FromCloudFormation.getString(properties.IdentityName)),ret.addPropertyResult("identityType","IdentityType",cfn_parse.FromCloudFormation.getString(properties.IdentityType)),ret.addPropertyResult("sessionPolicyArn","SessionPolicyArn",cfn_parse.FromCloudFormation.getString(properties.SessionPolicyArn)),ret.addPropertyResult("studioId","StudioId",cfn_parse.FromCloudFormation.getString(properties.StudioId)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStudioSessionMapping extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnStudioSessionMapping.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnStudioSessionMappingProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStudioSessionMapping),error}cdk.requireProperty(props,"identityName",this),cdk.requireProperty(props,"identityType",this),cdk.requireProperty(props,"sessionPolicyArn",this),cdk.requireProperty(props,"studioId",this),this.identityName=props.identityName,this.identityType=props.identityType,this.sessionPolicyArn=props.sessionPolicyArn,this.studioId=props.studioId}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStudioSessionMappingPropsFromCloudFormation(resourceProperties),ret=new CfnStudioSessionMapping(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",CfnStudioSessionMapping.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{identityName:this.identityName,identityType:this.identityType,sessionPolicyArn:this.sessionPolicyArn,studioId:this.studioId}}renderProperties(props){return cfnStudioSessionMappingPropsToCloudFormation(props)}}exports.CfnStudioSessionMapping=CfnStudioSessionMapping,_g=JSII_RTTI_SYMBOL_1,CfnStudioSessionMapping[_g]={fqn:"aws-cdk-lib.aws_emr.CfnStudioSessionMapping",version:"2.52.0"},CfnStudioSessionMapping.CFN_RESOURCE_TYPE_NAME="AWS::EMR::StudioSessionMapping";
|
|
1
|
+
"use strict";var _a,_b,_c,_d,_e,_f,_g;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnStudioSessionMapping=exports.CfnStudio=exports.CfnStep=exports.CfnSecurityConfiguration=exports.CfnInstanceGroupConfig=exports.CfnInstanceFleetConfig=exports.CfnCluster=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 CfnClusterPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("additionalInfo",cdk.validateObject)(properties.additionalInfo)),errors.collect(cdk.propertyValidator("applications",cdk.listValidator(CfnCluster_ApplicationPropertyValidator))(properties.applications)),errors.collect(cdk.propertyValidator("autoScalingRole",cdk.validateString)(properties.autoScalingRole)),errors.collect(cdk.propertyValidator("autoTerminationPolicy",CfnCluster_AutoTerminationPolicyPropertyValidator)(properties.autoTerminationPolicy)),errors.collect(cdk.propertyValidator("bootstrapActions",cdk.listValidator(CfnCluster_BootstrapActionConfigPropertyValidator))(properties.bootstrapActions)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnCluster_ConfigurationPropertyValidator))(properties.configurations)),errors.collect(cdk.propertyValidator("customAmiId",cdk.validateString)(properties.customAmiId)),errors.collect(cdk.propertyValidator("ebsRootVolumeSize",cdk.validateNumber)(properties.ebsRootVolumeSize)),errors.collect(cdk.propertyValidator("instances",cdk.requiredValidator)(properties.instances)),errors.collect(cdk.propertyValidator("instances",CfnCluster_JobFlowInstancesConfigPropertyValidator)(properties.instances)),errors.collect(cdk.propertyValidator("jobFlowRole",cdk.requiredValidator)(properties.jobFlowRole)),errors.collect(cdk.propertyValidator("jobFlowRole",cdk.validateString)(properties.jobFlowRole)),errors.collect(cdk.propertyValidator("kerberosAttributes",CfnCluster_KerberosAttributesPropertyValidator)(properties.kerberosAttributes)),errors.collect(cdk.propertyValidator("logEncryptionKmsKeyId",cdk.validateString)(properties.logEncryptionKmsKeyId)),errors.collect(cdk.propertyValidator("logUri",cdk.validateString)(properties.logUri)),errors.collect(cdk.propertyValidator("managedScalingPolicy",CfnCluster_ManagedScalingPolicyPropertyValidator)(properties.managedScalingPolicy)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("releaseLabel",cdk.validateString)(properties.releaseLabel)),errors.collect(cdk.propertyValidator("scaleDownBehavior",cdk.validateString)(properties.scaleDownBehavior)),errors.collect(cdk.propertyValidator("securityConfiguration",cdk.validateString)(properties.securityConfiguration)),errors.collect(cdk.propertyValidator("serviceRole",cdk.requiredValidator)(properties.serviceRole)),errors.collect(cdk.propertyValidator("serviceRole",cdk.validateString)(properties.serviceRole)),errors.collect(cdk.propertyValidator("stepConcurrencyLevel",cdk.validateNumber)(properties.stepConcurrencyLevel)),errors.collect(cdk.propertyValidator("steps",cdk.listValidator(CfnCluster_StepConfigPropertyValidator))(properties.steps)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("visibleToAllUsers",cdk.validateBoolean)(properties.visibleToAllUsers)),errors.wrap('supplied properties not correct for "CfnClusterProps"')}function cfnClusterPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnClusterPropsValidator(properties).assertSuccess(),{Instances:cfnClusterJobFlowInstancesConfigPropertyToCloudFormation(properties.instances),JobFlowRole:cdk.stringToCloudFormation(properties.jobFlowRole),Name:cdk.stringToCloudFormation(properties.name),ServiceRole:cdk.stringToCloudFormation(properties.serviceRole),AdditionalInfo:cdk.objectToCloudFormation(properties.additionalInfo),Applications:cdk.listMapper(cfnClusterApplicationPropertyToCloudFormation)(properties.applications),AutoScalingRole:cdk.stringToCloudFormation(properties.autoScalingRole),AutoTerminationPolicy:cfnClusterAutoTerminationPolicyPropertyToCloudFormation(properties.autoTerminationPolicy),BootstrapActions:cdk.listMapper(cfnClusterBootstrapActionConfigPropertyToCloudFormation)(properties.bootstrapActions),Configurations:cdk.listMapper(cfnClusterConfigurationPropertyToCloudFormation)(properties.configurations),CustomAmiId:cdk.stringToCloudFormation(properties.customAmiId),EbsRootVolumeSize:cdk.numberToCloudFormation(properties.ebsRootVolumeSize),KerberosAttributes:cfnClusterKerberosAttributesPropertyToCloudFormation(properties.kerberosAttributes),LogEncryptionKmsKeyId:cdk.stringToCloudFormation(properties.logEncryptionKmsKeyId),LogUri:cdk.stringToCloudFormation(properties.logUri),ManagedScalingPolicy:cfnClusterManagedScalingPolicyPropertyToCloudFormation(properties.managedScalingPolicy),ReleaseLabel:cdk.stringToCloudFormation(properties.releaseLabel),ScaleDownBehavior:cdk.stringToCloudFormation(properties.scaleDownBehavior),SecurityConfiguration:cdk.stringToCloudFormation(properties.securityConfiguration),StepConcurrencyLevel:cdk.numberToCloudFormation(properties.stepConcurrencyLevel),Steps:cdk.listMapper(cfnClusterStepConfigPropertyToCloudFormation)(properties.steps),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),VisibleToAllUsers:cdk.booleanToCloudFormation(properties.visibleToAllUsers)}):properties}function CfnClusterPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("instances","Instances",CfnClusterJobFlowInstancesConfigPropertyFromCloudFormation(properties.Instances)),ret.addPropertyResult("jobFlowRole","JobFlowRole",cfn_parse.FromCloudFormation.getString(properties.JobFlowRole)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("serviceRole","ServiceRole",cfn_parse.FromCloudFormation.getString(properties.ServiceRole)),ret.addPropertyResult("additionalInfo","AdditionalInfo",properties.AdditionalInfo!=null?cfn_parse.FromCloudFormation.getAny(properties.AdditionalInfo):void 0),ret.addPropertyResult("applications","Applications",properties.Applications!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterApplicationPropertyFromCloudFormation)(properties.Applications):void 0),ret.addPropertyResult("autoScalingRole","AutoScalingRole",properties.AutoScalingRole!=null?cfn_parse.FromCloudFormation.getString(properties.AutoScalingRole):void 0),ret.addPropertyResult("autoTerminationPolicy","AutoTerminationPolicy",properties.AutoTerminationPolicy!=null?CfnClusterAutoTerminationPolicyPropertyFromCloudFormation(properties.AutoTerminationPolicy):void 0),ret.addPropertyResult("bootstrapActions","BootstrapActions",properties.BootstrapActions!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterBootstrapActionConfigPropertyFromCloudFormation)(properties.BootstrapActions):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addPropertyResult("customAmiId","CustomAmiId",properties.CustomAmiId!=null?cfn_parse.FromCloudFormation.getString(properties.CustomAmiId):void 0),ret.addPropertyResult("ebsRootVolumeSize","EbsRootVolumeSize",properties.EbsRootVolumeSize!=null?cfn_parse.FromCloudFormation.getNumber(properties.EbsRootVolumeSize):void 0),ret.addPropertyResult("kerberosAttributes","KerberosAttributes",properties.KerberosAttributes!=null?CfnClusterKerberosAttributesPropertyFromCloudFormation(properties.KerberosAttributes):void 0),ret.addPropertyResult("logEncryptionKmsKeyId","LogEncryptionKmsKeyId",properties.LogEncryptionKmsKeyId!=null?cfn_parse.FromCloudFormation.getString(properties.LogEncryptionKmsKeyId):void 0),ret.addPropertyResult("logUri","LogUri",properties.LogUri!=null?cfn_parse.FromCloudFormation.getString(properties.LogUri):void 0),ret.addPropertyResult("managedScalingPolicy","ManagedScalingPolicy",properties.ManagedScalingPolicy!=null?CfnClusterManagedScalingPolicyPropertyFromCloudFormation(properties.ManagedScalingPolicy):void 0),ret.addPropertyResult("releaseLabel","ReleaseLabel",properties.ReleaseLabel!=null?cfn_parse.FromCloudFormation.getString(properties.ReleaseLabel):void 0),ret.addPropertyResult("scaleDownBehavior","ScaleDownBehavior",properties.ScaleDownBehavior!=null?cfn_parse.FromCloudFormation.getString(properties.ScaleDownBehavior):void 0),ret.addPropertyResult("securityConfiguration","SecurityConfiguration",properties.SecurityConfiguration!=null?cfn_parse.FromCloudFormation.getString(properties.SecurityConfiguration):void 0),ret.addPropertyResult("stepConcurrencyLevel","StepConcurrencyLevel",properties.StepConcurrencyLevel!=null?cfn_parse.FromCloudFormation.getNumber(properties.StepConcurrencyLevel):void 0),ret.addPropertyResult("steps","Steps",properties.Steps!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterStepConfigPropertyFromCloudFormation)(properties.Steps):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("visibleToAllUsers","VisibleToAllUsers",properties.VisibleToAllUsers!=null?cfn_parse.FromCloudFormation.getBoolean(properties.VisibleToAllUsers):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnCluster extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCluster),error}cdk.requireProperty(props,"instances",this),cdk.requireProperty(props,"jobFlowRole",this),cdk.requireProperty(props,"name",this),cdk.requireProperty(props,"serviceRole",this),this.attrMasterPublicDns=cdk.Token.asString(this.getAtt("MasterPublicDNS")),this.instances=props.instances,this.jobFlowRole=props.jobFlowRole,this.name=props.name,this.serviceRole=props.serviceRole,this.additionalInfo=props.additionalInfo,this.applications=props.applications,this.autoScalingRole=props.autoScalingRole,this.autoTerminationPolicy=props.autoTerminationPolicy,this.bootstrapActions=props.bootstrapActions,this.configurations=props.configurations,this.customAmiId=props.customAmiId,this.ebsRootVolumeSize=props.ebsRootVolumeSize,this.kerberosAttributes=props.kerberosAttributes,this.logEncryptionKmsKeyId=props.logEncryptionKmsKeyId,this.logUri=props.logUri,this.managedScalingPolicy=props.managedScalingPolicy,this.releaseLabel=props.releaseLabel,this.scaleDownBehavior=props.scaleDownBehavior,this.securityConfiguration=props.securityConfiguration,this.stepConcurrencyLevel=props.stepConcurrencyLevel,this.steps=props.steps,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::EMR::Cluster",props.tags,{tagPropertyName:"tags"}),this.visibleToAllUsers=props.visibleToAllUsers,this.node.scope&&cdk.Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::EMR::Cluster' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnClusterPropsFromCloudFormation(resourceProperties),ret=new CfnCluster(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",CfnCluster.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{instances:this.instances,jobFlowRole:this.jobFlowRole,name:this.name,serviceRole:this.serviceRole,additionalInfo:this.additionalInfo,applications:this.applications,autoScalingRole:this.autoScalingRole,autoTerminationPolicy:this.autoTerminationPolicy,bootstrapActions:this.bootstrapActions,configurations:this.configurations,customAmiId:this.customAmiId,ebsRootVolumeSize:this.ebsRootVolumeSize,kerberosAttributes:this.kerberosAttributes,logEncryptionKmsKeyId:this.logEncryptionKmsKeyId,logUri:this.logUri,managedScalingPolicy:this.managedScalingPolicy,releaseLabel:this.releaseLabel,scaleDownBehavior:this.scaleDownBehavior,securityConfiguration:this.securityConfiguration,stepConcurrencyLevel:this.stepConcurrencyLevel,steps:this.steps,tags:this.tags.renderTags(),visibleToAllUsers:this.visibleToAllUsers}}renderProperties(props){return cfnClusterPropsToCloudFormation(props)}}exports.CfnCluster=CfnCluster,_a=JSII_RTTI_SYMBOL_1,CfnCluster[_a]={fqn:"aws-cdk-lib.aws_emr.CfnCluster",version:"2.52.1"},CfnCluster.CFN_RESOURCE_TYPE_NAME="AWS::EMR::Cluster";function CfnCluster_ApplicationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("additionalInfo",cdk.hashValidator(cdk.validateString))(properties.additionalInfo)),errors.collect(cdk.propertyValidator("args",cdk.listValidator(cdk.validateString))(properties.args)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("version",cdk.validateString)(properties.version)),errors.wrap('supplied properties not correct for "ApplicationProperty"')}function cfnClusterApplicationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ApplicationPropertyValidator(properties).assertSuccess(),{AdditionalInfo:cdk.hashMapper(cdk.stringToCloudFormation)(properties.additionalInfo),Args:cdk.listMapper(cdk.stringToCloudFormation)(properties.args),Name:cdk.stringToCloudFormation(properties.name),Version:cdk.stringToCloudFormation(properties.version)}):properties}function CfnClusterApplicationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("additionalInfo","AdditionalInfo",properties.AdditionalInfo!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.AdditionalInfo):void 0),ret.addPropertyResult("args","Args",properties.Args!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Args):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse.FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_AutoScalingPolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("constraints",cdk.requiredValidator)(properties.constraints)),errors.collect(cdk.propertyValidator("constraints",CfnCluster_ScalingConstraintsPropertyValidator)(properties.constraints)),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnCluster_ScalingRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "AutoScalingPolicyProperty"')}function cfnClusterAutoScalingPolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_AutoScalingPolicyPropertyValidator(properties).assertSuccess(),{Constraints:cfnClusterScalingConstraintsPropertyToCloudFormation(properties.constraints),Rules:cdk.listMapper(cfnClusterScalingRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnClusterAutoScalingPolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("constraints","Constraints",CfnClusterScalingConstraintsPropertyFromCloudFormation(properties.Constraints)),ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnClusterScalingRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_AutoTerminationPolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("idleTimeout",cdk.validateNumber)(properties.idleTimeout)),errors.wrap('supplied properties not correct for "AutoTerminationPolicyProperty"')}function cfnClusterAutoTerminationPolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_AutoTerminationPolicyPropertyValidator(properties).assertSuccess(),{IdleTimeout:cdk.numberToCloudFormation(properties.idleTimeout)}):properties}function CfnClusterAutoTerminationPolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("idleTimeout","IdleTimeout",properties.IdleTimeout!=null?cfn_parse.FromCloudFormation.getNumber(properties.IdleTimeout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_BootstrapActionConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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("scriptBootstrapAction",cdk.requiredValidator)(properties.scriptBootstrapAction)),errors.collect(cdk.propertyValidator("scriptBootstrapAction",CfnCluster_ScriptBootstrapActionConfigPropertyValidator)(properties.scriptBootstrapAction)),errors.wrap('supplied properties not correct for "BootstrapActionConfigProperty"')}function cfnClusterBootstrapActionConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_BootstrapActionConfigPropertyValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),ScriptBootstrapAction:cfnClusterScriptBootstrapActionConfigPropertyToCloudFormation(properties.scriptBootstrapAction)}):properties}function CfnClusterBootstrapActionConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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("scriptBootstrapAction","ScriptBootstrapAction",CfnClusterScriptBootstrapActionConfigPropertyFromCloudFormation(properties.ScriptBootstrapAction)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_CloudWatchAlarmDefinitionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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.requiredValidator)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("comparisonOperator",cdk.validateString)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("dimensions",cdk.listValidator(CfnCluster_MetricDimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk.propertyValidator("evaluationPeriods",cdk.validateNumber)(properties.evaluationPeriods)),errors.collect(cdk.propertyValidator("metricName",cdk.requiredValidator)(properties.metricName)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("namespace",cdk.validateString)(properties.namespace)),errors.collect(cdk.propertyValidator("period",cdk.requiredValidator)(properties.period)),errors.collect(cdk.propertyValidator("period",cdk.validateNumber)(properties.period)),errors.collect(cdk.propertyValidator("statistic",cdk.validateString)(properties.statistic)),errors.collect(cdk.propertyValidator("threshold",cdk.requiredValidator)(properties.threshold)),errors.collect(cdk.propertyValidator("threshold",cdk.validateNumber)(properties.threshold)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),errors.wrap('supplied properties not correct for "CloudWatchAlarmDefinitionProperty"')}function cfnClusterCloudWatchAlarmDefinitionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_CloudWatchAlarmDefinitionPropertyValidator(properties).assertSuccess(),{ComparisonOperator:cdk.stringToCloudFormation(properties.comparisonOperator),Dimensions:cdk.listMapper(cfnClusterMetricDimensionPropertyToCloudFormation)(properties.dimensions),EvaluationPeriods:cdk.numberToCloudFormation(properties.evaluationPeriods),MetricName:cdk.stringToCloudFormation(properties.metricName),Namespace:cdk.stringToCloudFormation(properties.namespace),Period:cdk.numberToCloudFormation(properties.period),Statistic:cdk.stringToCloudFormation(properties.statistic),Threshold:cdk.numberToCloudFormation(properties.threshold),Unit:cdk.stringToCloudFormation(properties.unit)}):properties}function CfnClusterCloudWatchAlarmDefinitionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",cfn_parse.FromCloudFormation.getString(properties.ComparisonOperator)),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterMetricDimensionPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("evaluationPeriods","EvaluationPeriods",properties.EvaluationPeriods!=null?cfn_parse.FromCloudFormation.getNumber(properties.EvaluationPeriods):void 0),ret.addPropertyResult("metricName","MetricName",cfn_parse.FromCloudFormation.getString(properties.MetricName)),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse.FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("period","Period",cfn_parse.FromCloudFormation.getNumber(properties.Period)),ret.addPropertyResult("statistic","Statistic",properties.Statistic!=null?cfn_parse.FromCloudFormation.getString(properties.Statistic):void 0),ret.addPropertyResult("threshold","Threshold",cfn_parse.FromCloudFormation.getNumber(properties.Threshold)),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ComputeLimitsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("maximumCapacityUnits",cdk.requiredValidator)(properties.maximumCapacityUnits)),errors.collect(cdk.propertyValidator("maximumCapacityUnits",cdk.validateNumber)(properties.maximumCapacityUnits)),errors.collect(cdk.propertyValidator("maximumCoreCapacityUnits",cdk.validateNumber)(properties.maximumCoreCapacityUnits)),errors.collect(cdk.propertyValidator("maximumOnDemandCapacityUnits",cdk.validateNumber)(properties.maximumOnDemandCapacityUnits)),errors.collect(cdk.propertyValidator("minimumCapacityUnits",cdk.requiredValidator)(properties.minimumCapacityUnits)),errors.collect(cdk.propertyValidator("minimumCapacityUnits",cdk.validateNumber)(properties.minimumCapacityUnits)),errors.collect(cdk.propertyValidator("unitType",cdk.requiredValidator)(properties.unitType)),errors.collect(cdk.propertyValidator("unitType",cdk.validateString)(properties.unitType)),errors.wrap('supplied properties not correct for "ComputeLimitsProperty"')}function cfnClusterComputeLimitsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ComputeLimitsPropertyValidator(properties).assertSuccess(),{MaximumCapacityUnits:cdk.numberToCloudFormation(properties.maximumCapacityUnits),MaximumCoreCapacityUnits:cdk.numberToCloudFormation(properties.maximumCoreCapacityUnits),MaximumOnDemandCapacityUnits:cdk.numberToCloudFormation(properties.maximumOnDemandCapacityUnits),MinimumCapacityUnits:cdk.numberToCloudFormation(properties.minimumCapacityUnits),UnitType:cdk.stringToCloudFormation(properties.unitType)}):properties}function CfnClusterComputeLimitsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("maximumCapacityUnits","MaximumCapacityUnits",cfn_parse.FromCloudFormation.getNumber(properties.MaximumCapacityUnits)),ret.addPropertyResult("maximumCoreCapacityUnits","MaximumCoreCapacityUnits",properties.MaximumCoreCapacityUnits!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaximumCoreCapacityUnits):void 0),ret.addPropertyResult("maximumOnDemandCapacityUnits","MaximumOnDemandCapacityUnits",properties.MaximumOnDemandCapacityUnits!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaximumOnDemandCapacityUnits):void 0),ret.addPropertyResult("minimumCapacityUnits","MinimumCapacityUnits",cfn_parse.FromCloudFormation.getNumber(properties.MinimumCapacityUnits)),ret.addPropertyResult("unitType","UnitType",cfn_parse.FromCloudFormation.getString(properties.UnitType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("classification",cdk.validateString)(properties.classification)),errors.collect(cdk.propertyValidator("configurationProperties",cdk.hashValidator(cdk.validateString))(properties.configurationProperties)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnCluster_ConfigurationPropertyValidator))(properties.configurations)),errors.wrap('supplied properties not correct for "ConfigurationProperty"')}function cfnClusterConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ConfigurationPropertyValidator(properties).assertSuccess(),{Classification:cdk.stringToCloudFormation(properties.classification),ConfigurationProperties:cdk.hashMapper(cdk.stringToCloudFormation)(properties.configurationProperties),Configurations:cdk.listMapper(cfnClusterConfigurationPropertyToCloudFormation)(properties.configurations)}):properties}function CfnClusterConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("classification","Classification",properties.Classification!=null?cfn_parse.FromCloudFormation.getString(properties.Classification):void 0),ret.addPropertyResult("configurationProperties","ConfigurationProperties",properties.ConfigurationProperties!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.ConfigurationProperties):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_EbsBlockDeviceConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("volumeSpecification",cdk.requiredValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumeSpecification",CfnCluster_VolumeSpecificationPropertyValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumesPerInstance",cdk.validateNumber)(properties.volumesPerInstance)),errors.wrap('supplied properties not correct for "EbsBlockDeviceConfigProperty"')}function cfnClusterEbsBlockDeviceConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_EbsBlockDeviceConfigPropertyValidator(properties).assertSuccess(),{VolumeSpecification:cfnClusterVolumeSpecificationPropertyToCloudFormation(properties.volumeSpecification),VolumesPerInstance:cdk.numberToCloudFormation(properties.volumesPerInstance)}):properties}function CfnClusterEbsBlockDeviceConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("volumeSpecification","VolumeSpecification",CfnClusterVolumeSpecificationPropertyFromCloudFormation(properties.VolumeSpecification)),ret.addPropertyResult("volumesPerInstance","VolumesPerInstance",properties.VolumesPerInstance!=null?cfn_parse.FromCloudFormation.getNumber(properties.VolumesPerInstance):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_EbsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("ebsBlockDeviceConfigs",cdk.listValidator(CfnCluster_EbsBlockDeviceConfigPropertyValidator))(properties.ebsBlockDeviceConfigs)),errors.collect(cdk.propertyValidator("ebsOptimized",cdk.validateBoolean)(properties.ebsOptimized)),errors.wrap('supplied properties not correct for "EbsConfigurationProperty"')}function cfnClusterEbsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_EbsConfigurationPropertyValidator(properties).assertSuccess(),{EbsBlockDeviceConfigs:cdk.listMapper(cfnClusterEbsBlockDeviceConfigPropertyToCloudFormation)(properties.ebsBlockDeviceConfigs),EbsOptimized:cdk.booleanToCloudFormation(properties.ebsOptimized)}):properties}function CfnClusterEbsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("ebsBlockDeviceConfigs","EbsBlockDeviceConfigs",properties.EbsBlockDeviceConfigs!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterEbsBlockDeviceConfigPropertyFromCloudFormation)(properties.EbsBlockDeviceConfigs):void 0),ret.addPropertyResult("ebsOptimized","EbsOptimized",properties.EbsOptimized!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EbsOptimized):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_HadoopJarStepConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("args",cdk.listValidator(cdk.validateString))(properties.args)),errors.collect(cdk.propertyValidator("jar",cdk.requiredValidator)(properties.jar)),errors.collect(cdk.propertyValidator("jar",cdk.validateString)(properties.jar)),errors.collect(cdk.propertyValidator("mainClass",cdk.validateString)(properties.mainClass)),errors.collect(cdk.propertyValidator("stepProperties",cdk.listValidator(CfnCluster_KeyValuePropertyValidator))(properties.stepProperties)),errors.wrap('supplied properties not correct for "HadoopJarStepConfigProperty"')}function cfnClusterHadoopJarStepConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_HadoopJarStepConfigPropertyValidator(properties).assertSuccess(),{Args:cdk.listMapper(cdk.stringToCloudFormation)(properties.args),Jar:cdk.stringToCloudFormation(properties.jar),MainClass:cdk.stringToCloudFormation(properties.mainClass),StepProperties:cdk.listMapper(cfnClusterKeyValuePropertyToCloudFormation)(properties.stepProperties)}):properties}function CfnClusterHadoopJarStepConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("args","Args",properties.Args!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Args):void 0),ret.addPropertyResult("jar","Jar",cfn_parse.FromCloudFormation.getString(properties.Jar)),ret.addPropertyResult("mainClass","MainClass",properties.MainClass!=null?cfn_parse.FromCloudFormation.getString(properties.MainClass):void 0),ret.addPropertyResult("stepProperties","StepProperties",properties.StepProperties!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterKeyValuePropertyFromCloudFormation)(properties.StepProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_InstanceFleetConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("instanceTypeConfigs",cdk.listValidator(CfnCluster_InstanceTypeConfigPropertyValidator))(properties.instanceTypeConfigs)),errors.collect(cdk.propertyValidator("launchSpecifications",CfnCluster_InstanceFleetProvisioningSpecificationsPropertyValidator)(properties.launchSpecifications)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("targetOnDemandCapacity",cdk.validateNumber)(properties.targetOnDemandCapacity)),errors.collect(cdk.propertyValidator("targetSpotCapacity",cdk.validateNumber)(properties.targetSpotCapacity)),errors.wrap('supplied properties not correct for "InstanceFleetConfigProperty"')}function cfnClusterInstanceFleetConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_InstanceFleetConfigPropertyValidator(properties).assertSuccess(),{InstanceTypeConfigs:cdk.listMapper(cfnClusterInstanceTypeConfigPropertyToCloudFormation)(properties.instanceTypeConfigs),LaunchSpecifications:cfnClusterInstanceFleetProvisioningSpecificationsPropertyToCloudFormation(properties.launchSpecifications),Name:cdk.stringToCloudFormation(properties.name),TargetOnDemandCapacity:cdk.numberToCloudFormation(properties.targetOnDemandCapacity),TargetSpotCapacity:cdk.numberToCloudFormation(properties.targetSpotCapacity)}):properties}function CfnClusterInstanceFleetConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("instanceTypeConfigs","InstanceTypeConfigs",properties.InstanceTypeConfigs!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterInstanceTypeConfigPropertyFromCloudFormation)(properties.InstanceTypeConfigs):void 0),ret.addPropertyResult("launchSpecifications","LaunchSpecifications",properties.LaunchSpecifications!=null?CfnClusterInstanceFleetProvisioningSpecificationsPropertyFromCloudFormation(properties.LaunchSpecifications):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("targetOnDemandCapacity","TargetOnDemandCapacity",properties.TargetOnDemandCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.TargetOnDemandCapacity):void 0),ret.addPropertyResult("targetSpotCapacity","TargetSpotCapacity",properties.TargetSpotCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.TargetSpotCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_InstanceFleetProvisioningSpecificationsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("onDemandSpecification",CfnCluster_OnDemandProvisioningSpecificationPropertyValidator)(properties.onDemandSpecification)),errors.collect(cdk.propertyValidator("spotSpecification",CfnCluster_SpotProvisioningSpecificationPropertyValidator)(properties.spotSpecification)),errors.wrap('supplied properties not correct for "InstanceFleetProvisioningSpecificationsProperty"')}function cfnClusterInstanceFleetProvisioningSpecificationsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_InstanceFleetProvisioningSpecificationsPropertyValidator(properties).assertSuccess(),{OnDemandSpecification:cfnClusterOnDemandProvisioningSpecificationPropertyToCloudFormation(properties.onDemandSpecification),SpotSpecification:cfnClusterSpotProvisioningSpecificationPropertyToCloudFormation(properties.spotSpecification)}):properties}function CfnClusterInstanceFleetProvisioningSpecificationsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("onDemandSpecification","OnDemandSpecification",properties.OnDemandSpecification!=null?CfnClusterOnDemandProvisioningSpecificationPropertyFromCloudFormation(properties.OnDemandSpecification):void 0),ret.addPropertyResult("spotSpecification","SpotSpecification",properties.SpotSpecification!=null?CfnClusterSpotProvisioningSpecificationPropertyFromCloudFormation(properties.SpotSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_InstanceGroupConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("autoScalingPolicy",CfnCluster_AutoScalingPolicyPropertyValidator)(properties.autoScalingPolicy)),errors.collect(cdk.propertyValidator("bidPrice",cdk.validateString)(properties.bidPrice)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnCluster_ConfigurationPropertyValidator))(properties.configurations)),errors.collect(cdk.propertyValidator("customAmiId",cdk.validateString)(properties.customAmiId)),errors.collect(cdk.propertyValidator("ebsConfiguration",CfnCluster_EbsConfigurationPropertyValidator)(properties.ebsConfiguration)),errors.collect(cdk.propertyValidator("instanceCount",cdk.requiredValidator)(properties.instanceCount)),errors.collect(cdk.propertyValidator("instanceCount",cdk.validateNumber)(properties.instanceCount)),errors.collect(cdk.propertyValidator("instanceType",cdk.requiredValidator)(properties.instanceType)),errors.collect(cdk.propertyValidator("instanceType",cdk.validateString)(properties.instanceType)),errors.collect(cdk.propertyValidator("market",cdk.validateString)(properties.market)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "InstanceGroupConfigProperty"')}function cfnClusterInstanceGroupConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_InstanceGroupConfigPropertyValidator(properties).assertSuccess(),{AutoScalingPolicy:cfnClusterAutoScalingPolicyPropertyToCloudFormation(properties.autoScalingPolicy),BidPrice:cdk.stringToCloudFormation(properties.bidPrice),Configurations:cdk.listMapper(cfnClusterConfigurationPropertyToCloudFormation)(properties.configurations),CustomAmiId:cdk.stringToCloudFormation(properties.customAmiId),EbsConfiguration:cfnClusterEbsConfigurationPropertyToCloudFormation(properties.ebsConfiguration),InstanceCount:cdk.numberToCloudFormation(properties.instanceCount),InstanceType:cdk.stringToCloudFormation(properties.instanceType),Market:cdk.stringToCloudFormation(properties.market),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnClusterInstanceGroupConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("autoScalingPolicy","AutoScalingPolicy",properties.AutoScalingPolicy!=null?CfnClusterAutoScalingPolicyPropertyFromCloudFormation(properties.AutoScalingPolicy):void 0),ret.addPropertyResult("bidPrice","BidPrice",properties.BidPrice!=null?cfn_parse.FromCloudFormation.getString(properties.BidPrice):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addPropertyResult("customAmiId","CustomAmiId",properties.CustomAmiId!=null?cfn_parse.FromCloudFormation.getString(properties.CustomAmiId):void 0),ret.addPropertyResult("ebsConfiguration","EbsConfiguration",properties.EbsConfiguration!=null?CfnClusterEbsConfigurationPropertyFromCloudFormation(properties.EbsConfiguration):void 0),ret.addPropertyResult("instanceCount","InstanceCount",cfn_parse.FromCloudFormation.getNumber(properties.InstanceCount)),ret.addPropertyResult("instanceType","InstanceType",cfn_parse.FromCloudFormation.getString(properties.InstanceType)),ret.addPropertyResult("market","Market",properties.Market!=null?cfn_parse.FromCloudFormation.getString(properties.Market):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_InstanceTypeConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bidPrice",cdk.validateString)(properties.bidPrice)),errors.collect(cdk.propertyValidator("bidPriceAsPercentageOfOnDemandPrice",cdk.validateNumber)(properties.bidPriceAsPercentageOfOnDemandPrice)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnCluster_ConfigurationPropertyValidator))(properties.configurations)),errors.collect(cdk.propertyValidator("customAmiId",cdk.validateString)(properties.customAmiId)),errors.collect(cdk.propertyValidator("ebsConfiguration",CfnCluster_EbsConfigurationPropertyValidator)(properties.ebsConfiguration)),errors.collect(cdk.propertyValidator("instanceType",cdk.requiredValidator)(properties.instanceType)),errors.collect(cdk.propertyValidator("instanceType",cdk.validateString)(properties.instanceType)),errors.collect(cdk.propertyValidator("weightedCapacity",cdk.validateNumber)(properties.weightedCapacity)),errors.wrap('supplied properties not correct for "InstanceTypeConfigProperty"')}function cfnClusterInstanceTypeConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_InstanceTypeConfigPropertyValidator(properties).assertSuccess(),{BidPrice:cdk.stringToCloudFormation(properties.bidPrice),BidPriceAsPercentageOfOnDemandPrice:cdk.numberToCloudFormation(properties.bidPriceAsPercentageOfOnDemandPrice),Configurations:cdk.listMapper(cfnClusterConfigurationPropertyToCloudFormation)(properties.configurations),CustomAmiId:cdk.stringToCloudFormation(properties.customAmiId),EbsConfiguration:cfnClusterEbsConfigurationPropertyToCloudFormation(properties.ebsConfiguration),InstanceType:cdk.stringToCloudFormation(properties.instanceType),WeightedCapacity:cdk.numberToCloudFormation(properties.weightedCapacity)}):properties}function CfnClusterInstanceTypeConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bidPrice","BidPrice",properties.BidPrice!=null?cfn_parse.FromCloudFormation.getString(properties.BidPrice):void 0),ret.addPropertyResult("bidPriceAsPercentageOfOnDemandPrice","BidPriceAsPercentageOfOnDemandPrice",properties.BidPriceAsPercentageOfOnDemandPrice!=null?cfn_parse.FromCloudFormation.getNumber(properties.BidPriceAsPercentageOfOnDemandPrice):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addPropertyResult("customAmiId","CustomAmiId",properties.CustomAmiId!=null?cfn_parse.FromCloudFormation.getString(properties.CustomAmiId):void 0),ret.addPropertyResult("ebsConfiguration","EbsConfiguration",properties.EbsConfiguration!=null?CfnClusterEbsConfigurationPropertyFromCloudFormation(properties.EbsConfiguration):void 0),ret.addPropertyResult("instanceType","InstanceType",cfn_parse.FromCloudFormation.getString(properties.InstanceType)),ret.addPropertyResult("weightedCapacity","WeightedCapacity",properties.WeightedCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.WeightedCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_JobFlowInstancesConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("additionalMasterSecurityGroups",cdk.listValidator(cdk.validateString))(properties.additionalMasterSecurityGroups)),errors.collect(cdk.propertyValidator("additionalSlaveSecurityGroups",cdk.listValidator(cdk.validateString))(properties.additionalSlaveSecurityGroups)),errors.collect(cdk.propertyValidator("coreInstanceFleet",CfnCluster_InstanceFleetConfigPropertyValidator)(properties.coreInstanceFleet)),errors.collect(cdk.propertyValidator("coreInstanceGroup",CfnCluster_InstanceGroupConfigPropertyValidator)(properties.coreInstanceGroup)),errors.collect(cdk.propertyValidator("ec2KeyName",cdk.validateString)(properties.ec2KeyName)),errors.collect(cdk.propertyValidator("ec2SubnetId",cdk.validateString)(properties.ec2SubnetId)),errors.collect(cdk.propertyValidator("ec2SubnetIds",cdk.listValidator(cdk.validateString))(properties.ec2SubnetIds)),errors.collect(cdk.propertyValidator("emrManagedMasterSecurityGroup",cdk.validateString)(properties.emrManagedMasterSecurityGroup)),errors.collect(cdk.propertyValidator("emrManagedSlaveSecurityGroup",cdk.validateString)(properties.emrManagedSlaveSecurityGroup)),errors.collect(cdk.propertyValidator("hadoopVersion",cdk.validateString)(properties.hadoopVersion)),errors.collect(cdk.propertyValidator("keepJobFlowAliveWhenNoSteps",cdk.validateBoolean)(properties.keepJobFlowAliveWhenNoSteps)),errors.collect(cdk.propertyValidator("masterInstanceFleet",CfnCluster_InstanceFleetConfigPropertyValidator)(properties.masterInstanceFleet)),errors.collect(cdk.propertyValidator("masterInstanceGroup",CfnCluster_InstanceGroupConfigPropertyValidator)(properties.masterInstanceGroup)),errors.collect(cdk.propertyValidator("placement",CfnCluster_PlacementTypePropertyValidator)(properties.placement)),errors.collect(cdk.propertyValidator("serviceAccessSecurityGroup",cdk.validateString)(properties.serviceAccessSecurityGroup)),errors.collect(cdk.propertyValidator("taskInstanceFleets",cdk.listValidator(CfnCluster_InstanceFleetConfigPropertyValidator))(properties.taskInstanceFleets)),errors.collect(cdk.propertyValidator("taskInstanceGroups",cdk.listValidator(CfnCluster_InstanceGroupConfigPropertyValidator))(properties.taskInstanceGroups)),errors.collect(cdk.propertyValidator("terminationProtected",cdk.validateBoolean)(properties.terminationProtected)),errors.wrap('supplied properties not correct for "JobFlowInstancesConfigProperty"')}function cfnClusterJobFlowInstancesConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_JobFlowInstancesConfigPropertyValidator(properties).assertSuccess(),{AdditionalMasterSecurityGroups:cdk.listMapper(cdk.stringToCloudFormation)(properties.additionalMasterSecurityGroups),AdditionalSlaveSecurityGroups:cdk.listMapper(cdk.stringToCloudFormation)(properties.additionalSlaveSecurityGroups),CoreInstanceFleet:cfnClusterInstanceFleetConfigPropertyToCloudFormation(properties.coreInstanceFleet),CoreInstanceGroup:cfnClusterInstanceGroupConfigPropertyToCloudFormation(properties.coreInstanceGroup),Ec2KeyName:cdk.stringToCloudFormation(properties.ec2KeyName),Ec2SubnetId:cdk.stringToCloudFormation(properties.ec2SubnetId),Ec2SubnetIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.ec2SubnetIds),EmrManagedMasterSecurityGroup:cdk.stringToCloudFormation(properties.emrManagedMasterSecurityGroup),EmrManagedSlaveSecurityGroup:cdk.stringToCloudFormation(properties.emrManagedSlaveSecurityGroup),HadoopVersion:cdk.stringToCloudFormation(properties.hadoopVersion),KeepJobFlowAliveWhenNoSteps:cdk.booleanToCloudFormation(properties.keepJobFlowAliveWhenNoSteps),MasterInstanceFleet:cfnClusterInstanceFleetConfigPropertyToCloudFormation(properties.masterInstanceFleet),MasterInstanceGroup:cfnClusterInstanceGroupConfigPropertyToCloudFormation(properties.masterInstanceGroup),Placement:cfnClusterPlacementTypePropertyToCloudFormation(properties.placement),ServiceAccessSecurityGroup:cdk.stringToCloudFormation(properties.serviceAccessSecurityGroup),TaskInstanceFleets:cdk.listMapper(cfnClusterInstanceFleetConfigPropertyToCloudFormation)(properties.taskInstanceFleets),TaskInstanceGroups:cdk.listMapper(cfnClusterInstanceGroupConfigPropertyToCloudFormation)(properties.taskInstanceGroups),TerminationProtected:cdk.booleanToCloudFormation(properties.terminationProtected)}):properties}function CfnClusterJobFlowInstancesConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("additionalMasterSecurityGroups","AdditionalMasterSecurityGroups",properties.AdditionalMasterSecurityGroups!=null?cfn_parse.FromCloudFormation.getStringArray(properties.AdditionalMasterSecurityGroups):void 0),ret.addPropertyResult("additionalSlaveSecurityGroups","AdditionalSlaveSecurityGroups",properties.AdditionalSlaveSecurityGroups!=null?cfn_parse.FromCloudFormation.getStringArray(properties.AdditionalSlaveSecurityGroups):void 0),ret.addPropertyResult("coreInstanceFleet","CoreInstanceFleet",properties.CoreInstanceFleet!=null?CfnClusterInstanceFleetConfigPropertyFromCloudFormation(properties.CoreInstanceFleet):void 0),ret.addPropertyResult("coreInstanceGroup","CoreInstanceGroup",properties.CoreInstanceGroup!=null?CfnClusterInstanceGroupConfigPropertyFromCloudFormation(properties.CoreInstanceGroup):void 0),ret.addPropertyResult("ec2KeyName","Ec2KeyName",properties.Ec2KeyName!=null?cfn_parse.FromCloudFormation.getString(properties.Ec2KeyName):void 0),ret.addPropertyResult("ec2SubnetId","Ec2SubnetId",properties.Ec2SubnetId!=null?cfn_parse.FromCloudFormation.getString(properties.Ec2SubnetId):void 0),ret.addPropertyResult("ec2SubnetIds","Ec2SubnetIds",properties.Ec2SubnetIds!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Ec2SubnetIds):void 0),ret.addPropertyResult("emrManagedMasterSecurityGroup","EmrManagedMasterSecurityGroup",properties.EmrManagedMasterSecurityGroup!=null?cfn_parse.FromCloudFormation.getString(properties.EmrManagedMasterSecurityGroup):void 0),ret.addPropertyResult("emrManagedSlaveSecurityGroup","EmrManagedSlaveSecurityGroup",properties.EmrManagedSlaveSecurityGroup!=null?cfn_parse.FromCloudFormation.getString(properties.EmrManagedSlaveSecurityGroup):void 0),ret.addPropertyResult("hadoopVersion","HadoopVersion",properties.HadoopVersion!=null?cfn_parse.FromCloudFormation.getString(properties.HadoopVersion):void 0),ret.addPropertyResult("keepJobFlowAliveWhenNoSteps","KeepJobFlowAliveWhenNoSteps",properties.KeepJobFlowAliveWhenNoSteps!=null?cfn_parse.FromCloudFormation.getBoolean(properties.KeepJobFlowAliveWhenNoSteps):void 0),ret.addPropertyResult("masterInstanceFleet","MasterInstanceFleet",properties.MasterInstanceFleet!=null?CfnClusterInstanceFleetConfigPropertyFromCloudFormation(properties.MasterInstanceFleet):void 0),ret.addPropertyResult("masterInstanceGroup","MasterInstanceGroup",properties.MasterInstanceGroup!=null?CfnClusterInstanceGroupConfigPropertyFromCloudFormation(properties.MasterInstanceGroup):void 0),ret.addPropertyResult("placement","Placement",properties.Placement!=null?CfnClusterPlacementTypePropertyFromCloudFormation(properties.Placement):void 0),ret.addPropertyResult("serviceAccessSecurityGroup","ServiceAccessSecurityGroup",properties.ServiceAccessSecurityGroup!=null?cfn_parse.FromCloudFormation.getString(properties.ServiceAccessSecurityGroup):void 0),ret.addPropertyResult("taskInstanceFleets","TaskInstanceFleets",properties.TaskInstanceFleets!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterInstanceFleetConfigPropertyFromCloudFormation)(properties.TaskInstanceFleets):void 0),ret.addPropertyResult("taskInstanceGroups","TaskInstanceGroups",properties.TaskInstanceGroups!=null?cfn_parse.FromCloudFormation.getArray(CfnClusterInstanceGroupConfigPropertyFromCloudFormation)(properties.TaskInstanceGroups):void 0),ret.addPropertyResult("terminationProtected","TerminationProtected",properties.TerminationProtected!=null?cfn_parse.FromCloudFormation.getBoolean(properties.TerminationProtected):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_KerberosAttributesPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("adDomainJoinPassword",cdk.validateString)(properties.adDomainJoinPassword)),errors.collect(cdk.propertyValidator("adDomainJoinUser",cdk.validateString)(properties.adDomainJoinUser)),errors.collect(cdk.propertyValidator("crossRealmTrustPrincipalPassword",cdk.validateString)(properties.crossRealmTrustPrincipalPassword)),errors.collect(cdk.propertyValidator("kdcAdminPassword",cdk.requiredValidator)(properties.kdcAdminPassword)),errors.collect(cdk.propertyValidator("kdcAdminPassword",cdk.validateString)(properties.kdcAdminPassword)),errors.collect(cdk.propertyValidator("realm",cdk.requiredValidator)(properties.realm)),errors.collect(cdk.propertyValidator("realm",cdk.validateString)(properties.realm)),errors.wrap('supplied properties not correct for "KerberosAttributesProperty"')}function cfnClusterKerberosAttributesPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_KerberosAttributesPropertyValidator(properties).assertSuccess(),{ADDomainJoinPassword:cdk.stringToCloudFormation(properties.adDomainJoinPassword),ADDomainJoinUser:cdk.stringToCloudFormation(properties.adDomainJoinUser),CrossRealmTrustPrincipalPassword:cdk.stringToCloudFormation(properties.crossRealmTrustPrincipalPassword),KdcAdminPassword:cdk.stringToCloudFormation(properties.kdcAdminPassword),Realm:cdk.stringToCloudFormation(properties.realm)}):properties}function CfnClusterKerberosAttributesPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("adDomainJoinPassword","ADDomainJoinPassword",properties.ADDomainJoinPassword!=null?cfn_parse.FromCloudFormation.getString(properties.ADDomainJoinPassword):void 0),ret.addPropertyResult("adDomainJoinUser","ADDomainJoinUser",properties.ADDomainJoinUser!=null?cfn_parse.FromCloudFormation.getString(properties.ADDomainJoinUser):void 0),ret.addPropertyResult("crossRealmTrustPrincipalPassword","CrossRealmTrustPrincipalPassword",properties.CrossRealmTrustPrincipalPassword!=null?cfn_parse.FromCloudFormation.getString(properties.CrossRealmTrustPrincipalPassword):void 0),ret.addPropertyResult("kdcAdminPassword","KdcAdminPassword",cfn_parse.FromCloudFormation.getString(properties.KdcAdminPassword)),ret.addPropertyResult("realm","Realm",cfn_parse.FromCloudFormation.getString(properties.Realm)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_KeyValuePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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.validateString)(properties.key)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "KeyValueProperty"')}function cfnClusterKeyValuePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_KeyValuePropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnClusterKeyValuePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",properties.Key!=null?cfn_parse.FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse.FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ManagedScalingPolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("computeLimits",CfnCluster_ComputeLimitsPropertyValidator)(properties.computeLimits)),errors.wrap('supplied properties not correct for "ManagedScalingPolicyProperty"')}function cfnClusterManagedScalingPolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ManagedScalingPolicyPropertyValidator(properties).assertSuccess(),{ComputeLimits:cfnClusterComputeLimitsPropertyToCloudFormation(properties.computeLimits)}):properties}function CfnClusterManagedScalingPolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("computeLimits","ComputeLimits",properties.ComputeLimits!=null?CfnClusterComputeLimitsPropertyFromCloudFormation(properties.ComputeLimits):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_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("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 "MetricDimensionProperty"')}function cfnClusterMetricDimensionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_MetricDimensionPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnClusterMetricDimensionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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 CfnCluster_OnDemandProvisioningSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.requiredValidator)(properties.allocationStrategy)),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.validateString)(properties.allocationStrategy)),errors.wrap('supplied properties not correct for "OnDemandProvisioningSpecificationProperty"')}function cfnClusterOnDemandProvisioningSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_OnDemandProvisioningSpecificationPropertyValidator(properties).assertSuccess(),{AllocationStrategy:cdk.stringToCloudFormation(properties.allocationStrategy)}):properties}function CfnClusterOnDemandProvisioningSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("allocationStrategy","AllocationStrategy",cfn_parse.FromCloudFormation.getString(properties.AllocationStrategy)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_PlacementTypePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("availabilityZone",cdk.requiredValidator)(properties.availabilityZone)),errors.collect(cdk.propertyValidator("availabilityZone",cdk.validateString)(properties.availabilityZone)),errors.wrap('supplied properties not correct for "PlacementTypeProperty"')}function cfnClusterPlacementTypePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_PlacementTypePropertyValidator(properties).assertSuccess(),{AvailabilityZone:cdk.stringToCloudFormation(properties.availabilityZone)}):properties}function CfnClusterPlacementTypePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityZone","AvailabilityZone",cfn_parse.FromCloudFormation.getString(properties.AvailabilityZone)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ScalingActionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("market",cdk.validateString)(properties.market)),errors.collect(cdk.propertyValidator("simpleScalingPolicyConfiguration",cdk.requiredValidator)(properties.simpleScalingPolicyConfiguration)),errors.collect(cdk.propertyValidator("simpleScalingPolicyConfiguration",CfnCluster_SimpleScalingPolicyConfigurationPropertyValidator)(properties.simpleScalingPolicyConfiguration)),errors.wrap('supplied properties not correct for "ScalingActionProperty"')}function cfnClusterScalingActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ScalingActionPropertyValidator(properties).assertSuccess(),{Market:cdk.stringToCloudFormation(properties.market),SimpleScalingPolicyConfiguration:cfnClusterSimpleScalingPolicyConfigurationPropertyToCloudFormation(properties.simpleScalingPolicyConfiguration)}):properties}function CfnClusterScalingActionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("market","Market",properties.Market!=null?cfn_parse.FromCloudFormation.getString(properties.Market):void 0),ret.addPropertyResult("simpleScalingPolicyConfiguration","SimpleScalingPolicyConfiguration",CfnClusterSimpleScalingPolicyConfigurationPropertyFromCloudFormation(properties.SimpleScalingPolicyConfiguration)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ScalingConstraintsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("maxCapacity",cdk.requiredValidator)(properties.maxCapacity)),errors.collect(cdk.propertyValidator("maxCapacity",cdk.validateNumber)(properties.maxCapacity)),errors.collect(cdk.propertyValidator("minCapacity",cdk.requiredValidator)(properties.minCapacity)),errors.collect(cdk.propertyValidator("minCapacity",cdk.validateNumber)(properties.minCapacity)),errors.wrap('supplied properties not correct for "ScalingConstraintsProperty"')}function cfnClusterScalingConstraintsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ScalingConstraintsPropertyValidator(properties).assertSuccess(),{MaxCapacity:cdk.numberToCloudFormation(properties.maxCapacity),MinCapacity:cdk.numberToCloudFormation(properties.minCapacity)}):properties}function CfnClusterScalingConstraintsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("maxCapacity","MaxCapacity",cfn_parse.FromCloudFormation.getNumber(properties.MaxCapacity)),ret.addPropertyResult("minCapacity","MinCapacity",cfn_parse.FromCloudFormation.getNumber(properties.MinCapacity)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ScalingRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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",CfnCluster_ScalingActionPropertyValidator)(properties.action)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("trigger",cdk.requiredValidator)(properties.trigger)),errors.collect(cdk.propertyValidator("trigger",CfnCluster_ScalingTriggerPropertyValidator)(properties.trigger)),errors.wrap('supplied properties not correct for "ScalingRuleProperty"')}function cfnClusterScalingRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ScalingRulePropertyValidator(properties).assertSuccess(),{Action:cfnClusterScalingActionPropertyToCloudFormation(properties.action),Description:cdk.stringToCloudFormation(properties.description),Name:cdk.stringToCloudFormation(properties.name),Trigger:cfnClusterScalingTriggerPropertyToCloudFormation(properties.trigger)}):properties}function CfnClusterScalingRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",CfnClusterScalingActionPropertyFromCloudFormation(properties.Action)),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("trigger","Trigger",CfnClusterScalingTriggerPropertyFromCloudFormation(properties.Trigger)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ScalingTriggerPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("cloudWatchAlarmDefinition",cdk.requiredValidator)(properties.cloudWatchAlarmDefinition)),errors.collect(cdk.propertyValidator("cloudWatchAlarmDefinition",CfnCluster_CloudWatchAlarmDefinitionPropertyValidator)(properties.cloudWatchAlarmDefinition)),errors.wrap('supplied properties not correct for "ScalingTriggerProperty"')}function cfnClusterScalingTriggerPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ScalingTriggerPropertyValidator(properties).assertSuccess(),{CloudWatchAlarmDefinition:cfnClusterCloudWatchAlarmDefinitionPropertyToCloudFormation(properties.cloudWatchAlarmDefinition)}):properties}function CfnClusterScalingTriggerPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudWatchAlarmDefinition","CloudWatchAlarmDefinition",CfnClusterCloudWatchAlarmDefinitionPropertyFromCloudFormation(properties.CloudWatchAlarmDefinition)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_ScriptBootstrapActionConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("args",cdk.listValidator(cdk.validateString))(properties.args)),errors.collect(cdk.propertyValidator("path",cdk.requiredValidator)(properties.path)),errors.collect(cdk.propertyValidator("path",cdk.validateString)(properties.path)),errors.wrap('supplied properties not correct for "ScriptBootstrapActionConfigProperty"')}function cfnClusterScriptBootstrapActionConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_ScriptBootstrapActionConfigPropertyValidator(properties).assertSuccess(),{Args:cdk.listMapper(cdk.stringToCloudFormation)(properties.args),Path:cdk.stringToCloudFormation(properties.path)}):properties}function CfnClusterScriptBootstrapActionConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("args","Args",properties.Args!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Args):void 0),ret.addPropertyResult("path","Path",cfn_parse.FromCloudFormation.getString(properties.Path)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_SimpleScalingPolicyConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("adjustmentType",cdk.validateString)(properties.adjustmentType)),errors.collect(cdk.propertyValidator("coolDown",cdk.validateNumber)(properties.coolDown)),errors.collect(cdk.propertyValidator("scalingAdjustment",cdk.requiredValidator)(properties.scalingAdjustment)),errors.collect(cdk.propertyValidator("scalingAdjustment",cdk.validateNumber)(properties.scalingAdjustment)),errors.wrap('supplied properties not correct for "SimpleScalingPolicyConfigurationProperty"')}function cfnClusterSimpleScalingPolicyConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_SimpleScalingPolicyConfigurationPropertyValidator(properties).assertSuccess(),{AdjustmentType:cdk.stringToCloudFormation(properties.adjustmentType),CoolDown:cdk.numberToCloudFormation(properties.coolDown),ScalingAdjustment:cdk.numberToCloudFormation(properties.scalingAdjustment)}):properties}function CfnClusterSimpleScalingPolicyConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("adjustmentType","AdjustmentType",properties.AdjustmentType!=null?cfn_parse.FromCloudFormation.getString(properties.AdjustmentType):void 0),ret.addPropertyResult("coolDown","CoolDown",properties.CoolDown!=null?cfn_parse.FromCloudFormation.getNumber(properties.CoolDown):void 0),ret.addPropertyResult("scalingAdjustment","ScalingAdjustment",cfn_parse.FromCloudFormation.getNumber(properties.ScalingAdjustment)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_SpotProvisioningSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.validateString)(properties.allocationStrategy)),errors.collect(cdk.propertyValidator("blockDurationMinutes",cdk.validateNumber)(properties.blockDurationMinutes)),errors.collect(cdk.propertyValidator("timeoutAction",cdk.requiredValidator)(properties.timeoutAction)),errors.collect(cdk.propertyValidator("timeoutAction",cdk.validateString)(properties.timeoutAction)),errors.collect(cdk.propertyValidator("timeoutDurationMinutes",cdk.requiredValidator)(properties.timeoutDurationMinutes)),errors.collect(cdk.propertyValidator("timeoutDurationMinutes",cdk.validateNumber)(properties.timeoutDurationMinutes)),errors.wrap('supplied properties not correct for "SpotProvisioningSpecificationProperty"')}function cfnClusterSpotProvisioningSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_SpotProvisioningSpecificationPropertyValidator(properties).assertSuccess(),{AllocationStrategy:cdk.stringToCloudFormation(properties.allocationStrategy),BlockDurationMinutes:cdk.numberToCloudFormation(properties.blockDurationMinutes),TimeoutAction:cdk.stringToCloudFormation(properties.timeoutAction),TimeoutDurationMinutes:cdk.numberToCloudFormation(properties.timeoutDurationMinutes)}):properties}function CfnClusterSpotProvisioningSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("allocationStrategy","AllocationStrategy",properties.AllocationStrategy!=null?cfn_parse.FromCloudFormation.getString(properties.AllocationStrategy):void 0),ret.addPropertyResult("blockDurationMinutes","BlockDurationMinutes",properties.BlockDurationMinutes!=null?cfn_parse.FromCloudFormation.getNumber(properties.BlockDurationMinutes):void 0),ret.addPropertyResult("timeoutAction","TimeoutAction",cfn_parse.FromCloudFormation.getString(properties.TimeoutAction)),ret.addPropertyResult("timeoutDurationMinutes","TimeoutDurationMinutes",cfn_parse.FromCloudFormation.getNumber(properties.TimeoutDurationMinutes)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_StepConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("actionOnFailure",cdk.validateString)(properties.actionOnFailure)),errors.collect(cdk.propertyValidator("hadoopJarStep",cdk.requiredValidator)(properties.hadoopJarStep)),errors.collect(cdk.propertyValidator("hadoopJarStep",CfnCluster_HadoopJarStepConfigPropertyValidator)(properties.hadoopJarStep)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "StepConfigProperty"')}function cfnClusterStepConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_StepConfigPropertyValidator(properties).assertSuccess(),{ActionOnFailure:cdk.stringToCloudFormation(properties.actionOnFailure),HadoopJarStep:cfnClusterHadoopJarStepConfigPropertyToCloudFormation(properties.hadoopJarStep),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnClusterStepConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOnFailure","ActionOnFailure",properties.ActionOnFailure!=null?cfn_parse.FromCloudFormation.getString(properties.ActionOnFailure):void 0),ret.addPropertyResult("hadoopJarStep","HadoopJarStep",CfnClusterHadoopJarStepConfigPropertyFromCloudFormation(properties.HadoopJarStep)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnCluster_VolumeSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("iops",cdk.validateNumber)(properties.iops)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.requiredValidator)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.validateNumber)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("volumeType",cdk.requiredValidator)(properties.volumeType)),errors.collect(cdk.propertyValidator("volumeType",cdk.validateString)(properties.volumeType)),errors.wrap('supplied properties not correct for "VolumeSpecificationProperty"')}function cfnClusterVolumeSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnCluster_VolumeSpecificationPropertyValidator(properties).assertSuccess(),{Iops:cdk.numberToCloudFormation(properties.iops),SizeInGB:cdk.numberToCloudFormation(properties.sizeInGb),VolumeType:cdk.stringToCloudFormation(properties.volumeType)}):properties}function CfnClusterVolumeSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("iops","Iops",properties.Iops!=null?cfn_parse.FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("sizeInGb","SizeInGB",cfn_parse.FromCloudFormation.getNumber(properties.SizeInGB)),ret.addPropertyResult("volumeType","VolumeType",cfn_parse.FromCloudFormation.getString(properties.VolumeType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfigPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("clusterId",cdk.requiredValidator)(properties.clusterId)),errors.collect(cdk.propertyValidator("clusterId",cdk.validateString)(properties.clusterId)),errors.collect(cdk.propertyValidator("instanceFleetType",cdk.requiredValidator)(properties.instanceFleetType)),errors.collect(cdk.propertyValidator("instanceFleetType",cdk.validateString)(properties.instanceFleetType)),errors.collect(cdk.propertyValidator("instanceTypeConfigs",cdk.listValidator(CfnInstanceFleetConfig_InstanceTypeConfigPropertyValidator))(properties.instanceTypeConfigs)),errors.collect(cdk.propertyValidator("launchSpecifications",CfnInstanceFleetConfig_InstanceFleetProvisioningSpecificationsPropertyValidator)(properties.launchSpecifications)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("targetOnDemandCapacity",cdk.validateNumber)(properties.targetOnDemandCapacity)),errors.collect(cdk.propertyValidator("targetSpotCapacity",cdk.validateNumber)(properties.targetSpotCapacity)),errors.wrap('supplied properties not correct for "CfnInstanceFleetConfigProps"')}function cfnInstanceFleetConfigPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfigPropsValidator(properties).assertSuccess(),{ClusterId:cdk.stringToCloudFormation(properties.clusterId),InstanceFleetType:cdk.stringToCloudFormation(properties.instanceFleetType),InstanceTypeConfigs:cdk.listMapper(cfnInstanceFleetConfigInstanceTypeConfigPropertyToCloudFormation)(properties.instanceTypeConfigs),LaunchSpecifications:cfnInstanceFleetConfigInstanceFleetProvisioningSpecificationsPropertyToCloudFormation(properties.launchSpecifications),Name:cdk.stringToCloudFormation(properties.name),TargetOnDemandCapacity:cdk.numberToCloudFormation(properties.targetOnDemandCapacity),TargetSpotCapacity:cdk.numberToCloudFormation(properties.targetSpotCapacity)}):properties}function CfnInstanceFleetConfigPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterId","ClusterId",cfn_parse.FromCloudFormation.getString(properties.ClusterId)),ret.addPropertyResult("instanceFleetType","InstanceFleetType",cfn_parse.FromCloudFormation.getString(properties.InstanceFleetType)),ret.addPropertyResult("instanceTypeConfigs","InstanceTypeConfigs",properties.InstanceTypeConfigs!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceFleetConfigInstanceTypeConfigPropertyFromCloudFormation)(properties.InstanceTypeConfigs):void 0),ret.addPropertyResult("launchSpecifications","LaunchSpecifications",properties.LaunchSpecifications!=null?CfnInstanceFleetConfigInstanceFleetProvisioningSpecificationsPropertyFromCloudFormation(properties.LaunchSpecifications):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("targetOnDemandCapacity","TargetOnDemandCapacity",properties.TargetOnDemandCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.TargetOnDemandCapacity):void 0),ret.addPropertyResult("targetSpotCapacity","TargetSpotCapacity",properties.TargetSpotCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.TargetSpotCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnInstanceFleetConfig extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnInstanceFleetConfig.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnInstanceFleetConfigProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnInstanceFleetConfig),error}cdk.requireProperty(props,"clusterId",this),cdk.requireProperty(props,"instanceFleetType",this),this.clusterId=props.clusterId,this.instanceFleetType=props.instanceFleetType,this.instanceTypeConfigs=props.instanceTypeConfigs,this.launchSpecifications=props.launchSpecifications,this.name=props.name,this.targetOnDemandCapacity=props.targetOnDemandCapacity,this.targetSpotCapacity=props.targetSpotCapacity}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInstanceFleetConfigPropsFromCloudFormation(resourceProperties),ret=new CfnInstanceFleetConfig(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",CfnInstanceFleetConfig.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{clusterId:this.clusterId,instanceFleetType:this.instanceFleetType,instanceTypeConfigs:this.instanceTypeConfigs,launchSpecifications:this.launchSpecifications,name:this.name,targetOnDemandCapacity:this.targetOnDemandCapacity,targetSpotCapacity:this.targetSpotCapacity}}renderProperties(props){return cfnInstanceFleetConfigPropsToCloudFormation(props)}}exports.CfnInstanceFleetConfig=CfnInstanceFleetConfig,_b=JSII_RTTI_SYMBOL_1,CfnInstanceFleetConfig[_b]={fqn:"aws-cdk-lib.aws_emr.CfnInstanceFleetConfig",version:"2.52.1"},CfnInstanceFleetConfig.CFN_RESOURCE_TYPE_NAME="AWS::EMR::InstanceFleetConfig";function CfnInstanceFleetConfig_ConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("classification",cdk.validateString)(properties.classification)),errors.collect(cdk.propertyValidator("configurationProperties",cdk.hashValidator(cdk.validateString))(properties.configurationProperties)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnInstanceFleetConfig_ConfigurationPropertyValidator))(properties.configurations)),errors.wrap('supplied properties not correct for "ConfigurationProperty"')}function cfnInstanceFleetConfigConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_ConfigurationPropertyValidator(properties).assertSuccess(),{Classification:cdk.stringToCloudFormation(properties.classification),ConfigurationProperties:cdk.hashMapper(cdk.stringToCloudFormation)(properties.configurationProperties),Configurations:cdk.listMapper(cfnInstanceFleetConfigConfigurationPropertyToCloudFormation)(properties.configurations)}):properties}function CfnInstanceFleetConfigConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("classification","Classification",properties.Classification!=null?cfn_parse.FromCloudFormation.getString(properties.Classification):void 0),ret.addPropertyResult("configurationProperties","ConfigurationProperties",properties.ConfigurationProperties!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.ConfigurationProperties):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceFleetConfigConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_EbsBlockDeviceConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("volumeSpecification",cdk.requiredValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumeSpecification",CfnInstanceFleetConfig_VolumeSpecificationPropertyValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumesPerInstance",cdk.validateNumber)(properties.volumesPerInstance)),errors.wrap('supplied properties not correct for "EbsBlockDeviceConfigProperty"')}function cfnInstanceFleetConfigEbsBlockDeviceConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_EbsBlockDeviceConfigPropertyValidator(properties).assertSuccess(),{VolumeSpecification:cfnInstanceFleetConfigVolumeSpecificationPropertyToCloudFormation(properties.volumeSpecification),VolumesPerInstance:cdk.numberToCloudFormation(properties.volumesPerInstance)}):properties}function CfnInstanceFleetConfigEbsBlockDeviceConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("volumeSpecification","VolumeSpecification",CfnInstanceFleetConfigVolumeSpecificationPropertyFromCloudFormation(properties.VolumeSpecification)),ret.addPropertyResult("volumesPerInstance","VolumesPerInstance",properties.VolumesPerInstance!=null?cfn_parse.FromCloudFormation.getNumber(properties.VolumesPerInstance):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_EbsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("ebsBlockDeviceConfigs",cdk.listValidator(CfnInstanceFleetConfig_EbsBlockDeviceConfigPropertyValidator))(properties.ebsBlockDeviceConfigs)),errors.collect(cdk.propertyValidator("ebsOptimized",cdk.validateBoolean)(properties.ebsOptimized)),errors.wrap('supplied properties not correct for "EbsConfigurationProperty"')}function cfnInstanceFleetConfigEbsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_EbsConfigurationPropertyValidator(properties).assertSuccess(),{EbsBlockDeviceConfigs:cdk.listMapper(cfnInstanceFleetConfigEbsBlockDeviceConfigPropertyToCloudFormation)(properties.ebsBlockDeviceConfigs),EbsOptimized:cdk.booleanToCloudFormation(properties.ebsOptimized)}):properties}function CfnInstanceFleetConfigEbsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("ebsBlockDeviceConfigs","EbsBlockDeviceConfigs",properties.EbsBlockDeviceConfigs!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceFleetConfigEbsBlockDeviceConfigPropertyFromCloudFormation)(properties.EbsBlockDeviceConfigs):void 0),ret.addPropertyResult("ebsOptimized","EbsOptimized",properties.EbsOptimized!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EbsOptimized):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_InstanceFleetProvisioningSpecificationsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("onDemandSpecification",CfnInstanceFleetConfig_OnDemandProvisioningSpecificationPropertyValidator)(properties.onDemandSpecification)),errors.collect(cdk.propertyValidator("spotSpecification",CfnInstanceFleetConfig_SpotProvisioningSpecificationPropertyValidator)(properties.spotSpecification)),errors.wrap('supplied properties not correct for "InstanceFleetProvisioningSpecificationsProperty"')}function cfnInstanceFleetConfigInstanceFleetProvisioningSpecificationsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_InstanceFleetProvisioningSpecificationsPropertyValidator(properties).assertSuccess(),{OnDemandSpecification:cfnInstanceFleetConfigOnDemandProvisioningSpecificationPropertyToCloudFormation(properties.onDemandSpecification),SpotSpecification:cfnInstanceFleetConfigSpotProvisioningSpecificationPropertyToCloudFormation(properties.spotSpecification)}):properties}function CfnInstanceFleetConfigInstanceFleetProvisioningSpecificationsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("onDemandSpecification","OnDemandSpecification",properties.OnDemandSpecification!=null?CfnInstanceFleetConfigOnDemandProvisioningSpecificationPropertyFromCloudFormation(properties.OnDemandSpecification):void 0),ret.addPropertyResult("spotSpecification","SpotSpecification",properties.SpotSpecification!=null?CfnInstanceFleetConfigSpotProvisioningSpecificationPropertyFromCloudFormation(properties.SpotSpecification):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_InstanceTypeConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("bidPrice",cdk.validateString)(properties.bidPrice)),errors.collect(cdk.propertyValidator("bidPriceAsPercentageOfOnDemandPrice",cdk.validateNumber)(properties.bidPriceAsPercentageOfOnDemandPrice)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnInstanceFleetConfig_ConfigurationPropertyValidator))(properties.configurations)),errors.collect(cdk.propertyValidator("customAmiId",cdk.validateString)(properties.customAmiId)),errors.collect(cdk.propertyValidator("ebsConfiguration",CfnInstanceFleetConfig_EbsConfigurationPropertyValidator)(properties.ebsConfiguration)),errors.collect(cdk.propertyValidator("instanceType",cdk.requiredValidator)(properties.instanceType)),errors.collect(cdk.propertyValidator("instanceType",cdk.validateString)(properties.instanceType)),errors.collect(cdk.propertyValidator("weightedCapacity",cdk.validateNumber)(properties.weightedCapacity)),errors.wrap('supplied properties not correct for "InstanceTypeConfigProperty"')}function cfnInstanceFleetConfigInstanceTypeConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_InstanceTypeConfigPropertyValidator(properties).assertSuccess(),{BidPrice:cdk.stringToCloudFormation(properties.bidPrice),BidPriceAsPercentageOfOnDemandPrice:cdk.numberToCloudFormation(properties.bidPriceAsPercentageOfOnDemandPrice),Configurations:cdk.listMapper(cfnInstanceFleetConfigConfigurationPropertyToCloudFormation)(properties.configurations),CustomAmiId:cdk.stringToCloudFormation(properties.customAmiId),EbsConfiguration:cfnInstanceFleetConfigEbsConfigurationPropertyToCloudFormation(properties.ebsConfiguration),InstanceType:cdk.stringToCloudFormation(properties.instanceType),WeightedCapacity:cdk.numberToCloudFormation(properties.weightedCapacity)}):properties}function CfnInstanceFleetConfigInstanceTypeConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("bidPrice","BidPrice",properties.BidPrice!=null?cfn_parse.FromCloudFormation.getString(properties.BidPrice):void 0),ret.addPropertyResult("bidPriceAsPercentageOfOnDemandPrice","BidPriceAsPercentageOfOnDemandPrice",properties.BidPriceAsPercentageOfOnDemandPrice!=null?cfn_parse.FromCloudFormation.getNumber(properties.BidPriceAsPercentageOfOnDemandPrice):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceFleetConfigConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addPropertyResult("customAmiId","CustomAmiId",properties.CustomAmiId!=null?cfn_parse.FromCloudFormation.getString(properties.CustomAmiId):void 0),ret.addPropertyResult("ebsConfiguration","EbsConfiguration",properties.EbsConfiguration!=null?CfnInstanceFleetConfigEbsConfigurationPropertyFromCloudFormation(properties.EbsConfiguration):void 0),ret.addPropertyResult("instanceType","InstanceType",cfn_parse.FromCloudFormation.getString(properties.InstanceType)),ret.addPropertyResult("weightedCapacity","WeightedCapacity",properties.WeightedCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.WeightedCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_OnDemandProvisioningSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.requiredValidator)(properties.allocationStrategy)),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.validateString)(properties.allocationStrategy)),errors.wrap('supplied properties not correct for "OnDemandProvisioningSpecificationProperty"')}function cfnInstanceFleetConfigOnDemandProvisioningSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_OnDemandProvisioningSpecificationPropertyValidator(properties).assertSuccess(),{AllocationStrategy:cdk.stringToCloudFormation(properties.allocationStrategy)}):properties}function CfnInstanceFleetConfigOnDemandProvisioningSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("allocationStrategy","AllocationStrategy",cfn_parse.FromCloudFormation.getString(properties.AllocationStrategy)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_SpotProvisioningSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("allocationStrategy",cdk.validateString)(properties.allocationStrategy)),errors.collect(cdk.propertyValidator("blockDurationMinutes",cdk.validateNumber)(properties.blockDurationMinutes)),errors.collect(cdk.propertyValidator("timeoutAction",cdk.requiredValidator)(properties.timeoutAction)),errors.collect(cdk.propertyValidator("timeoutAction",cdk.validateString)(properties.timeoutAction)),errors.collect(cdk.propertyValidator("timeoutDurationMinutes",cdk.requiredValidator)(properties.timeoutDurationMinutes)),errors.collect(cdk.propertyValidator("timeoutDurationMinutes",cdk.validateNumber)(properties.timeoutDurationMinutes)),errors.wrap('supplied properties not correct for "SpotProvisioningSpecificationProperty"')}function cfnInstanceFleetConfigSpotProvisioningSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_SpotProvisioningSpecificationPropertyValidator(properties).assertSuccess(),{AllocationStrategy:cdk.stringToCloudFormation(properties.allocationStrategy),BlockDurationMinutes:cdk.numberToCloudFormation(properties.blockDurationMinutes),TimeoutAction:cdk.stringToCloudFormation(properties.timeoutAction),TimeoutDurationMinutes:cdk.numberToCloudFormation(properties.timeoutDurationMinutes)}):properties}function CfnInstanceFleetConfigSpotProvisioningSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("allocationStrategy","AllocationStrategy",properties.AllocationStrategy!=null?cfn_parse.FromCloudFormation.getString(properties.AllocationStrategy):void 0),ret.addPropertyResult("blockDurationMinutes","BlockDurationMinutes",properties.BlockDurationMinutes!=null?cfn_parse.FromCloudFormation.getNumber(properties.BlockDurationMinutes):void 0),ret.addPropertyResult("timeoutAction","TimeoutAction",cfn_parse.FromCloudFormation.getString(properties.TimeoutAction)),ret.addPropertyResult("timeoutDurationMinutes","TimeoutDurationMinutes",cfn_parse.FromCloudFormation.getNumber(properties.TimeoutDurationMinutes)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceFleetConfig_VolumeSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("iops",cdk.validateNumber)(properties.iops)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.requiredValidator)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.validateNumber)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("volumeType",cdk.requiredValidator)(properties.volumeType)),errors.collect(cdk.propertyValidator("volumeType",cdk.validateString)(properties.volumeType)),errors.wrap('supplied properties not correct for "VolumeSpecificationProperty"')}function cfnInstanceFleetConfigVolumeSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceFleetConfig_VolumeSpecificationPropertyValidator(properties).assertSuccess(),{Iops:cdk.numberToCloudFormation(properties.iops),SizeInGB:cdk.numberToCloudFormation(properties.sizeInGb),VolumeType:cdk.stringToCloudFormation(properties.volumeType)}):properties}function CfnInstanceFleetConfigVolumeSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("iops","Iops",properties.Iops!=null?cfn_parse.FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("sizeInGb","SizeInGB",cfn_parse.FromCloudFormation.getNumber(properties.SizeInGB)),ret.addPropertyResult("volumeType","VolumeType",cfn_parse.FromCloudFormation.getString(properties.VolumeType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfigPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("autoScalingPolicy",CfnInstanceGroupConfig_AutoScalingPolicyPropertyValidator)(properties.autoScalingPolicy)),errors.collect(cdk.propertyValidator("bidPrice",cdk.validateString)(properties.bidPrice)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnInstanceGroupConfig_ConfigurationPropertyValidator))(properties.configurations)),errors.collect(cdk.propertyValidator("customAmiId",cdk.validateString)(properties.customAmiId)),errors.collect(cdk.propertyValidator("ebsConfiguration",CfnInstanceGroupConfig_EbsConfigurationPropertyValidator)(properties.ebsConfiguration)),errors.collect(cdk.propertyValidator("instanceCount",cdk.requiredValidator)(properties.instanceCount)),errors.collect(cdk.propertyValidator("instanceCount",cdk.validateNumber)(properties.instanceCount)),errors.collect(cdk.propertyValidator("instanceRole",cdk.requiredValidator)(properties.instanceRole)),errors.collect(cdk.propertyValidator("instanceRole",cdk.validateString)(properties.instanceRole)),errors.collect(cdk.propertyValidator("instanceType",cdk.requiredValidator)(properties.instanceType)),errors.collect(cdk.propertyValidator("instanceType",cdk.validateString)(properties.instanceType)),errors.collect(cdk.propertyValidator("jobFlowId",cdk.requiredValidator)(properties.jobFlowId)),errors.collect(cdk.propertyValidator("jobFlowId",cdk.validateString)(properties.jobFlowId)),errors.collect(cdk.propertyValidator("market",cdk.validateString)(properties.market)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "CfnInstanceGroupConfigProps"')}function cfnInstanceGroupConfigPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfigPropsValidator(properties).assertSuccess(),{InstanceCount:cdk.numberToCloudFormation(properties.instanceCount),InstanceRole:cdk.stringToCloudFormation(properties.instanceRole),InstanceType:cdk.stringToCloudFormation(properties.instanceType),JobFlowId:cdk.stringToCloudFormation(properties.jobFlowId),AutoScalingPolicy:cfnInstanceGroupConfigAutoScalingPolicyPropertyToCloudFormation(properties.autoScalingPolicy),BidPrice:cdk.stringToCloudFormation(properties.bidPrice),Configurations:cdk.listMapper(cfnInstanceGroupConfigConfigurationPropertyToCloudFormation)(properties.configurations),CustomAmiId:cdk.stringToCloudFormation(properties.customAmiId),EbsConfiguration:cfnInstanceGroupConfigEbsConfigurationPropertyToCloudFormation(properties.ebsConfiguration),Market:cdk.stringToCloudFormation(properties.market),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnInstanceGroupConfigPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("instanceCount","InstanceCount",cfn_parse.FromCloudFormation.getNumber(properties.InstanceCount)),ret.addPropertyResult("instanceRole","InstanceRole",cfn_parse.FromCloudFormation.getString(properties.InstanceRole)),ret.addPropertyResult("instanceType","InstanceType",cfn_parse.FromCloudFormation.getString(properties.InstanceType)),ret.addPropertyResult("jobFlowId","JobFlowId",cfn_parse.FromCloudFormation.getString(properties.JobFlowId)),ret.addPropertyResult("autoScalingPolicy","AutoScalingPolicy",properties.AutoScalingPolicy!=null?CfnInstanceGroupConfigAutoScalingPolicyPropertyFromCloudFormation(properties.AutoScalingPolicy):void 0),ret.addPropertyResult("bidPrice","BidPrice",properties.BidPrice!=null?cfn_parse.FromCloudFormation.getString(properties.BidPrice):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceGroupConfigConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addPropertyResult("customAmiId","CustomAmiId",properties.CustomAmiId!=null?cfn_parse.FromCloudFormation.getString(properties.CustomAmiId):void 0),ret.addPropertyResult("ebsConfiguration","EbsConfiguration",properties.EbsConfiguration!=null?CfnInstanceGroupConfigEbsConfigurationPropertyFromCloudFormation(properties.EbsConfiguration):void 0),ret.addPropertyResult("market","Market",properties.Market!=null?cfn_parse.FromCloudFormation.getString(properties.Market):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnInstanceGroupConfig extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnInstanceGroupConfig.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnInstanceGroupConfigProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnInstanceGroupConfig),error}cdk.requireProperty(props,"instanceCount",this),cdk.requireProperty(props,"instanceRole",this),cdk.requireProperty(props,"instanceType",this),cdk.requireProperty(props,"jobFlowId",this),this.instanceCount=props.instanceCount,this.instanceRole=props.instanceRole,this.instanceType=props.instanceType,this.jobFlowId=props.jobFlowId,this.autoScalingPolicy=props.autoScalingPolicy,this.bidPrice=props.bidPrice,this.configurations=props.configurations,this.customAmiId=props.customAmiId,this.ebsConfiguration=props.ebsConfiguration,this.market=props.market,this.name=props.name}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInstanceGroupConfigPropsFromCloudFormation(resourceProperties),ret=new CfnInstanceGroupConfig(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",CfnInstanceGroupConfig.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{instanceCount:this.instanceCount,instanceRole:this.instanceRole,instanceType:this.instanceType,jobFlowId:this.jobFlowId,autoScalingPolicy:this.autoScalingPolicy,bidPrice:this.bidPrice,configurations:this.configurations,customAmiId:this.customAmiId,ebsConfiguration:this.ebsConfiguration,market:this.market,name:this.name}}renderProperties(props){return cfnInstanceGroupConfigPropsToCloudFormation(props)}}exports.CfnInstanceGroupConfig=CfnInstanceGroupConfig,_c=JSII_RTTI_SYMBOL_1,CfnInstanceGroupConfig[_c]={fqn:"aws-cdk-lib.aws_emr.CfnInstanceGroupConfig",version:"2.52.1"},CfnInstanceGroupConfig.CFN_RESOURCE_TYPE_NAME="AWS::EMR::InstanceGroupConfig";function CfnInstanceGroupConfig_AutoScalingPolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("constraints",cdk.requiredValidator)(properties.constraints)),errors.collect(cdk.propertyValidator("constraints",CfnInstanceGroupConfig_ScalingConstraintsPropertyValidator)(properties.constraints)),errors.collect(cdk.propertyValidator("rules",cdk.requiredValidator)(properties.rules)),errors.collect(cdk.propertyValidator("rules",cdk.listValidator(CfnInstanceGroupConfig_ScalingRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "AutoScalingPolicyProperty"')}function cfnInstanceGroupConfigAutoScalingPolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_AutoScalingPolicyPropertyValidator(properties).assertSuccess(),{Constraints:cfnInstanceGroupConfigScalingConstraintsPropertyToCloudFormation(properties.constraints),Rules:cdk.listMapper(cfnInstanceGroupConfigScalingRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnInstanceGroupConfigAutoScalingPolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("constraints","Constraints",CfnInstanceGroupConfigScalingConstraintsPropertyFromCloudFormation(properties.Constraints)),ret.addPropertyResult("rules","Rules",cfn_parse.FromCloudFormation.getArray(CfnInstanceGroupConfigScalingRulePropertyFromCloudFormation)(properties.Rules)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_CloudWatchAlarmDefinitionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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.requiredValidator)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("comparisonOperator",cdk.validateString)(properties.comparisonOperator)),errors.collect(cdk.propertyValidator("dimensions",cdk.listValidator(CfnInstanceGroupConfig_MetricDimensionPropertyValidator))(properties.dimensions)),errors.collect(cdk.propertyValidator("evaluationPeriods",cdk.validateNumber)(properties.evaluationPeriods)),errors.collect(cdk.propertyValidator("metricName",cdk.requiredValidator)(properties.metricName)),errors.collect(cdk.propertyValidator("metricName",cdk.validateString)(properties.metricName)),errors.collect(cdk.propertyValidator("namespace",cdk.validateString)(properties.namespace)),errors.collect(cdk.propertyValidator("period",cdk.requiredValidator)(properties.period)),errors.collect(cdk.propertyValidator("period",cdk.validateNumber)(properties.period)),errors.collect(cdk.propertyValidator("statistic",cdk.validateString)(properties.statistic)),errors.collect(cdk.propertyValidator("threshold",cdk.requiredValidator)(properties.threshold)),errors.collect(cdk.propertyValidator("threshold",cdk.validateNumber)(properties.threshold)),errors.collect(cdk.propertyValidator("unit",cdk.validateString)(properties.unit)),errors.wrap('supplied properties not correct for "CloudWatchAlarmDefinitionProperty"')}function cfnInstanceGroupConfigCloudWatchAlarmDefinitionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_CloudWatchAlarmDefinitionPropertyValidator(properties).assertSuccess(),{ComparisonOperator:cdk.stringToCloudFormation(properties.comparisonOperator),Dimensions:cdk.listMapper(cfnInstanceGroupConfigMetricDimensionPropertyToCloudFormation)(properties.dimensions),EvaluationPeriods:cdk.numberToCloudFormation(properties.evaluationPeriods),MetricName:cdk.stringToCloudFormation(properties.metricName),Namespace:cdk.stringToCloudFormation(properties.namespace),Period:cdk.numberToCloudFormation(properties.period),Statistic:cdk.stringToCloudFormation(properties.statistic),Threshold:cdk.numberToCloudFormation(properties.threshold),Unit:cdk.stringToCloudFormation(properties.unit)}):properties}function CfnInstanceGroupConfigCloudWatchAlarmDefinitionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",cfn_parse.FromCloudFormation.getString(properties.ComparisonOperator)),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceGroupConfigMetricDimensionPropertyFromCloudFormation)(properties.Dimensions):void 0),ret.addPropertyResult("evaluationPeriods","EvaluationPeriods",properties.EvaluationPeriods!=null?cfn_parse.FromCloudFormation.getNumber(properties.EvaluationPeriods):void 0),ret.addPropertyResult("metricName","MetricName",cfn_parse.FromCloudFormation.getString(properties.MetricName)),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse.FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("period","Period",cfn_parse.FromCloudFormation.getNumber(properties.Period)),ret.addPropertyResult("statistic","Statistic",properties.Statistic!=null?cfn_parse.FromCloudFormation.getString(properties.Statistic):void 0),ret.addPropertyResult("threshold","Threshold",cfn_parse.FromCloudFormation.getNumber(properties.Threshold)),ret.addPropertyResult("unit","Unit",properties.Unit!=null?cfn_parse.FromCloudFormation.getString(properties.Unit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_ConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("classification",cdk.validateString)(properties.classification)),errors.collect(cdk.propertyValidator("configurationProperties",cdk.hashValidator(cdk.validateString))(properties.configurationProperties)),errors.collect(cdk.propertyValidator("configurations",cdk.listValidator(CfnInstanceGroupConfig_ConfigurationPropertyValidator))(properties.configurations)),errors.wrap('supplied properties not correct for "ConfigurationProperty"')}function cfnInstanceGroupConfigConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_ConfigurationPropertyValidator(properties).assertSuccess(),{Classification:cdk.stringToCloudFormation(properties.classification),ConfigurationProperties:cdk.hashMapper(cdk.stringToCloudFormation)(properties.configurationProperties),Configurations:cdk.listMapper(cfnInstanceGroupConfigConfigurationPropertyToCloudFormation)(properties.configurations)}):properties}function CfnInstanceGroupConfigConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("classification","Classification",properties.Classification!=null?cfn_parse.FromCloudFormation.getString(properties.Classification):void 0),ret.addPropertyResult("configurationProperties","ConfigurationProperties",properties.ConfigurationProperties!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.ConfigurationProperties):void 0),ret.addPropertyResult("configurations","Configurations",properties.Configurations!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceGroupConfigConfigurationPropertyFromCloudFormation)(properties.Configurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_EbsBlockDeviceConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("volumeSpecification",cdk.requiredValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumeSpecification",CfnInstanceGroupConfig_VolumeSpecificationPropertyValidator)(properties.volumeSpecification)),errors.collect(cdk.propertyValidator("volumesPerInstance",cdk.validateNumber)(properties.volumesPerInstance)),errors.wrap('supplied properties not correct for "EbsBlockDeviceConfigProperty"')}function cfnInstanceGroupConfigEbsBlockDeviceConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_EbsBlockDeviceConfigPropertyValidator(properties).assertSuccess(),{VolumeSpecification:cfnInstanceGroupConfigVolumeSpecificationPropertyToCloudFormation(properties.volumeSpecification),VolumesPerInstance:cdk.numberToCloudFormation(properties.volumesPerInstance)}):properties}function CfnInstanceGroupConfigEbsBlockDeviceConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("volumeSpecification","VolumeSpecification",CfnInstanceGroupConfigVolumeSpecificationPropertyFromCloudFormation(properties.VolumeSpecification)),ret.addPropertyResult("volumesPerInstance","VolumesPerInstance",properties.VolumesPerInstance!=null?cfn_parse.FromCloudFormation.getNumber(properties.VolumesPerInstance):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_EbsConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("ebsBlockDeviceConfigs",cdk.listValidator(CfnInstanceGroupConfig_EbsBlockDeviceConfigPropertyValidator))(properties.ebsBlockDeviceConfigs)),errors.collect(cdk.propertyValidator("ebsOptimized",cdk.validateBoolean)(properties.ebsOptimized)),errors.wrap('supplied properties not correct for "EbsConfigurationProperty"')}function cfnInstanceGroupConfigEbsConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_EbsConfigurationPropertyValidator(properties).assertSuccess(),{EbsBlockDeviceConfigs:cdk.listMapper(cfnInstanceGroupConfigEbsBlockDeviceConfigPropertyToCloudFormation)(properties.ebsBlockDeviceConfigs),EbsOptimized:cdk.booleanToCloudFormation(properties.ebsOptimized)}):properties}function CfnInstanceGroupConfigEbsConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("ebsBlockDeviceConfigs","EbsBlockDeviceConfigs",properties.EbsBlockDeviceConfigs!=null?cfn_parse.FromCloudFormation.getArray(CfnInstanceGroupConfigEbsBlockDeviceConfigPropertyFromCloudFormation)(properties.EbsBlockDeviceConfigs):void 0),ret.addPropertyResult("ebsOptimized","EbsOptimized",properties.EbsOptimized!=null?cfn_parse.FromCloudFormation.getBoolean(properties.EbsOptimized):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_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("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 "MetricDimensionProperty"')}function cfnInstanceGroupConfigMetricDimensionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_MetricDimensionPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnInstanceGroupConfigMetricDimensionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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 CfnInstanceGroupConfig_ScalingActionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("market",cdk.validateString)(properties.market)),errors.collect(cdk.propertyValidator("simpleScalingPolicyConfiguration",cdk.requiredValidator)(properties.simpleScalingPolicyConfiguration)),errors.collect(cdk.propertyValidator("simpleScalingPolicyConfiguration",CfnInstanceGroupConfig_SimpleScalingPolicyConfigurationPropertyValidator)(properties.simpleScalingPolicyConfiguration)),errors.wrap('supplied properties not correct for "ScalingActionProperty"')}function cfnInstanceGroupConfigScalingActionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_ScalingActionPropertyValidator(properties).assertSuccess(),{Market:cdk.stringToCloudFormation(properties.market),SimpleScalingPolicyConfiguration:cfnInstanceGroupConfigSimpleScalingPolicyConfigurationPropertyToCloudFormation(properties.simpleScalingPolicyConfiguration)}):properties}function CfnInstanceGroupConfigScalingActionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("market","Market",properties.Market!=null?cfn_parse.FromCloudFormation.getString(properties.Market):void 0),ret.addPropertyResult("simpleScalingPolicyConfiguration","SimpleScalingPolicyConfiguration",CfnInstanceGroupConfigSimpleScalingPolicyConfigurationPropertyFromCloudFormation(properties.SimpleScalingPolicyConfiguration)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_ScalingConstraintsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("maxCapacity",cdk.requiredValidator)(properties.maxCapacity)),errors.collect(cdk.propertyValidator("maxCapacity",cdk.validateNumber)(properties.maxCapacity)),errors.collect(cdk.propertyValidator("minCapacity",cdk.requiredValidator)(properties.minCapacity)),errors.collect(cdk.propertyValidator("minCapacity",cdk.validateNumber)(properties.minCapacity)),errors.wrap('supplied properties not correct for "ScalingConstraintsProperty"')}function cfnInstanceGroupConfigScalingConstraintsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_ScalingConstraintsPropertyValidator(properties).assertSuccess(),{MaxCapacity:cdk.numberToCloudFormation(properties.maxCapacity),MinCapacity:cdk.numberToCloudFormation(properties.minCapacity)}):properties}function CfnInstanceGroupConfigScalingConstraintsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("maxCapacity","MaxCapacity",cfn_parse.FromCloudFormation.getNumber(properties.MaxCapacity)),ret.addPropertyResult("minCapacity","MinCapacity",cfn_parse.FromCloudFormation.getNumber(properties.MinCapacity)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_ScalingRulePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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",CfnInstanceGroupConfig_ScalingActionPropertyValidator)(properties.action)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("trigger",cdk.requiredValidator)(properties.trigger)),errors.collect(cdk.propertyValidator("trigger",CfnInstanceGroupConfig_ScalingTriggerPropertyValidator)(properties.trigger)),errors.wrap('supplied properties not correct for "ScalingRuleProperty"')}function cfnInstanceGroupConfigScalingRulePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_ScalingRulePropertyValidator(properties).assertSuccess(),{Action:cfnInstanceGroupConfigScalingActionPropertyToCloudFormation(properties.action),Description:cdk.stringToCloudFormation(properties.description),Name:cdk.stringToCloudFormation(properties.name),Trigger:cfnInstanceGroupConfigScalingTriggerPropertyToCloudFormation(properties.trigger)}):properties}function CfnInstanceGroupConfigScalingRulePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",CfnInstanceGroupConfigScalingActionPropertyFromCloudFormation(properties.Action)),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("trigger","Trigger",CfnInstanceGroupConfigScalingTriggerPropertyFromCloudFormation(properties.Trigger)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_ScalingTriggerPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("cloudWatchAlarmDefinition",cdk.requiredValidator)(properties.cloudWatchAlarmDefinition)),errors.collect(cdk.propertyValidator("cloudWatchAlarmDefinition",CfnInstanceGroupConfig_CloudWatchAlarmDefinitionPropertyValidator)(properties.cloudWatchAlarmDefinition)),errors.wrap('supplied properties not correct for "ScalingTriggerProperty"')}function cfnInstanceGroupConfigScalingTriggerPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_ScalingTriggerPropertyValidator(properties).assertSuccess(),{CloudWatchAlarmDefinition:cfnInstanceGroupConfigCloudWatchAlarmDefinitionPropertyToCloudFormation(properties.cloudWatchAlarmDefinition)}):properties}function CfnInstanceGroupConfigScalingTriggerPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("cloudWatchAlarmDefinition","CloudWatchAlarmDefinition",CfnInstanceGroupConfigCloudWatchAlarmDefinitionPropertyFromCloudFormation(properties.CloudWatchAlarmDefinition)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_SimpleScalingPolicyConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("adjustmentType",cdk.validateString)(properties.adjustmentType)),errors.collect(cdk.propertyValidator("coolDown",cdk.validateNumber)(properties.coolDown)),errors.collect(cdk.propertyValidator("scalingAdjustment",cdk.requiredValidator)(properties.scalingAdjustment)),errors.collect(cdk.propertyValidator("scalingAdjustment",cdk.validateNumber)(properties.scalingAdjustment)),errors.wrap('supplied properties not correct for "SimpleScalingPolicyConfigurationProperty"')}function cfnInstanceGroupConfigSimpleScalingPolicyConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_SimpleScalingPolicyConfigurationPropertyValidator(properties).assertSuccess(),{AdjustmentType:cdk.stringToCloudFormation(properties.adjustmentType),CoolDown:cdk.numberToCloudFormation(properties.coolDown),ScalingAdjustment:cdk.numberToCloudFormation(properties.scalingAdjustment)}):properties}function CfnInstanceGroupConfigSimpleScalingPolicyConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("adjustmentType","AdjustmentType",properties.AdjustmentType!=null?cfn_parse.FromCloudFormation.getString(properties.AdjustmentType):void 0),ret.addPropertyResult("coolDown","CoolDown",properties.CoolDown!=null?cfn_parse.FromCloudFormation.getNumber(properties.CoolDown):void 0),ret.addPropertyResult("scalingAdjustment","ScalingAdjustment",cfn_parse.FromCloudFormation.getNumber(properties.ScalingAdjustment)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceGroupConfig_VolumeSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("iops",cdk.validateNumber)(properties.iops)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.requiredValidator)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("sizeInGb",cdk.validateNumber)(properties.sizeInGb)),errors.collect(cdk.propertyValidator("volumeType",cdk.requiredValidator)(properties.volumeType)),errors.collect(cdk.propertyValidator("volumeType",cdk.validateString)(properties.volumeType)),errors.wrap('supplied properties not correct for "VolumeSpecificationProperty"')}function cfnInstanceGroupConfigVolumeSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnInstanceGroupConfig_VolumeSpecificationPropertyValidator(properties).assertSuccess(),{Iops:cdk.numberToCloudFormation(properties.iops),SizeInGB:cdk.numberToCloudFormation(properties.sizeInGb),VolumeType:cdk.stringToCloudFormation(properties.volumeType)}):properties}function CfnInstanceGroupConfigVolumeSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("iops","Iops",properties.Iops!=null?cfn_parse.FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("sizeInGb","SizeInGB",cfn_parse.FromCloudFormation.getNumber(properties.SizeInGB)),ret.addPropertyResult("volumeType","VolumeType",cfn_parse.FromCloudFormation.getString(properties.VolumeType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityConfigurationPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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("securityConfiguration",cdk.requiredValidator)(properties.securityConfiguration)),errors.collect(cdk.propertyValidator("securityConfiguration",cdk.validateObject)(properties.securityConfiguration)),errors.wrap('supplied properties not correct for "CfnSecurityConfigurationProps"')}function cfnSecurityConfigurationPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSecurityConfigurationPropsValidator(properties).assertSuccess(),{SecurityConfiguration:cdk.objectToCloudFormation(properties.securityConfiguration),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnSecurityConfigurationPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("securityConfiguration","SecurityConfiguration",cfn_parse.FromCloudFormation.getAny(properties.SecurityConfiguration)),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSecurityConfiguration extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnSecurityConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnSecurityConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSecurityConfiguration),error}cdk.requireProperty(props,"securityConfiguration",this),this.securityConfiguration=props.securityConfiguration,this.name=props.name}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSecurityConfigurationPropsFromCloudFormation(resourceProperties),ret=new CfnSecurityConfiguration(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",CfnSecurityConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{securityConfiguration:this.securityConfiguration,name:this.name}}renderProperties(props){return cfnSecurityConfigurationPropsToCloudFormation(props)}}exports.CfnSecurityConfiguration=CfnSecurityConfiguration,_d=JSII_RTTI_SYMBOL_1,CfnSecurityConfiguration[_d]={fqn:"aws-cdk-lib.aws_emr.CfnSecurityConfiguration",version:"2.52.1"},CfnSecurityConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::EMR::SecurityConfiguration";function CfnStepPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("actionOnFailure",cdk.requiredValidator)(properties.actionOnFailure)),errors.collect(cdk.propertyValidator("actionOnFailure",cdk.validateString)(properties.actionOnFailure)),errors.collect(cdk.propertyValidator("hadoopJarStep",cdk.requiredValidator)(properties.hadoopJarStep)),errors.collect(cdk.propertyValidator("hadoopJarStep",CfnStep_HadoopJarStepConfigPropertyValidator)(properties.hadoopJarStep)),errors.collect(cdk.propertyValidator("jobFlowId",cdk.requiredValidator)(properties.jobFlowId)),errors.collect(cdk.propertyValidator("jobFlowId",cdk.validateString)(properties.jobFlowId)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "CfnStepProps"')}function cfnStepPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStepPropsValidator(properties).assertSuccess(),{ActionOnFailure:cdk.stringToCloudFormation(properties.actionOnFailure),HadoopJarStep:cfnStepHadoopJarStepConfigPropertyToCloudFormation(properties.hadoopJarStep),JobFlowId:cdk.stringToCloudFormation(properties.jobFlowId),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnStepPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("actionOnFailure","ActionOnFailure",cfn_parse.FromCloudFormation.getString(properties.ActionOnFailure)),ret.addPropertyResult("hadoopJarStep","HadoopJarStep",CfnStepHadoopJarStepConfigPropertyFromCloudFormation(properties.HadoopJarStep)),ret.addPropertyResult("jobFlowId","JobFlowId",cfn_parse.FromCloudFormation.getString(properties.JobFlowId)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStep extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnStep.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnStepProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStep),error}cdk.requireProperty(props,"actionOnFailure",this),cdk.requireProperty(props,"hadoopJarStep",this),cdk.requireProperty(props,"jobFlowId",this),cdk.requireProperty(props,"name",this),this.actionOnFailure=props.actionOnFailure,this.hadoopJarStep=props.hadoopJarStep,this.jobFlowId=props.jobFlowId,this.name=props.name}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStepPropsFromCloudFormation(resourceProperties),ret=new CfnStep(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",CfnStep.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{actionOnFailure:this.actionOnFailure,hadoopJarStep:this.hadoopJarStep,jobFlowId:this.jobFlowId,name:this.name}}renderProperties(props){return cfnStepPropsToCloudFormation(props)}}exports.CfnStep=CfnStep,_e=JSII_RTTI_SYMBOL_1,CfnStep[_e]={fqn:"aws-cdk-lib.aws_emr.CfnStep",version:"2.52.1"},CfnStep.CFN_RESOURCE_TYPE_NAME="AWS::EMR::Step";function CfnStep_HadoopJarStepConfigPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("args",cdk.listValidator(cdk.validateString))(properties.args)),errors.collect(cdk.propertyValidator("jar",cdk.requiredValidator)(properties.jar)),errors.collect(cdk.propertyValidator("jar",cdk.validateString)(properties.jar)),errors.collect(cdk.propertyValidator("mainClass",cdk.validateString)(properties.mainClass)),errors.collect(cdk.propertyValidator("stepProperties",cdk.listValidator(CfnStep_KeyValuePropertyValidator))(properties.stepProperties)),errors.wrap('supplied properties not correct for "HadoopJarStepConfigProperty"')}function cfnStepHadoopJarStepConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStep_HadoopJarStepConfigPropertyValidator(properties).assertSuccess(),{Args:cdk.listMapper(cdk.stringToCloudFormation)(properties.args),Jar:cdk.stringToCloudFormation(properties.jar),MainClass:cdk.stringToCloudFormation(properties.mainClass),StepProperties:cdk.listMapper(cfnStepKeyValuePropertyToCloudFormation)(properties.stepProperties)}):properties}function CfnStepHadoopJarStepConfigPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("args","Args",properties.Args!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Args):void 0),ret.addPropertyResult("jar","Jar",cfn_parse.FromCloudFormation.getString(properties.Jar)),ret.addPropertyResult("mainClass","MainClass",properties.MainClass!=null?cfn_parse.FromCloudFormation.getString(properties.MainClass):void 0),ret.addPropertyResult("stepProperties","StepProperties",properties.StepProperties!=null?cfn_parse.FromCloudFormation.getArray(CfnStepKeyValuePropertyFromCloudFormation)(properties.StepProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStep_KeyValuePropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=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.validateString)(properties.key)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "KeyValueProperty"')}function cfnStepKeyValuePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStep_KeyValuePropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnStepKeyValuePropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_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",properties.Key!=null?cfn_parse.FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse.FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStudioPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("authMode",cdk.requiredValidator)(properties.authMode)),errors.collect(cdk.propertyValidator("authMode",cdk.validateString)(properties.authMode)),errors.collect(cdk.propertyValidator("defaultS3Location",cdk.requiredValidator)(properties.defaultS3Location)),errors.collect(cdk.propertyValidator("defaultS3Location",cdk.validateString)(properties.defaultS3Location)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("engineSecurityGroupId",cdk.requiredValidator)(properties.engineSecurityGroupId)),errors.collect(cdk.propertyValidator("engineSecurityGroupId",cdk.validateString)(properties.engineSecurityGroupId)),errors.collect(cdk.propertyValidator("idpAuthUrl",cdk.validateString)(properties.idpAuthUrl)),errors.collect(cdk.propertyValidator("idpRelayStateParameterName",cdk.validateString)(properties.idpRelayStateParameterName)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("serviceRole",cdk.requiredValidator)(properties.serviceRole)),errors.collect(cdk.propertyValidator("serviceRole",cdk.validateString)(properties.serviceRole)),errors.collect(cdk.propertyValidator("subnetIds",cdk.requiredValidator)(properties.subnetIds)),errors.collect(cdk.propertyValidator("subnetIds",cdk.listValidator(cdk.validateString))(properties.subnetIds)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("userRole",cdk.validateString)(properties.userRole)),errors.collect(cdk.propertyValidator("vpcId",cdk.requiredValidator)(properties.vpcId)),errors.collect(cdk.propertyValidator("vpcId",cdk.validateString)(properties.vpcId)),errors.collect(cdk.propertyValidator("workspaceSecurityGroupId",cdk.requiredValidator)(properties.workspaceSecurityGroupId)),errors.collect(cdk.propertyValidator("workspaceSecurityGroupId",cdk.validateString)(properties.workspaceSecurityGroupId)),errors.wrap('supplied properties not correct for "CfnStudioProps"')}function cfnStudioPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStudioPropsValidator(properties).assertSuccess(),{AuthMode:cdk.stringToCloudFormation(properties.authMode),DefaultS3Location:cdk.stringToCloudFormation(properties.defaultS3Location),EngineSecurityGroupId:cdk.stringToCloudFormation(properties.engineSecurityGroupId),Name:cdk.stringToCloudFormation(properties.name),ServiceRole:cdk.stringToCloudFormation(properties.serviceRole),SubnetIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.subnetIds),VpcId:cdk.stringToCloudFormation(properties.vpcId),WorkspaceSecurityGroupId:cdk.stringToCloudFormation(properties.workspaceSecurityGroupId),Description:cdk.stringToCloudFormation(properties.description),IdpAuthUrl:cdk.stringToCloudFormation(properties.idpAuthUrl),IdpRelayStateParameterName:cdk.stringToCloudFormation(properties.idpRelayStateParameterName),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),UserRole:cdk.stringToCloudFormation(properties.userRole)}):properties}function CfnStudioPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("authMode","AuthMode",cfn_parse.FromCloudFormation.getString(properties.AuthMode)),ret.addPropertyResult("defaultS3Location","DefaultS3Location",cfn_parse.FromCloudFormation.getString(properties.DefaultS3Location)),ret.addPropertyResult("engineSecurityGroupId","EngineSecurityGroupId",cfn_parse.FromCloudFormation.getString(properties.EngineSecurityGroupId)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("serviceRole","ServiceRole",cfn_parse.FromCloudFormation.getString(properties.ServiceRole)),ret.addPropertyResult("subnetIds","SubnetIds",cfn_parse.FromCloudFormation.getStringArray(properties.SubnetIds)),ret.addPropertyResult("vpcId","VpcId",cfn_parse.FromCloudFormation.getString(properties.VpcId)),ret.addPropertyResult("workspaceSecurityGroupId","WorkspaceSecurityGroupId",cfn_parse.FromCloudFormation.getString(properties.WorkspaceSecurityGroupId)),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("idpAuthUrl","IdpAuthUrl",properties.IdpAuthUrl!=null?cfn_parse.FromCloudFormation.getString(properties.IdpAuthUrl):void 0),ret.addPropertyResult("idpRelayStateParameterName","IdpRelayStateParameterName",properties.IdpRelayStateParameterName!=null?cfn_parse.FromCloudFormation.getString(properties.IdpRelayStateParameterName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("userRole","UserRole",properties.UserRole!=null?cfn_parse.FromCloudFormation.getString(properties.UserRole):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStudio extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnStudio.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnStudioProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStudio),error}cdk.requireProperty(props,"authMode",this),cdk.requireProperty(props,"defaultS3Location",this),cdk.requireProperty(props,"engineSecurityGroupId",this),cdk.requireProperty(props,"name",this),cdk.requireProperty(props,"serviceRole",this),cdk.requireProperty(props,"subnetIds",this),cdk.requireProperty(props,"vpcId",this),cdk.requireProperty(props,"workspaceSecurityGroupId",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn")),this.attrStudioId=cdk.Token.asString(this.getAtt("StudioId")),this.attrUrl=cdk.Token.asString(this.getAtt("Url")),this.authMode=props.authMode,this.defaultS3Location=props.defaultS3Location,this.engineSecurityGroupId=props.engineSecurityGroupId,this.name=props.name,this.serviceRole=props.serviceRole,this.subnetIds=props.subnetIds,this.vpcId=props.vpcId,this.workspaceSecurityGroupId=props.workspaceSecurityGroupId,this.description=props.description,this.idpAuthUrl=props.idpAuthUrl,this.idpRelayStateParameterName=props.idpRelayStateParameterName,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::EMR::Studio",props.tags,{tagPropertyName:"tags"}),this.userRole=props.userRole}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStudioPropsFromCloudFormation(resourceProperties),ret=new CfnStudio(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",CfnStudio.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{authMode:this.authMode,defaultS3Location:this.defaultS3Location,engineSecurityGroupId:this.engineSecurityGroupId,name:this.name,serviceRole:this.serviceRole,subnetIds:this.subnetIds,vpcId:this.vpcId,workspaceSecurityGroupId:this.workspaceSecurityGroupId,description:this.description,idpAuthUrl:this.idpAuthUrl,idpRelayStateParameterName:this.idpRelayStateParameterName,tags:this.tags.renderTags(),userRole:this.userRole}}renderProperties(props){return cfnStudioPropsToCloudFormation(props)}}exports.CfnStudio=CfnStudio,_f=JSII_RTTI_SYMBOL_1,CfnStudio[_f]={fqn:"aws-cdk-lib.aws_emr.CfnStudio",version:"2.52.1"},CfnStudio.CFN_RESOURCE_TYPE_NAME="AWS::EMR::Studio";function CfnStudioSessionMappingPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("identityName",cdk.requiredValidator)(properties.identityName)),errors.collect(cdk.propertyValidator("identityName",cdk.validateString)(properties.identityName)),errors.collect(cdk.propertyValidator("identityType",cdk.requiredValidator)(properties.identityType)),errors.collect(cdk.propertyValidator("identityType",cdk.validateString)(properties.identityType)),errors.collect(cdk.propertyValidator("sessionPolicyArn",cdk.requiredValidator)(properties.sessionPolicyArn)),errors.collect(cdk.propertyValidator("sessionPolicyArn",cdk.validateString)(properties.sessionPolicyArn)),errors.collect(cdk.propertyValidator("studioId",cdk.requiredValidator)(properties.studioId)),errors.collect(cdk.propertyValidator("studioId",cdk.validateString)(properties.studioId)),errors.wrap('supplied properties not correct for "CfnStudioSessionMappingProps"')}function cfnStudioSessionMappingPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnStudioSessionMappingPropsValidator(properties).assertSuccess(),{IdentityName:cdk.stringToCloudFormation(properties.identityName),IdentityType:cdk.stringToCloudFormation(properties.identityType),SessionPolicyArn:cdk.stringToCloudFormation(properties.sessionPolicyArn),StudioId:cdk.stringToCloudFormation(properties.studioId)}):properties}function CfnStudioSessionMappingPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("identityName","IdentityName",cfn_parse.FromCloudFormation.getString(properties.IdentityName)),ret.addPropertyResult("identityType","IdentityType",cfn_parse.FromCloudFormation.getString(properties.IdentityType)),ret.addPropertyResult("sessionPolicyArn","SessionPolicyArn",cfn_parse.FromCloudFormation.getString(properties.SessionPolicyArn)),ret.addPropertyResult("studioId","StudioId",cfn_parse.FromCloudFormation.getString(properties.StudioId)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStudioSessionMapping extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnStudioSessionMapping.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_emr_CfnStudioSessionMappingProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStudioSessionMapping),error}cdk.requireProperty(props,"identityName",this),cdk.requireProperty(props,"identityType",this),cdk.requireProperty(props,"sessionPolicyArn",this),cdk.requireProperty(props,"studioId",this),this.identityName=props.identityName,this.identityType=props.identityType,this.sessionPolicyArn=props.sessionPolicyArn,this.studioId=props.studioId}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStudioSessionMappingPropsFromCloudFormation(resourceProperties),ret=new CfnStudioSessionMapping(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",CfnStudioSessionMapping.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{identityName:this.identityName,identityType:this.identityType,sessionPolicyArn:this.sessionPolicyArn,studioId:this.studioId}}renderProperties(props){return cfnStudioSessionMappingPropsToCloudFormation(props)}}exports.CfnStudioSessionMapping=CfnStudioSessionMapping,_g=JSII_RTTI_SYMBOL_1,CfnStudioSessionMapping[_g]={fqn:"aws-cdk-lib.aws_emr.CfnStudioSessionMapping",version:"2.52.1"},CfnStudioSessionMapping.CFN_RESOURCE_TYPE_NAME="AWS::EMR::StudioSessionMapping";
|
|
2
2
|
//# sourceMappingURL=emr.generated.js.map
|