UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 169 kB
"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("osReleaseLabel",cdk.validateString)(properties.osReleaseLabel)),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),OSReleaseLabel:cdk.stringToCloudFormation(properties.osReleaseLabel),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("osReleaseLabel","OSReleaseLabel",properties.OSReleaseLabel!=null?cfn_parse.FromCloudFormation.getString(properties.OSReleaseLabel):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",cdk.ResolutionTypeHint.STRING)),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.osReleaseLabel=props.osReleaseLabel,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,osReleaseLabel:this.osReleaseLabel,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.70.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.addUnrecognized