2 lines
230 KiB
JavaScript
2 lines
230 KiB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnServiceEnvironment=exports.CfnQuotaShare=exports.CfnConsumableResource=exports.CfnSchedulingPolicy=exports.CfnJobQueue=exports.CfnJobDefinition=exports.CfnComputeEnvironment=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core/lib");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnComputeEnvironment extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_batch.CfnComputeEnvironment",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Batch::ComputeEnvironment";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnComputeEnvironmentPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnComputeEnvironment(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}static isCfnComputeEnvironment(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnComputeEnvironment.CFN_RESOURCE_TYPE_NAME}static arnForComputeEnvironment(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_batch_IComputeEnvironmentRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForComputeEnvironment),error}return resource.computeEnvironmentRef.computeEnvironmentArn}_computeEnvironmentName;_computeResources;_context;_eksConfiguration;_replaceComputeEnvironment;_serviceRole;_state;tags;_tagsRaw;_type;_unmanagedvCpus;_updatePolicy;cfnPropertyNames={computeEnvironmentName:"ComputeEnvironmentName",computeResources:"ComputeResources",context:"Context",eksConfiguration:"EksConfiguration",replaceComputeEnvironment:"ReplaceComputeEnvironment",serviceRole:"ServiceRole",state:"State",tags:"Tags",type:"Type",unmanagedvCpus:"UnmanagedvCpus",updatePolicy:"UpdatePolicy"};constructor(scope,id,props){super(scope,id,{type:CfnComputeEnvironment.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_batch_CfnComputeEnvironmentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnComputeEnvironment),error}cdk().requireProperty(props,"type",this),this._computeEnvironmentName=props.computeEnvironmentName,this._computeResources=props.computeResources,this._context=props.context,this._eksConfiguration=props.eksConfiguration,this._replaceComputeEnvironment=props.replaceComputeEnvironment,this._serviceRole=cdk().getRefProperty(props.serviceRole?.roleRef,"roleArn")??cdk().getRefProperty(props.serviceRole?.roleRef,"roleName")??cdk().ensureStringOrUndefined(props.serviceRole,"serviceRole","iam.IRoleRef | string"),this._state=props.state,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Batch::ComputeEnvironment",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._type=props.type,this._unmanagedvCpus=props.unmanagedvCpus,this._updatePolicy=props.updatePolicy}get computeEnvironmentRef(){return{computeEnvironmentArn:this.ref}}get computeEnvironmentName(){return this._computeEnvironmentName}set computeEnvironmentName(value){cdk().traceProperty(this.node,"ComputeEnvironmentName"),this._computeEnvironmentName=value}get computeResources(){return this._computeResources}set computeResources(value){cdk().traceProperty(this.node,"ComputeResources"),this._computeResources=value}get context(){return this._context}set context(value){cdk().traceProperty(this.node,"Context"),this._context=value}get eksConfiguration(){return this._eksConfiguration}set eksConfiguration(value){cdk().traceProperty(this.node,"EksConfiguration"),this._eksConfiguration=value}get replaceComputeEnvironment(){return this._replaceComputeEnvironment}set replaceComputeEnvironment(value){cdk().traceProperty(this.node,"ReplaceComputeEnvironment"),this._replaceComputeEnvironment=value}get serviceRole(){return this._serviceRole}set serviceRole(value){cdk().traceProperty(this.node,"ServiceRole"),this._serviceRole=value}get state(){return this._state}set state(value){cdk().traceProperty(this.node,"State"),this._state=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get unmanagedvCpus(){return this._unmanagedvCpus}set unmanagedvCpus(value){cdk().traceProperty(this.node,"UnmanagedvCpus"),this._unmanagedvCpus=value}get updatePolicy(){return this._updatePolicy}set updatePolicy(value){cdk().traceProperty(this.node,"UpdatePolicy"),this._updatePolicy=value}get attrComputeEnvironmentArn(){return cdk().Token.asString(this.getAtt("ComputeEnvironmentArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{computeEnvironmentName:this._computeEnvironmentName,computeResources:this._computeResources,context:this._context,eksConfiguration:this._eksConfiguration,replaceComputeEnvironment:this._replaceComputeEnvironment,serviceRole:this._serviceRole,state:this._state,tags:this.tags.renderTags(),type:this._type,unmanagedvCpus:this._unmanagedvCpus,updatePolicy:this._updatePolicy}}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",CfnComputeEnvironment.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnComputeEnvironmentPropsToCloudFormation(props)}}exports.CfnComputeEnvironment=CfnComputeEnvironment;function CfnComputeEnvironmentUpdatePolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("jobExecutionTimeoutMinutes",cdk().validateNumber)(properties.jobExecutionTimeoutMinutes)),errors.collect(cdk().propertyValidator("terminateJobsOnUpdate",cdk().validateBoolean)(properties.terminateJobsOnUpdate)),errors.wrap('supplied properties not correct for "UpdatePolicyProperty"')}function convertCfnComputeEnvironmentUpdatePolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputeEnvironmentUpdatePolicyPropertyValidator(properties).assertSuccess(),{JobExecutionTimeoutMinutes:cdk().numberToCloudFormation(properties.jobExecutionTimeoutMinutes),TerminateJobsOnUpdate:cdk().booleanToCloudFormation(properties.terminateJobsOnUpdate)}):properties}function CfnComputeEnvironmentUpdatePolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("jobExecutionTimeoutMinutes","JobExecutionTimeoutMinutes",properties.JobExecutionTimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.JobExecutionTimeoutMinutes):void 0),ret.addPropertyResult("terminateJobsOnUpdate","TerminateJobsOnUpdate",properties.TerminateJobsOnUpdate!=null?cfn_parse().FromCloudFormation.getBoolean(properties.TerminateJobsOnUpdate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputeEnvironmentEksConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("eksClusterArn",cdk().requiredValidator)(properties.eksClusterArn)),errors.collect(cdk().propertyValidator("eksClusterArn",cdk().validateString)(properties.eksClusterArn)),errors.collect(cdk().propertyValidator("kubernetesNamespace",cdk().requiredValidator)(properties.kubernetesNamespace)),errors.collect(cdk().propertyValidator("kubernetesNamespace",cdk().validateString)(properties.kubernetesNamespace)),errors.wrap('supplied properties not correct for "EksConfigurationProperty"')}function convertCfnComputeEnvironmentEksConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputeEnvironmentEksConfigurationPropertyValidator(properties).assertSuccess(),{EksClusterArn:cdk().stringToCloudFormation(properties.eksClusterArn),KubernetesNamespace:cdk().stringToCloudFormation(properties.kubernetesNamespace)}):properties}function CfnComputeEnvironmentEksConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("eksClusterArn","EksClusterArn",properties.EksClusterArn!=null?cfn_parse().FromCloudFormation.getString(properties.EksClusterArn):void 0),ret.addPropertyResult("kubernetesNamespace","KubernetesNamespace",properties.KubernetesNamespace!=null?cfn_parse().FromCloudFormation.getString(properties.KubernetesNamespace):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputeEnvironmentEc2ConfigurationObjectPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("batchImageStatus",cdk().validateString)(properties.batchImageStatus)),errors.collect(cdk().propertyValidator("imageIdOverride",cdk().validateString)(properties.imageIdOverride)),errors.collect(cdk().propertyValidator("imageKubernetesVersion",cdk().validateString)(properties.imageKubernetesVersion)),errors.collect(cdk().propertyValidator("imageType",cdk().requiredValidator)(properties.imageType)),errors.collect(cdk().propertyValidator("imageType",cdk().validateString)(properties.imageType)),errors.wrap('supplied properties not correct for "Ec2ConfigurationObjectProperty"')}function convertCfnComputeEnvironmentEc2ConfigurationObjectPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputeEnvironmentEc2ConfigurationObjectPropertyValidator(properties).assertSuccess(),{BatchImageStatus:cdk().stringToCloudFormation(properties.batchImageStatus),ImageIdOverride:cdk().stringToCloudFormation(properties.imageIdOverride),ImageKubernetesVersion:cdk().stringToCloudFormation(properties.imageKubernetesVersion),ImageType:cdk().stringToCloudFormation(properties.imageType)}):properties}function CfnComputeEnvironmentEc2ConfigurationObjectPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("batchImageStatus","BatchImageStatus",properties.BatchImageStatus!=null?cfn_parse().FromCloudFormation.getString(properties.BatchImageStatus):void 0),ret.addPropertyResult("imageIdOverride","ImageIdOverride",properties.ImageIdOverride!=null?cfn_parse().FromCloudFormation.getString(properties.ImageIdOverride):void 0),ret.addPropertyResult("imageKubernetesVersion","ImageKubernetesVersion",properties.ImageKubernetesVersion!=null?cfn_parse().FromCloudFormation.getString(properties.ImageKubernetesVersion):void 0),ret.addPropertyResult("imageType","ImageType",properties.ImageType!=null?cfn_parse().FromCloudFormation.getString(properties.ImageType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputeEnvironmentLaunchTemplateSpecificationOverridePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("launchTemplateId",cdk().validateString)(properties.launchTemplateId)),errors.collect(cdk().propertyValidator("launchTemplateName",cdk().validateString)(properties.launchTemplateName)),errors.collect(cdk().propertyValidator("targetInstanceTypes",cdk().listValidator(cdk().validateString))(properties.targetInstanceTypes)),errors.collect(cdk().propertyValidator("userdataType",cdk().validateString)(properties.userdataType)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "LaunchTemplateSpecificationOverrideProperty"')}function convertCfnComputeEnvironmentLaunchTemplateSpecificationOverridePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputeEnvironmentLaunchTemplateSpecificationOverridePropertyValidator(properties).assertSuccess(),{LaunchTemplateId:cdk().stringToCloudFormation(properties.launchTemplateId),LaunchTemplateName:cdk().stringToCloudFormation(properties.launchTemplateName),TargetInstanceTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.targetInstanceTypes),UserdataType:cdk().stringToCloudFormation(properties.userdataType),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnComputeEnvironmentLaunchTemplateSpecificationOverridePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("launchTemplateId","LaunchTemplateId",properties.LaunchTemplateId!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchTemplateId):void 0),ret.addPropertyResult("launchTemplateName","LaunchTemplateName",properties.LaunchTemplateName!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchTemplateName):void 0),ret.addPropertyResult("targetInstanceTypes","TargetInstanceTypes",properties.TargetInstanceTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.TargetInstanceTypes):void 0),ret.addPropertyResult("userdataType","UserdataType",properties.UserdataType!=null?cfn_parse().FromCloudFormation.getString(properties.UserdataType):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputeEnvironmentLaunchTemplateSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("launchTemplateId",cdk().validateString)(properties.launchTemplateId)),errors.collect(cdk().propertyValidator("launchTemplateName",cdk().validateString)(properties.launchTemplateName)),errors.collect(cdk().propertyValidator("overrides",cdk().listValidator(CfnComputeEnvironmentLaunchTemplateSpecificationOverridePropertyValidator))(properties.overrides)),errors.collect(cdk().propertyValidator("userdataType",cdk().validateString)(properties.userdataType)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "LaunchTemplateSpecificationProperty"')}function convertCfnComputeEnvironmentLaunchTemplateSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputeEnvironmentLaunchTemplateSpecificationPropertyValidator(properties).assertSuccess(),{LaunchTemplateId:cdk().stringToCloudFormation(properties.launchTemplateId),LaunchTemplateName:cdk().stringToCloudFormation(properties.launchTemplateName),Overrides:cdk().listMapper(convertCfnComputeEnvironmentLaunchTemplateSpecificationOverridePropertyToCloudFormation)(properties.overrides),UserdataType:cdk().stringToCloudFormation(properties.userdataType),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnComputeEnvironmentLaunchTemplateSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("launchTemplateId","LaunchTemplateId",properties.LaunchTemplateId!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchTemplateId):void 0),ret.addPropertyResult("launchTemplateName","LaunchTemplateName",properties.LaunchTemplateName!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchTemplateName):void 0),ret.addPropertyResult("overrides","Overrides",properties.Overrides!=null?cfn_parse().FromCloudFormation.getArray(CfnComputeEnvironmentLaunchTemplateSpecificationOverridePropertyFromCloudFormation)(properties.Overrides):void 0),ret.addPropertyResult("userdataType","UserdataType",properties.UserdataType!=null?cfn_parse().FromCloudFormation.getString(properties.UserdataType):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputeEnvironmentComputeScalingPolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("minScaleDownDelayMinutes",cdk().validateNumber)(properties.minScaleDownDelayMinutes)),errors.wrap('supplied properties not correct for "ComputeScalingPolicyProperty"')}function convertCfnComputeEnvironmentComputeScalingPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputeEnvironmentComputeScalingPolicyPropertyValidator(properties).assertSuccess(),{MinScaleDownDelayMinutes:cdk().numberToCloudFormation(properties.minScaleDownDelayMinutes)}):properties}function CfnComputeEnvironmentComputeScalingPolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("minScaleDownDelayMinutes","MinScaleDownDelayMinutes",properties.MinScaleDownDelayMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinScaleDownDelayMinutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputeEnvironmentComputeResourcesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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("bidPercentage",cdk().validateNumber)(properties.bidPercentage)),errors.collect(cdk().propertyValidator("desiredvCpus",cdk().validateNumber)(properties.desiredvCpus)),errors.collect(cdk().propertyValidator("ec2Configuration",cdk().listValidator(CfnComputeEnvironmentEc2ConfigurationObjectPropertyValidator))(properties.ec2Configuration)),errors.collect(cdk().propertyValidator("ec2KeyPair",cdk().validateString)(properties.ec2KeyPair)),errors.collect(cdk().propertyValidator("imageId",cdk().validateString)(properties.imageId)),errors.collect(cdk().propertyValidator("instanceRole",cdk().validateString)(properties.instanceRole)),errors.collect(cdk().propertyValidator("instanceTypes",cdk().listValidator(cdk().validateString))(properties.instanceTypes)),errors.collect(cdk().propertyValidator("launchTemplate",CfnComputeEnvironmentLaunchTemplateSpecificationPropertyValidator)(properties.launchTemplate)),errors.collect(cdk().propertyValidator("maxvCpus",cdk().requiredValidator)(properties.maxvCpus)),errors.collect(cdk().propertyValidator("maxvCpus",cdk().validateNumber)(properties.maxvCpus)),errors.collect(cdk().propertyValidator("minvCpus",cdk().validateNumber)(properties.minvCpus)),errors.collect(cdk().propertyValidator("placementGroup",cdk().validateString)(properties.placementGroup)),errors.collect(cdk().propertyValidator("scalingPolicy",CfnComputeEnvironmentComputeScalingPolicyPropertyValidator)(properties.scalingPolicy)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("spotIamFleetRole",cdk().validateString)(properties.spotIamFleetRole)),errors.collect(cdk().propertyValidator("subnets",cdk().requiredValidator)(properties.subnets)),errors.collect(cdk().propertyValidator("subnets",cdk().listValidator(cdk().validateString))(properties.subnets)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("updateToLatestImageVersion",cdk().validateBoolean)(properties.updateToLatestImageVersion)),errors.wrap('supplied properties not correct for "ComputeResourcesProperty"')}function convertCfnComputeEnvironmentComputeResourcesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputeEnvironmentComputeResourcesPropertyValidator(properties).assertSuccess(),{AllocationStrategy:cdk().stringToCloudFormation(properties.allocationStrategy),BidPercentage:cdk().numberToCloudFormation(properties.bidPercentage),DesiredvCpus:cdk().numberToCloudFormation(properties.desiredvCpus),Ec2Configuration:cdk().listMapper(convertCfnComputeEnvironmentEc2ConfigurationObjectPropertyToCloudFormation)(properties.ec2Configuration),Ec2KeyPair:cdk().stringToCloudFormation(properties.ec2KeyPair),ImageId:cdk().stringToCloudFormation(properties.imageId),InstanceRole:cdk().stringToCloudFormation(properties.instanceRole),InstanceTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.instanceTypes),LaunchTemplate:convertCfnComputeEnvironmentLaunchTemplateSpecificationPropertyToCloudFormation(properties.launchTemplate),MaxvCpus:cdk().numberToCloudFormation(properties.maxvCpus),MinvCpus:cdk().numberToCloudFormation(properties.minvCpus),PlacementGroup:cdk().stringToCloudFormation(properties.placementGroup),ScalingPolicy:convertCfnComputeEnvironmentComputeScalingPolicyPropertyToCloudFormation(properties.scalingPolicy),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SpotIamFleetRole:cdk().stringToCloudFormation(properties.spotIamFleetRole),Subnets:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnets),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type),UpdateToLatestImageVersion:cdk().booleanToCloudFormation(properties.updateToLatestImageVersion)}):properties}function CfnComputeEnvironmentComputeResourcesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))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("bidPercentage","BidPercentage",properties.BidPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.BidPercentage):void 0),ret.addPropertyResult("desiredvCpus","DesiredvCpus",properties.DesiredvCpus!=null?cfn_parse().FromCloudFormation.getNumber(properties.DesiredvCpus):void 0),ret.addPropertyResult("ec2Configuration","Ec2Configuration",properties.Ec2Configuration!=null?cfn_parse().FromCloudFormation.getArray(CfnComputeEnvironmentEc2ConfigurationObjectPropertyFromCloudFormation)(properties.Ec2Configuration):void 0),ret.addPropertyResult("ec2KeyPair","Ec2KeyPair",properties.Ec2KeyPair!=null?cfn_parse().FromCloudFormation.getString(properties.Ec2KeyPair):void 0),ret.addPropertyResult("imageId","ImageId",properties.ImageId!=null?cfn_parse().FromCloudFormation.getString(properties.ImageId):void 0),ret.addPropertyResult("instanceRole","InstanceRole",properties.InstanceRole!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceRole):void 0),ret.addPropertyResult("instanceTypes","InstanceTypes",properties.InstanceTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InstanceTypes):void 0),ret.addPropertyResult("launchTemplate","LaunchTemplate",properties.LaunchTemplate!=null?CfnComputeEnvironmentLaunchTemplateSpecificationPropertyFromCloudFormation(properties.LaunchTemplate):void 0),ret.addPropertyResult("maxvCpus","MaxvCpus",properties.MaxvCpus!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxvCpus):void 0),ret.addPropertyResult("minvCpus","MinvCpus",properties.MinvCpus!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinvCpus):void 0),ret.addPropertyResult("placementGroup","PlacementGroup",properties.PlacementGroup!=null?cfn_parse().FromCloudFormation.getString(properties.PlacementGroup):void 0),ret.addPropertyResult("scalingPolicy","ScalingPolicy",properties.ScalingPolicy!=null?CfnComputeEnvironmentComputeScalingPolicyPropertyFromCloudFormation(properties.ScalingPolicy):void 0),ret.addPropertyResult("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("spotIamFleetRole","SpotIamFleetRole",properties.SpotIamFleetRole!=null?cfn_parse().FromCloudFormation.getString(properties.SpotIamFleetRole):void 0),ret.addPropertyResult("subnets","Subnets",properties.Subnets!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Subnets):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("updateToLatestImageVersion","UpdateToLatestImageVersion",properties.UpdateToLatestImageVersion!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UpdateToLatestImageVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComputeEnvironmentPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computeEnvironmentName",cdk().validateString)(properties.computeEnvironmentName)),errors.collect(cdk().propertyValidator("computeResources",CfnComputeEnvironmentComputeResourcesPropertyValidator)(properties.computeResources)),errors.collect(cdk().propertyValidator("context",cdk().validateString)(properties.context)),errors.collect(cdk().propertyValidator("eksConfiguration",CfnComputeEnvironmentEksConfigurationPropertyValidator)(properties.eksConfiguration)),errors.collect(cdk().propertyValidator("replaceComputeEnvironment",cdk().validateBoolean)(properties.replaceComputeEnvironment)),errors.collect(cdk().propertyValidator("serviceRole",cdk().validateString)(properties.serviceRole)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("unmanagedvCpus",cdk().validateNumber)(properties.unmanagedvCpus)),errors.collect(cdk().propertyValidator("updatePolicy",CfnComputeEnvironmentUpdatePolicyPropertyValidator)(properties.updatePolicy)),errors.wrap('supplied properties not correct for "CfnComputeEnvironmentProps"')}function convertCfnComputeEnvironmentPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComputeEnvironmentPropsValidator(properties).assertSuccess(),{ComputeEnvironmentName:cdk().stringToCloudFormation(properties.computeEnvironmentName),ComputeResources:convertCfnComputeEnvironmentComputeResourcesPropertyToCloudFormation(properties.computeResources),Context:cdk().stringToCloudFormation(properties.context),EksConfiguration:convertCfnComputeEnvironmentEksConfigurationPropertyToCloudFormation(properties.eksConfiguration),ReplaceComputeEnvironment:cdk().booleanToCloudFormation(properties.replaceComputeEnvironment),ServiceRole:cdk().stringToCloudFormation(properties.serviceRole),State:cdk().stringToCloudFormation(properties.state),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type),UnmanagedvCpus:cdk().numberToCloudFormation(properties.unmanagedvCpus),UpdatePolicy:convertCfnComputeEnvironmentUpdatePolicyPropertyToCloudFormation(properties.updatePolicy)}):properties}function CfnComputeEnvironmentPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computeEnvironmentName","ComputeEnvironmentName",properties.ComputeEnvironmentName!=null?cfn_parse().FromCloudFormation.getString(properties.ComputeEnvironmentName):void 0),ret.addPropertyResult("computeResources","ComputeResources",properties.ComputeResources!=null?CfnComputeEnvironmentComputeResourcesPropertyFromCloudFormation(properties.ComputeResources):void 0),ret.addPropertyResult("context","Context",properties.Context!=null?cfn_parse().FromCloudFormation.getString(properties.Context):void 0),ret.addPropertyResult("eksConfiguration","EksConfiguration",properties.EksConfiguration!=null?CfnComputeEnvironmentEksConfigurationPropertyFromCloudFormation(properties.EksConfiguration):void 0),ret.addPropertyResult("replaceComputeEnvironment","ReplaceComputeEnvironment",properties.ReplaceComputeEnvironment!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReplaceComputeEnvironment):void 0),ret.addPropertyResult("serviceRole","ServiceRole",properties.ServiceRole!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceRole):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("unmanagedvCpus","UnmanagedvCpus",properties.UnmanagedvCpus!=null?cfn_parse().FromCloudFormation.getNumber(properties.UnmanagedvCpus):void 0),ret.addPropertyResult("updatePolicy","UpdatePolicy",properties.UpdatePolicy!=null?CfnComputeEnvironmentUpdatePolicyPropertyFromCloudFormation(properties.UpdatePolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnJobDefinition extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_batch.CfnJobDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Batch::JobDefinition";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnJobDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnJobDefinition(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}static isCfnJobDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnJobDefinition.CFN_RESOURCE_TYPE_NAME}static arnForJobDefinition(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_batch_IJobDefinitionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForJobDefinition),error}return resource.jobDefinitionRef.jobDefinitionArn}_consumableResourceProperties;_containerProperties;_ecsProperties;_eksProperties;_jobDefinitionName;_nodeProperties;_parameters;_platformCapabilities;_propagateTags;_resourceRetentionPolicy;_retryStrategy;_schedulingPriority;tags;_tagsRaw;_timeout;_type;cfnPropertyNames={consumableResourceProperties:"ConsumableResourceProperties",containerProperties:"ContainerProperties",ecsProperties:"EcsProperties",eksProperties:"EksProperties",jobDefinitionName:"JobDefinitionName",nodeProperties:"NodeProperties",parameters:"Parameters",platformCapabilities:"PlatformCapabilities",propagateTags:"PropagateTags",resourceRetentionPolicy:"ResourceRetentionPolicy",retryStrategy:"RetryStrategy",schedulingPriority:"SchedulingPriority",tags:"Tags",timeout:"Timeout",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnJobDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_batch_CfnJobDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnJobDefinition),error}cdk().requireProperty(props,"type",this),this._consumableResourceProperties=props.consumableResourceProperties,this._containerProperties=props.containerProperties,this._ecsProperties=props.ecsProperties,this._eksProperties=props.eksProperties,this._jobDefinitionName=props.jobDefinitionName,this._nodeProperties=props.nodeProperties,this._parameters=props.parameters,this._platformCapabilities=props.platformCapabilities,this._propagateTags=props.propagateTags,this._resourceRetentionPolicy=props.resourceRetentionPolicy,this._retryStrategy=props.retryStrategy,this._schedulingPriority=props.schedulingPriority,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Batch::JobDefinition",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._timeout=props.timeout,this._type=props.type}get jobDefinitionRef(){return{jobDefinitionArn:this.ref}}get consumableResourceProperties(){return this._consumableResourceProperties}set consumableResourceProperties(value){cdk().traceProperty(this.node,"ConsumableResourceProperties"),this._consumableResourceProperties=value}get containerProperties(){return this._containerProperties}set containerProperties(value){cdk().traceProperty(this.node,"ContainerProperties"),this._containerProperties=value}get ecsProperties(){return this._ecsProperties}set ecsProperties(value){cdk().traceProperty(this.node,"EcsProperties"),this._ecsProperties=value}get eksProperties(){return this._eksProperties}set eksProperties(value){cdk().traceProperty(this.node,"EksProperties"),this._eksProperties=value}get jobDefinitionName(){return this._jobDefinitionName}set jobDefinitionName(value){cdk().traceProperty(this.node,"JobDefinitionName"),this._jobDefinitionName=value}get nodeProperties(){return this._nodeProperties}set nodeProperties(value){cdk().traceProperty(this.node,"NodeProperties"),this._nodeProperties=value}get parameters(){return this._parameters}set parameters(value){cdk().traceProperty(this.node,"Parameters"),this._parameters=value}get platformCapabilities(){return this._platformCapabilities}set platformCapabilities(value){cdk().traceProperty(this.node,"PlatformCapabilities"),this._platformCapabilities=value}get propagateTags(){return this._propagateTags}set propagateTags(value){cdk().traceProperty(this.node,"PropagateTags"),this._propagateTags=value}get resourceRetentionPolicy(){return this._resourceRetentionPolicy}set resourceRetentionPolicy(value){cdk().traceProperty(this.node,"ResourceRetentionPolicy"),this._resourceRetentionPolicy=value}get retryStrategy(){return this._retryStrategy}set retryStrategy(value){cdk().traceProperty(this.node,"RetryStrategy"),this._retryStrategy=value}get schedulingPriority(){return this._schedulingPriority}set schedulingPriority(value){cdk().traceProperty(this.node,"SchedulingPriority"),this._schedulingPriority=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get timeout(){return this._timeout}set timeout(value){cdk().traceProperty(this.node,"Timeout"),this._timeout=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrJobDefinitionArn(){return cdk().Token.asString(this.getAtt("JobDefinitionArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{consumableResourceProperties:this._consumableResourceProperties,containerProperties:this._containerProperties,ecsProperties:this._ecsProperties,eksProperties:this._eksProperties,jobDefinitionName:this._jobDefinitionName,nodeProperties:this._nodeProperties,parameters:this._parameters,platformCapabilities:this._platformCapabilities,propagateTags:this._propagateTags,resourceRetentionPolicy:this._resourceRetentionPolicy,retryStrategy:this._retryStrategy,schedulingPriority:this._schedulingPriority,tags:this.tags.renderTags(),timeout:this._timeout,type:this._type}}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",CfnJobDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnJobDefinitionPropsToCloudFormation(props)}}exports.CfnJobDefinition=CfnJobDefinition;function CfnJobDefinitionJobTimeoutPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("attemptDurationSeconds",cdk().validateNumber)(properties.attemptDurationSeconds)),errors.wrap('supplied properties not correct for "JobTimeoutProperty"')}function convertCfnJobDefinitionJobTimeoutPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionJobTimeoutPropertyValidator(properties).assertSuccess(),{AttemptDurationSeconds:cdk().numberToCloudFormation(properties.attemptDurationSeconds)}):properties}function CfnJobDefinitionJobTimeoutPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("attemptDurationSeconds","AttemptDurationSeconds",properties.AttemptDurationSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.AttemptDurationSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionTimeoutPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("attemptDurationSeconds",cdk().validateNumber)(properties.attemptDurationSeconds)),errors.wrap('supplied properties not correct for "TimeoutProperty"')}function convertCfnJobDefinitionTimeoutPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionTimeoutPropertyValidator(properties).assertSuccess(),{AttemptDurationSeconds:cdk().numberToCloudFormation(properties.attemptDurationSeconds)}):properties}function CfnJobDefinitionTimeoutPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("attemptDurationSeconds","AttemptDurationSeconds",properties.AttemptDurationSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.AttemptDurationSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionSecretPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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("valueFrom",cdk().requiredValidator)(properties.valueFrom)),errors.collect(cdk().propertyValidator("valueFrom",cdk().validateString)(properties.valueFrom)),errors.wrap('supplied properties not correct for "SecretProperty"')}function convertCfnJobDefinitionSecretPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionSecretPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),ValueFrom:cdk().stringToCloudFormation(properties.valueFrom)}):properties}function CfnJobDefinitionSecretPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("valueFrom","ValueFrom",properties.ValueFrom!=null?cfn_parse().FromCloudFormation.getString(properties.ValueFrom):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionTmpfsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containerPath",cdk().requiredValidator)(properties.containerPath)),errors.collect(cdk().propertyValidator("containerPath",cdk().validateString)(properties.containerPath)),errors.collect(cdk().propertyValidator("mountOptions",cdk().listValidator(cdk().validateString))(properties.mountOptions)),errors.collect(cdk().propertyValidator("size",cdk().requiredValidator)(properties.size)),errors.collect(cdk().propertyValidator("size",cdk().validateNumber)(properties.size)),errors.wrap('supplied properties not correct for "TmpfsProperty"')}function convertCfnJobDefinitionTmpfsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionTmpfsPropertyValidator(properties).assertSuccess(),{ContainerPath:cdk().stringToCloudFormation(properties.containerPath),MountOptions:cdk().listMapper(cdk().stringToCloudFormation)(properties.mountOptions),Size:cdk().numberToCloudFormation(properties.size)}):properties}function CfnJobDefinitionTmpfsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containerPath","ContainerPath",properties.ContainerPath!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerPath):void 0),ret.addPropertyResult("mountOptions","MountOptions",properties.MountOptions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MountOptions):void 0),ret.addPropertyResult("size","Size",properties.Size!=null?cfn_parse().FromCloudFormation.getNumber(properties.Size):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionDevicePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containerPath",cdk().validateString)(properties.containerPath)),errors.collect(cdk().propertyValidator("hostPath",cdk().validateString)(properties.hostPath)),errors.collect(cdk().propertyValidator("permissions",cdk().listValidator(cdk().validateString))(properties.permissions)),errors.wrap('supplied properties not correct for "DeviceProperty"')}function convertCfnJobDefinitionDevicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionDevicePropertyValidator(properties).assertSuccess(),{ContainerPath:cdk().stringToCloudFormation(properties.containerPath),HostPath:cdk().stringToCloudFormation(properties.hostPath),Permissions:cdk().listMapper(cdk().stringToCloudFormation)(properties.permissions)}):properties}function CfnJobDefinitionDevicePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containerPath","ContainerPath",properties.ContainerPath!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerPath):void 0),ret.addPropertyResult("hostPath","HostPath",properties.HostPath!=null?cfn_parse().FromCloudFormation.getString(properties.HostPath):void 0),ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Permissions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionLinuxParametersPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("devices",cdk().listValidator(CfnJobDefinitionDevicePropertyValidator))(properties.devices)),errors.collect(cdk().propertyValidator("initProcessEnabled",cdk().validateBoolean)(properties.initProcessEnabled)),errors.collect(cdk().propertyValidator("maxSwap",cdk().validateNumber)(properties.maxSwap)),errors.collect(cdk().propertyValidator("sharedMemorySize",cdk().validateNumber)(properties.sharedMemorySize)),errors.collect(cdk().propertyValidator("swappiness",cdk().validateNumber)(properties.swappiness)),errors.collect(cdk().propertyValidator("tmpfs",cdk().listValidator(CfnJobDefinitionTmpfsPropertyValidator))(properties.tmpfs)),errors.wrap('supplied properties not correct for "LinuxParametersProperty"')}function convertCfnJobDefinitionLinuxParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionLinuxParametersPropertyValidator(properties).assertSuccess(),{Devices:cdk().listMapper(convertCfnJobDefinitionDevicePropertyToCloudFormation)(properties.devices),InitProcessEnabled:cdk().booleanToCloudFormation(properties.initProcessEnabled),MaxSwap:cdk().numberToCloudFormation(properties.maxSwap),SharedMemorySize:cdk().numberToCloudFormation(properties.sharedMemorySize),Swappiness:cdk().numberToCloudFormation(properties.swappiness),Tmpfs:cdk().listMapper(convertCfnJobDefinitionTmpfsPropertyToCloudFormation)(properties.tmpfs)}):properties}function CfnJobDefinitionLinuxParametersPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("devices","Devices",properties.Devices!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionDevicePropertyFromCloudFormation)(properties.Devices):void 0),ret.addPropertyResult("initProcessEnabled","InitProcessEnabled",properties.InitProcessEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InitProcessEnabled):void 0),ret.addPropertyResult("maxSwap","MaxSwap",properties.MaxSwap!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxSwap):void 0),ret.addPropertyResult("sharedMemorySize","SharedMemorySize",properties.SharedMemorySize!=null?cfn_parse().FromCloudFormation.getNumber(properties.SharedMemorySize):void 0),ret.addPropertyResult("swappiness","Swappiness",properties.Swappiness!=null?cfn_parse().FromCloudFormation.getNumber(properties.Swappiness):void 0),ret.addPropertyResult("tmpfs","Tmpfs",properties.Tmpfs!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionTmpfsPropertyFromCloudFormation)(properties.Tmpfs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionFargatePlatformConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("platformVersion",cdk().validateString)(properties.platformVersion)),errors.wrap('supplied properties not correct for "FargatePlatformConfigurationProperty"')}function convertCfnJobDefinitionFargatePlatformConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionFargatePlatformConfigurationPropertyValidator(properties).assertSuccess(),{PlatformVersion:cdk().stringToCloudFormation(properties.platformVersion)}):properties}function CfnJobDefinitionFargatePlatformConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("platformVersion","PlatformVersion",properties.PlatformVersion!=null?cfn_parse().FromCloudFormation.getString(properties.PlatformVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionResourceRequirementPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "ResourceRequirementProperty"')}function convertCfnJobDefinitionResourceRequirementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionResourceRequirementPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnJobDefinitionResourceRequirementPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionLogConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("logDriver",cdk().requiredValidator)(properties.logDriver)),errors.collect(cdk().propertyValidator("logDriver",cdk().validateString)(properties.logDriver)),errors.collect(cdk().propertyValidator("options",cdk().validateObject)(properties.options)),errors.collect(cdk().propertyValidator("secretOptions",cdk().listValidator(CfnJobDefinitionSecretPropertyValidator))(properties.secretOptions)),errors.wrap('supplied properties not correct for "LogConfigurationProperty"')}function convertCfnJobDefinitionLogConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionLogConfigurationPropertyValidator(properties).assertSuccess(),{LogDriver:cdk().stringToCloudFormation(properties.logDriver),Options:cdk().objectToCloudFormation(properties.options),SecretOptions:cdk().listMapper(convertCfnJobDefinitionSecretPropertyToCloudFormation)(properties.secretOptions)}):properties}function CfnJobDefinitionLogConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("logDriver","LogDriver",properties.LogDriver!=null?cfn_parse().FromCloudFormation.getString(properties.LogDriver):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?cfn_parse().FromCloudFormation.getAny(properties.Options):void 0),ret.addPropertyResult("secretOptions","SecretOptions",properties.SecretOptions!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionSecretPropertyFromCloudFormation)(properties.SecretOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionMountPointsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containerPath",cdk().validateString)(properties.containerPath)),errors.collect(cdk().propertyValidator("readOnly",cdk().validateBoolean)(properties.readOnly)),errors.collect(cdk().propertyValidator("sourceVolume",cdk().validateString)(properties.sourceVolume)),errors.wrap('supplied properties not correct for "MountPointsProperty"')}function convertCfnJobDefinitionMountPointsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionMountPointsPropertyValidator(properties).assertSuccess(),{ContainerPath:cdk().stringToCloudFormation(properties.containerPath),ReadOnly:cdk().booleanToCloudFormation(properties.readOnly),SourceVolume:cdk().stringToCloudFormation(properties.sourceVolume)}):properties}function CfnJobDefinitionMountPointsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containerPath","ContainerPath",properties.ContainerPath!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerPath):void 0),ret.addPropertyResult("readOnly","ReadOnly",properties.ReadOnly!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReadOnly):void 0),ret.addPropertyResult("sourceVolume","SourceVolume",properties.SourceVolume!=null?cfn_parse().FromCloudFormation.getString(properties.SourceVolume):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionRuntimePlatformPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cpuArchitecture",cdk().validateString)(properties.cpuArchitecture)),errors.collect(cdk().propertyValidator("operatingSystemFamily",cdk().validateString)(properties.operatingSystemFamily)),errors.wrap('supplied properties not correct for "RuntimePlatformProperty"')}function convertCfnJobDefinitionRuntimePlatformPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionRuntimePlatformPropertyValidator(properties).assertSuccess(),{CpuArchitecture:cdk().stringToCloudFormation(properties.cpuArchitecture),OperatingSystemFamily:cdk().stringToCloudFormation(properties.operatingSystemFamily)}):properties}function CfnJobDefinitionRuntimePlatformPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cpuArchitecture","CpuArchitecture",properties.CpuArchitecture!=null?cfn_parse().FromCloudFormation.getString(properties.CpuArchitecture):void 0),ret.addPropertyResult("operatingSystemFamily","OperatingSystemFamily",properties.OperatingSystemFamily!=null?cfn_parse().FromCloudFormation.getString(properties.OperatingSystemFamily):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionVolumesHostPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sourcePath",cdk().validateString)(properties.sourcePath)),errors.wrap('supplied properties not correct for "VolumesHostProperty"')}function convertCfnJobDefinitionVolumesHostPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionVolumesHostPropertyValidator(properties).assertSuccess(),{SourcePath:cdk().stringToCloudFormation(properties.sourcePath)}):properties}function CfnJobDefinitionVolumesHostPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sourcePath","SourcePath",properties.SourcePath!=null?cfn_parse().FromCloudFormation.getString(properties.SourcePath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionAuthorizationConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("accessPointId",cdk().validateString)(properties.accessPointId)),errors.collect(cdk().propertyValidator("iam",cdk().validateString)(properties.iam)),errors.wrap('supplied properties not correct for "AuthorizationConfigProperty"')}function convertCfnJobDefinitionAuthorizationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionAuthorizationConfigPropertyValidator(properties).assertSuccess(),{AccessPointId:cdk().stringToCloudFormation(properties.accessPointId),Iam:cdk().stringToCloudFormation(properties.iam)}):properties}function CfnJobDefinitionAuthorizationConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("accessPointId","AccessPointId",properties.AccessPointId!=null?cfn_parse().FromCloudFormation.getString(properties.AccessPointId):void 0),ret.addPropertyResult("iam","Iam",properties.Iam!=null?cfn_parse().FromCloudFormation.getString(properties.Iam):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEfsVolumeConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("authorizationConfig",CfnJobDefinitionAuthorizationConfigPropertyValidator)(properties.authorizationConfig)),errors.collect(cdk().propertyValidator("fileSystemId",cdk().requiredValidator)(properties.fileSystemId)),errors.collect(cdk().propertyValidator("fileSystemId",cdk().validateString)(properties.fileSystemId)),errors.collect(cdk().propertyValidator("rootDirectory",cdk().validateString)(properties.rootDirectory)),errors.collect(cdk().propertyValidator("transitEncryption",cdk().validateString)(properties.transitEncryption)),errors.collect(cdk().propertyValidator("transitEncryptionPort",cdk().validateNumber)(properties.transitEncryptionPort)),errors.wrap('supplied properties not correct for "EfsVolumeConfigurationProperty"')}function convertCfnJobDefinitionEfsVolumeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEfsVolumeConfigurationPropertyValidator(properties).assertSuccess(),{AuthorizationConfig:convertCfnJobDefinitionAuthorizationConfigPropertyToCloudFormation(properties.authorizationConfig),FileSystemId:cdk().stringToCloudFormation(properties.fileSystemId),RootDirectory:cdk().stringToCloudFormation(properties.rootDirectory),TransitEncryption:cdk().stringToCloudFormation(properties.transitEncryption),TransitEncryptionPort:cdk().numberToCloudFormation(properties.transitEncryptionPort)}):properties}function CfnJobDefinitionEfsVolumeConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("authorizationConfig","AuthorizationConfig",properties.AuthorizationConfig!=null?CfnJobDefinitionAuthorizationConfigPropertyFromCloudFormation(properties.AuthorizationConfig):void 0),ret.addPropertyResult("fileSystemId","FileSystemId",properties.FileSystemId!=null?cfn_parse().FromCloudFormation.getString(properties.FileSystemId):void 0),ret.addPropertyResult("rootDirectory","RootDirectory",properties.RootDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.RootDirectory):void 0),ret.addPropertyResult("transitEncryption","TransitEncryption",properties.TransitEncryption!=null?cfn_parse().FromCloudFormation.getString(properties.TransitEncryption):void 0),ret.addPropertyResult("transitEncryptionPort","TransitEncryptionPort",properties.TransitEncryptionPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.TransitEncryptionPort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionS3FilesVolumeConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("accessPointArn",cdk().validateString)(properties.accessPointArn)),errors.collect(cdk().propertyValidator("fileSystemArn",cdk().requiredValidator)(properties.fileSystemArn)),errors.collect(cdk().propertyValidator("fileSystemArn",cdk().validateString)(properties.fileSystemArn)),errors.collect(cdk().propertyValidator("rootDirectory",cdk().validateString)(properties.rootDirectory)),errors.collect(cdk().propertyValidator("transitEncryptionPort",cdk().validateNumber)(properties.transitEncryptionPort)),errors.wrap('supplied properties not correct for "S3FilesVolumeConfigurationProperty"')}function convertCfnJobDefinitionS3FilesVolumeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionS3FilesVolumeConfigurationPropertyValidator(properties).assertSuccess(),{AccessPointArn:cdk().stringToCloudFormation(properties.accessPointArn),FileSystemArn:cdk().stringToCloudFormation(properties.fileSystemArn),RootDirectory:cdk().stringToCloudFormation(properties.rootDirectory),TransitEncryptionPort:cdk().numberToCloudFormation(properties.transitEncryptionPort)}):properties}function CfnJobDefinitionS3FilesVolumeConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("accessPointArn","AccessPointArn",properties.AccessPointArn!=null?cfn_parse().FromCloudFormation.getString(properties.AccessPointArn):void 0),ret.addPropertyResult("fileSystemArn","FileSystemArn",properties.FileSystemArn!=null?cfn_parse().FromCloudFormation.getString(properties.FileSystemArn):void 0),ret.addPropertyResult("rootDirectory","RootDirectory",properties.RootDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.RootDirectory):void 0),ret.addPropertyResult("transitEncryptionPort","TransitEncryptionPort",properties.TransitEncryptionPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.TransitEncryptionPort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionVolumesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("efsVolumeConfiguration",CfnJobDefinitionEfsVolumeConfigurationPropertyValidator)(properties.efsVolumeConfiguration)),errors.collect(cdk().propertyValidator("host",CfnJobDefinitionVolumesHostPropertyValidator)(properties.host)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("s3FilesVolumeConfiguration",CfnJobDefinitionS3FilesVolumeConfigurationPropertyValidator)(properties.s3FilesVolumeConfiguration)),errors.wrap('supplied properties not correct for "VolumesProperty"')}function convertCfnJobDefinitionVolumesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionVolumesPropertyValidator(properties).assertSuccess(),{EfsVolumeConfiguration:convertCfnJobDefinitionEfsVolumeConfigurationPropertyToCloudFormation(properties.efsVolumeConfiguration),Host:convertCfnJobDefinitionVolumesHostPropertyToCloudFormation(properties.host),Name:cdk().stringToCloudFormation(properties.name),S3FilesVolumeConfiguration:convertCfnJobDefinitionS3FilesVolumeConfigurationPropertyToCloudFormation(properties.s3FilesVolumeConfiguration)}):properties}function CfnJobDefinitionVolumesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("efsVolumeConfiguration","EfsVolumeConfiguration",properties.EfsVolumeConfiguration!=null?CfnJobDefinitionEfsVolumeConfigurationPropertyFromCloudFormation(properties.EfsVolumeConfiguration):void 0),ret.addPropertyResult("host","Host",properties.Host!=null?CfnJobDefinitionVolumesHostPropertyFromCloudFormation(properties.Host):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("s3FilesVolumeConfiguration","S3FilesVolumeConfiguration",properties.S3FilesVolumeConfiguration!=null?CfnJobDefinitionS3FilesVolumeConfigurationPropertyFromCloudFormation(properties.S3FilesVolumeConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEnvironmentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "EnvironmentProperty"')}function convertCfnJobDefinitionEnvironmentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEnvironmentPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnJobDefinitionEnvironmentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionUlimitPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("hardLimit",cdk().requiredValidator)(properties.hardLimit)),errors.collect(cdk().propertyValidator("hardLimit",cdk().validateNumber)(properties.hardLimit)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("softLimit",cdk().requiredValidator)(properties.softLimit)),errors.collect(cdk().propertyValidator("softLimit",cdk().validateNumber)(properties.softLimit)),errors.wrap('supplied properties not correct for "UlimitProperty"')}function convertCfnJobDefinitionUlimitPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionUlimitPropertyValidator(properties).assertSuccess(),{HardLimit:cdk().numberToCloudFormation(properties.hardLimit),Name:cdk().stringToCloudFormation(properties.name),SoftLimit:cdk().numberToCloudFormation(properties.softLimit)}):properties}function CfnJobDefinitionUlimitPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("hardLimit","HardLimit",properties.HardLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.HardLimit):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("softLimit","SoftLimit",properties.SoftLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.SoftLimit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionNetworkConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("assignPublicIp",cdk().validateString)(properties.assignPublicIp)),errors.wrap('supplied properties not correct for "NetworkConfigurationProperty"')}function convertCfnJobDefinitionNetworkConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionNetworkConfigurationPropertyValidator(properties).assertSuccess(),{AssignPublicIp:cdk().stringToCloudFormation(properties.assignPublicIp)}):properties}function CfnJobDefinitionNetworkConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("assignPublicIp","AssignPublicIp",properties.AssignPublicIp!=null?cfn_parse().FromCloudFormation.getString(properties.AssignPublicIp):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEphemeralStoragePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("sizeInGiB",cdk().requiredValidator)(properties.sizeInGiB)),errors.collect(cdk().propertyValidator("sizeInGiB",cdk().validateNumber)(properties.sizeInGiB)),errors.wrap('supplied properties not correct for "EphemeralStorageProperty"')}function convertCfnJobDefinitionEphemeralStoragePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEphemeralStoragePropertyValidator(properties).assertSuccess(),{SizeInGiB:cdk().numberToCloudFormation(properties.sizeInGiB)}):properties}function CfnJobDefinitionEphemeralStoragePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("sizeInGiB","SizeInGiB",properties.SizeInGiB!=null?cfn_parse().FromCloudFormation.getNumber(properties.SizeInGiB):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionRepositoryCredentialsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("credentialsParameter",cdk().requiredValidator)(properties.credentialsParameter)),errors.collect(cdk().propertyValidator("credentialsParameter",cdk().validateString)(properties.credentialsParameter)),errors.wrap('supplied properties not correct for "RepositoryCredentialsProperty"')}function convertCfnJobDefinitionRepositoryCredentialsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionRepositoryCredentialsPropertyValidator(properties).assertSuccess(),{CredentialsParameter:cdk().stringToCloudFormation(properties.credentialsParameter)}):properties}function CfnJobDefinitionRepositoryCredentialsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("credentialsParameter","CredentialsParameter",properties.CredentialsParameter!=null?cfn_parse().FromCloudFormation.getString(properties.CredentialsParameter):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionContainerPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("command",cdk().listValidator(cdk().validateString))(properties.command)),errors.collect(cdk().propertyValidator("enableExecuteCommand",cdk().validateBoolean)(properties.enableExecuteCommand)),errors.collect(cdk().propertyValidator("environment",cdk().listValidator(CfnJobDefinitionEnvironmentPropertyValidator))(properties.environment)),errors.collect(cdk().propertyValidator("ephemeralStorage",CfnJobDefinitionEphemeralStoragePropertyValidator)(properties.ephemeralStorage)),errors.collect(cdk().propertyValidator("executionRoleArn",cdk().validateString)(properties.executionRoleArn)),errors.collect(cdk().propertyValidator("fargatePlatformConfiguration",CfnJobDefinitionFargatePlatformConfigurationPropertyValidator)(properties.fargatePlatformConfiguration)),errors.collect(cdk().propertyValidator("image",cdk().requiredValidator)(properties.image)),errors.collect(cdk().propertyValidator("image",cdk().validateString)(properties.image)),errors.collect(cdk().propertyValidator("instanceType",cdk().validateString)(properties.instanceType)),errors.collect(cdk().propertyValidator("jobRoleArn",cdk().validateString)(properties.jobRoleArn)),errors.collect(cdk().propertyValidator("linuxParameters",CfnJobDefinitionLinuxParametersPropertyValidator)(properties.linuxParameters)),errors.collect(cdk().propertyValidator("logConfiguration",CfnJobDefinitionLogConfigurationPropertyValidator)(properties.logConfiguration)),errors.collect(cdk().propertyValidator("memory",cdk().validateNumber)(properties.memory)),errors.collect(cdk().propertyValidator("mountPoints",cdk().listValidator(CfnJobDefinitionMountPointsPropertyValidator))(properties.mountPoints)),errors.collect(cdk().propertyValidator("networkConfiguration",CfnJobDefinitionNetworkConfigurationPropertyValidator)(properties.networkConfiguration)),errors.collect(cdk().propertyValidator("privileged",cdk().validateBoolean)(properties.privileged)),errors.collect(cdk().propertyValidator("readonlyRootFilesystem",cdk().validateBoolean)(properties.readonlyRootFilesystem)),errors.collect(cdk().propertyValidator("repositoryCredentials",CfnJobDefinitionRepositoryCredentialsPropertyValidator)(properties.repositoryCredentials)),errors.collect(cdk().propertyValidator("resourceRequirements",cdk().listValidator(CfnJobDefinitionResourceRequirementPropertyValidator))(properties.resourceRequirements)),errors.collect(cdk().propertyValidator("runtimePlatform",CfnJobDefinitionRuntimePlatformPropertyValidator)(properties.runtimePlatform)),errors.collect(cdk().propertyValidator("secrets",cdk().listValidator(CfnJobDefinitionSecretPropertyValidator))(properties.secrets)),errors.collect(cdk().propertyValidator("ulimits",cdk().listValidator(CfnJobDefinitionUlimitPropertyValidator))(properties.ulimits)),errors.collect(cdk().propertyValidator("user",cdk().validateString)(properties.user)),errors.collect(cdk().propertyValidator("vcpus",cdk().validateNumber)(properties.vcpus)),errors.collect(cdk().propertyValidator("volumes",cdk().listValidator(CfnJobDefinitionVolumesPropertyValidator))(properties.volumes)),errors.wrap('supplied properties not correct for "ContainerPropertiesProperty"')}function convertCfnJobDefinitionContainerPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionContainerPropertiesPropertyValidator(properties).assertSuccess(),{Command:cdk().listMapper(cdk().stringToCloudFormation)(properties.command),EnableExecuteCommand:cdk().booleanToCloudFormation(properties.enableExecuteCommand),Environment:cdk().listMapper(convertCfnJobDefinitionEnvironmentPropertyToCloudFormation)(properties.environment),EphemeralStorage:convertCfnJobDefinitionEphemeralStoragePropertyToCloudFormation(properties.ephemeralStorage),ExecutionRoleArn:cdk().stringToCloudFormation(properties.executionRoleArn),FargatePlatformConfiguration:convertCfnJobDefinitionFargatePlatformConfigurationPropertyToCloudFormation(properties.fargatePlatformConfiguration),Image:cdk().stringToCloudFormation(properties.image),InstanceType:cdk().stringToCloudFormation(properties.instanceType),JobRoleArn:cdk().stringToCloudFormation(properties.jobRoleArn),LinuxParameters:convertCfnJobDefinitionLinuxParametersPropertyToCloudFormation(properties.linuxParameters),LogConfiguration:convertCfnJobDefinitionLogConfigurationPropertyToCloudFormation(properties.logConfiguration),Memory:cdk().numberToCloudFormation(properties.memory),MountPoints:cdk().listMapper(convertCfnJobDefinitionMountPointsPropertyToCloudFormation)(properties.mountPoints),NetworkConfiguration:convertCfnJobDefinitionNetworkConfigurationPropertyToCloudFormation(properties.networkConfiguration),Privileged:cdk().booleanToCloudFormation(properties.privileged),ReadonlyRootFilesystem:cdk().booleanToCloudFormation(properties.readonlyRootFilesystem),RepositoryCredentials:convertCfnJobDefinitionRepositoryCredentialsPropertyToCloudFormation(properties.repositoryCredentials),ResourceRequirements:cdk().listMapper(convertCfnJobDefinitionResourceRequirementPropertyToCloudFormation)(properties.resourceRequirements),RuntimePlatform:convertCfnJobDefinitionRuntimePlatformPropertyToCloudFormation(properties.runtimePlatform),Secrets:cdk().listMapper(convertCfnJobDefinitionSecretPropertyToCloudFormation)(properties.secrets),Ulimits:cdk().listMapper(convertCfnJobDefinitionUlimitPropertyToCloudFormation)(properties.ulimits),User:cdk().stringToCloudFormation(properties.user),Vcpus:cdk().numberToCloudFormation(properties.vcpus),Volumes:cdk().listMapper(convertCfnJobDefinitionVolumesPropertyToCloudFormation)(properties.volumes)}):properties}function CfnJobDefinitionContainerPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("command","Command",properties.Command!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Command):void 0),ret.addPropertyResult("enableExecuteCommand","EnableExecuteCommand",properties.EnableExecuteCommand!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableExecuteCommand):void 0),ret.addPropertyResult("environment","Environment",properties.Environment!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionEnvironmentPropertyFromCloudFormation)(properties.Environment):void 0),ret.addPropertyResult("ephemeralStorage","EphemeralStorage",properties.EphemeralStorage!=null?CfnJobDefinitionEphemeralStoragePropertyFromCloudFormation(properties.EphemeralStorage):void 0),ret.addPropertyResult("executionRoleArn","ExecutionRoleArn",properties.ExecutionRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutionRoleArn):void 0),ret.addPropertyResult("fargatePlatformConfiguration","FargatePlatformConfiguration",properties.FargatePlatformConfiguration!=null?CfnJobDefinitionFargatePlatformConfigurationPropertyFromCloudFormation(properties.FargatePlatformConfiguration):void 0),ret.addPropertyResult("image","Image",properties.Image!=null?cfn_parse().FromCloudFormation.getString(properties.Image):void 0),ret.addPropertyResult("instanceType","InstanceType",properties.InstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceType):void 0),ret.addPropertyResult("jobRoleArn","JobRoleArn",properties.JobRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.JobRoleArn):void 0),ret.addPropertyResult("linuxParameters","LinuxParameters",properties.LinuxParameters!=null?CfnJobDefinitionLinuxParametersPropertyFromCloudFormation(properties.LinuxParameters):void 0),ret.addPropertyResult("logConfiguration","LogConfiguration",properties.LogConfiguration!=null?CfnJobDefinitionLogConfigurationPropertyFromCloudFormation(properties.LogConfiguration):void 0),ret.addPropertyResult("memory","Memory",properties.Memory!=null?cfn_parse().FromCloudFormation.getNumber(properties.Memory):void 0),ret.addPropertyResult("mountPoints","MountPoints",properties.MountPoints!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionMountPointsPropertyFromCloudFormation)(properties.MountPoints):void 0),ret.addPropertyResult("networkConfiguration","NetworkConfiguration",properties.NetworkConfiguration!=null?CfnJobDefinitionNetworkConfigurationPropertyFromCloudFormation(properties.NetworkConfiguration):void 0),ret.addPropertyResult("privileged","Privileged",properties.Privileged!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Privileged):void 0),ret.addPropertyResult("readonlyRootFilesystem","ReadonlyRootFilesystem",properties.ReadonlyRootFilesystem!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReadonlyRootFilesystem):void 0),ret.addPropertyResult("repositoryCredentials","RepositoryCredentials",properties.RepositoryCredentials!=null?CfnJobDefinitionRepositoryCredentialsPropertyFromCloudFormation(properties.RepositoryCredentials):void 0),ret.addPropertyResult("resourceRequirements","ResourceRequirements",properties.ResourceRequirements!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionResourceRequirementPropertyFromCloudFormation)(properties.ResourceRequirements):void 0),ret.addPropertyResult("runtimePlatform","RuntimePlatform",properties.RuntimePlatform!=null?CfnJobDefinitionRuntimePlatformPropertyFromCloudFormation(properties.RuntimePlatform):void 0),ret.addPropertyResult("secrets","Secrets",properties.Secrets!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionSecretPropertyFromCloudFormation)(properties.Secrets):void 0),ret.addPropertyResult("ulimits","Ulimits",properties.Ulimits!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionUlimitPropertyFromCloudFormation)(properties.Ulimits):void 0),ret.addPropertyResult("user","User",properties.User!=null?cfn_parse().FromCloudFormation.getString(properties.User):void 0),ret.addPropertyResult("vcpus","Vcpus",properties.Vcpus!=null?cfn_parse().FromCloudFormation.getNumber(properties.Vcpus):void 0),ret.addPropertyResult("volumes","Volumes",properties.Volumes!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionVolumesPropertyFromCloudFormation)(properties.Volumes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEvaluateOnExitPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("onExitCode",cdk().validateString)(properties.onExitCode)),errors.collect(cdk().propertyValidator("onReason",cdk().validateString)(properties.onReason)),errors.collect(cdk().propertyValidator("onStatusReason",cdk().validateString)(properties.onStatusReason)),errors.wrap('supplied properties not correct for "EvaluateOnExitProperty"')}function convertCfnJobDefinitionEvaluateOnExitPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEvaluateOnExitPropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),OnExitCode:cdk().stringToCloudFormation(properties.onExitCode),OnReason:cdk().stringToCloudFormation(properties.onReason),OnStatusReason:cdk().stringToCloudFormation(properties.onStatusReason)}):properties}function CfnJobDefinitionEvaluateOnExitPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("onExitCode","OnExitCode",properties.OnExitCode!=null?cfn_parse().FromCloudFormation.getString(properties.OnExitCode):void 0),ret.addPropertyResult("onReason","OnReason",properties.OnReason!=null?cfn_parse().FromCloudFormation.getString(properties.OnReason):void 0),ret.addPropertyResult("onStatusReason","OnStatusReason",properties.OnStatusReason!=null?cfn_parse().FromCloudFormation.getString(properties.OnStatusReason):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionRetryStrategyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("attempts",cdk().validateNumber)(properties.attempts)),errors.collect(cdk().propertyValidator("evaluateOnExit",cdk().listValidator(CfnJobDefinitionEvaluateOnExitPropertyValidator))(properties.evaluateOnExit)),errors.wrap('supplied properties not correct for "RetryStrategyProperty"')}function convertCfnJobDefinitionRetryStrategyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionRetryStrategyPropertyValidator(properties).assertSuccess(),{Attempts:cdk().numberToCloudFormation(properties.attempts),EvaluateOnExit:cdk().listMapper(convertCfnJobDefinitionEvaluateOnExitPropertyToCloudFormation)(properties.evaluateOnExit)}):properties}function CfnJobDefinitionRetryStrategyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("attempts","Attempts",properties.Attempts!=null?cfn_parse().FromCloudFormation.getNumber(properties.Attempts):void 0),ret.addPropertyResult("evaluateOnExit","EvaluateOnExit",properties.EvaluateOnExit!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionEvaluateOnExitPropertyFromCloudFormation)(properties.EvaluateOnExit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEksSecretPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("optional",cdk().validateBoolean)(properties.optional)),errors.collect(cdk().propertyValidator("secretName",cdk().requiredValidator)(properties.secretName)),errors.collect(cdk().propertyValidator("secretName",cdk().validateString)(properties.secretName)),errors.wrap('supplied properties not correct for "EksSecretProperty"')}function convertCfnJobDefinitionEksSecretPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEksSecretPropertyValidator(properties).assertSuccess(),{Optional:cdk().booleanToCloudFormation(properties.optional),SecretName:cdk().stringToCloudFormation(properties.secretName)}):properties}function CfnJobDefinitionEksSecretPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("optional","Optional",properties.Optional!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Optional):void 0),ret.addPropertyResult("secretName","SecretName",properties.SecretName!=null?cfn_parse().FromCloudFormation.getString(properties.SecretName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEmptyDirPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("medium",cdk().validateString)(properties.medium)),errors.collect(cdk().propertyValidator("sizeLimit",cdk().validateString)(properties.sizeLimit)),errors.wrap('supplied properties not correct for "EmptyDirProperty"')}function convertCfnJobDefinitionEmptyDirPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEmptyDirPropertyValidator(properties).assertSuccess(),{Medium:cdk().stringToCloudFormation(properties.medium),SizeLimit:cdk().stringToCloudFormation(properties.sizeLimit)}):properties}function CfnJobDefinitionEmptyDirPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("medium","Medium",properties.Medium!=null?cfn_parse().FromCloudFormation.getString(properties.Medium):void 0),ret.addPropertyResult("sizeLimit","SizeLimit",properties.SizeLimit!=null?cfn_parse().FromCloudFormation.getString(properties.SizeLimit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionHostPathPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.wrap('supplied properties not correct for "HostPathProperty"')}function convertCfnJobDefinitionHostPathPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionHostPathPropertyValidator(properties).assertSuccess(),{Path:cdk().stringToCloudFormation(properties.path)}):properties}function CfnJobDefinitionHostPathPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEksPersistentVolumeClaimPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("claimName",cdk().requiredValidator)(properties.claimName)),errors.collect(cdk().propertyValidator("claimName",cdk().validateString)(properties.claimName)),errors.collect(cdk().propertyValidator("readOnly",cdk().validateBoolean)(properties.readOnly)),errors.wrap('supplied properties not correct for "EksPersistentVolumeClaimProperty"')}function convertCfnJobDefinitionEksPersistentVolumeClaimPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEksPersistentVolumeClaimPropertyValidator(properties).assertSuccess(),{ClaimName:cdk().stringToCloudFormation(properties.claimName),ReadOnly:cdk().booleanToCloudFormation(properties.readOnly)}):properties}function CfnJobDefinitionEksPersistentVolumeClaimPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("claimName","ClaimName",properties.ClaimName!=null?cfn_parse().FromCloudFormation.getString(properties.ClaimName):void 0),ret.addPropertyResult("readOnly","ReadOnly",properties.ReadOnly!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReadOnly):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEksVolumePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("emptyDir",CfnJobDefinitionEmptyDirPropertyValidator)(properties.emptyDir)),errors.collect(cdk().propertyValidator("hostPath",CfnJobDefinitionHostPathPropertyValidator)(properties.hostPath)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("persistentVolumeClaim",CfnJobDefinitionEksPersistentVolumeClaimPropertyValidator)(properties.persistentVolumeClaim)),errors.collect(cdk().propertyValidator("secret",CfnJobDefinitionEksSecretPropertyValidator)(properties.secret)),errors.wrap('supplied properties not correct for "EksVolumeProperty"')}function convertCfnJobDefinitionEksVolumePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEksVolumePropertyValidator(properties).assertSuccess(),{EmptyDir:convertCfnJobDefinitionEmptyDirPropertyToCloudFormation(properties.emptyDir),HostPath:convertCfnJobDefinitionHostPathPropertyToCloudFormation(properties.hostPath),Name:cdk().stringToCloudFormation(properties.name),PersistentVolumeClaim:convertCfnJobDefinitionEksPersistentVolumeClaimPropertyToCloudFormation(properties.persistentVolumeClaim),Secret:convertCfnJobDefinitionEksSecretPropertyToCloudFormation(properties.secret)}):properties}function CfnJobDefinitionEksVolumePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("emptyDir","EmptyDir",properties.EmptyDir!=null?CfnJobDefinitionEmptyDirPropertyFromCloudFormation(properties.EmptyDir):void 0),ret.addPropertyResult("hostPath","HostPath",properties.HostPath!=null?CfnJobDefinitionHostPathPropertyFromCloudFormation(properties.HostPath):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("persistentVolumeClaim","PersistentVolumeClaim",properties.PersistentVolumeClaim!=null?CfnJobDefinitionEksPersistentVolumeClaimPropertyFromCloudFormation(properties.PersistentVolumeClaim):void 0),ret.addPropertyResult("secret","Secret",properties.Secret!=null?CfnJobDefinitionEksSecretPropertyFromCloudFormation(properties.Secret):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEksContainerVolumeMountPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("mountPath",cdk().validateString)(properties.mountPath)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("readOnly",cdk().validateBoolean)(properties.readOnly)),errors.collect(cdk().propertyValidator("subPath",cdk().validateString)(properties.subPath)),errors.wrap('supplied properties not correct for "EksContainerVolumeMountProperty"')}function convertCfnJobDefinitionEksContainerVolumeMountPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEksContainerVolumeMountPropertyValidator(properties).assertSuccess(),{MountPath:cdk().stringToCloudFormation(properties.mountPath),Name:cdk().stringToCloudFormation(properties.name),ReadOnly:cdk().booleanToCloudFormation(properties.readOnly),SubPath:cdk().stringToCloudFormation(properties.subPath)}):properties}function CfnJobDefinitionEksContainerVolumeMountPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("mountPath","MountPath",properties.MountPath!=null?cfn_parse().FromCloudFormation.getString(properties.MountPath):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("readOnly","ReadOnly",properties.ReadOnly!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReadOnly):void 0),ret.addPropertyResult("subPath","SubPath",properties.SubPath!=null?cfn_parse().FromCloudFormation.getString(properties.SubPath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionSecurityContextPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowPrivilegeEscalation",cdk().validateBoolean)(properties.allowPrivilegeEscalation)),errors.collect(cdk().propertyValidator("privileged",cdk().validateBoolean)(properties.privileged)),errors.collect(cdk().propertyValidator("readOnlyRootFilesystem",cdk().validateBoolean)(properties.readOnlyRootFilesystem)),errors.collect(cdk().propertyValidator("runAsGroup",cdk().validateNumber)(properties.runAsGroup)),errors.collect(cdk().propertyValidator("runAsNonRoot",cdk().validateBoolean)(properties.runAsNonRoot)),errors.collect(cdk().propertyValidator("runAsUser",cdk().validateNumber)(properties.runAsUser)),errors.wrap('supplied properties not correct for "SecurityContextProperty"')}function convertCfnJobDefinitionSecurityContextPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionSecurityContextPropertyValidator(properties).assertSuccess(),{AllowPrivilegeEscalation:cdk().booleanToCloudFormation(properties.allowPrivilegeEscalation),Privileged:cdk().booleanToCloudFormation(properties.privileged),ReadOnlyRootFilesystem:cdk().booleanToCloudFormation(properties.readOnlyRootFilesystem),RunAsGroup:cdk().numberToCloudFormation(properties.runAsGroup),RunAsNonRoot:cdk().booleanToCloudFormation(properties.runAsNonRoot),RunAsUser:cdk().numberToCloudFormation(properties.runAsUser)}):properties}function CfnJobDefinitionSecurityContextPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowPrivilegeEscalation","AllowPrivilegeEscalation",properties.AllowPrivilegeEscalation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AllowPrivilegeEscalation):void 0),ret.addPropertyResult("privileged","Privileged",properties.Privileged!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Privileged):void 0),ret.addPropertyResult("readOnlyRootFilesystem","ReadOnlyRootFilesystem",properties.ReadOnlyRootFilesystem!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReadOnlyRootFilesystem):void 0),ret.addPropertyResult("runAsGroup","RunAsGroup",properties.RunAsGroup!=null?cfn_parse().FromCloudFormation.getNumber(properties.RunAsGroup):void 0),ret.addPropertyResult("runAsNonRoot","RunAsNonRoot",properties.RunAsNonRoot!=null?cfn_parse().FromCloudFormation.getBoolean(properties.RunAsNonRoot):void 0),ret.addPropertyResult("runAsUser","RunAsUser",properties.RunAsUser!=null?cfn_parse().FromCloudFormation.getNumber(properties.RunAsUser):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionResourcesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("limits",cdk().validateObject)(properties.limits)),errors.collect(cdk().propertyValidator("requests",cdk().validateObject)(properties.requests)),errors.wrap('supplied properties not correct for "ResourcesProperty"')}function convertCfnJobDefinitionResourcesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionResourcesPropertyValidator(properties).assertSuccess(),{Limits:cdk().objectToCloudFormation(properties.limits),Requests:cdk().objectToCloudFormation(properties.requests)}):properties}function CfnJobDefinitionResourcesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("limits","Limits",properties.Limits!=null?cfn_parse().FromCloudFormation.getAny(properties.Limits):void 0),ret.addPropertyResult("requests","Requests",properties.Requests!=null?cfn_parse().FromCloudFormation.getAny(properties.Requests):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEksContainerEnvironmentVariablePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "EksContainerEnvironmentVariableProperty"')}function convertCfnJobDefinitionEksContainerEnvironmentVariablePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEksContainerEnvironmentVariablePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnJobDefinitionEksContainerEnvironmentVariablePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEksContainerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||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("command",cdk().listValidator(cdk().validateString))(properties.command)),errors.collect(cdk().propertyValidator("env",cdk().listValidator(CfnJobDefinitionEksContainerEnvironmentVariablePropertyValidator))(properties.env)),errors.collect(cdk().propertyValidator("image",cdk().requiredValidator)(properties.image)),errors.collect(cdk().propertyValidator("image",cdk().validateString)(properties.image)),errors.collect(cdk().propertyValidator("imagePullPolicy",cdk().validateString)(properties.imagePullPolicy)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("resources",CfnJobDefinitionResourcesPropertyValidator)(properties.resources)),errors.collect(cdk().propertyValidator("securityContext",CfnJobDefinitionSecurityContextPropertyValidator)(properties.securityContext)),errors.collect(cdk().propertyValidator("volumeMounts",cdk().listValidator(CfnJobDefinitionEksContainerVolumeMountPropertyValidator))(properties.volumeMounts)),errors.wrap('supplied properties not correct for "EksContainerProperty"')}function convertCfnJobDefinitionEksContainerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEksContainerPropertyValidator(properties).assertSuccess(),{Args:cdk().listMapper(cdk().stringToCloudFormation)(properties.args),Command:cdk().listMapper(cdk().stringToCloudFormation)(properties.command),Env:cdk().listMapper(convertCfnJobDefinitionEksContainerEnvironmentVariablePropertyToCloudFormation)(properties.env),Image:cdk().stringToCloudFormation(properties.image),ImagePullPolicy:cdk().stringToCloudFormation(properties.imagePullPolicy),Name:cdk().stringToCloudFormation(properties.name),Resources:convertCfnJobDefinitionResourcesPropertyToCloudFormation(properties.resources),SecurityContext:convertCfnJobDefinitionSecurityContextPropertyToCloudFormation(properties.securityContext),VolumeMounts:cdk().listMapper(convertCfnJobDefinitionEksContainerVolumeMountPropertyToCloudFormation)(properties.volumeMounts)}):properties}function CfnJobDefinitionEksContainerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("args","Args",properties.Args!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Args):void 0),ret.addPropertyResult("command","Command",properties.Command!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Command):void 0),ret.addPropertyResult("env","Env",properties.Env!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionEksContainerEnvironmentVariablePropertyFromCloudFormation)(properties.Env):void 0),ret.addPropertyResult("image","Image",properties.Image!=null?cfn_parse().FromCloudFormation.getString(properties.Image):void 0),ret.addPropertyResult("imagePullPolicy","ImagePullPolicy",properties.ImagePullPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.ImagePullPolicy):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("resources","Resources",properties.Resources!=null?CfnJobDefinitionResourcesPropertyFromCloudFormation(properties.Resources):void 0),ret.addPropertyResult("securityContext","SecurityContext",properties.SecurityContext!=null?CfnJobDefinitionSecurityContextPropertyFromCloudFormation(properties.SecurityContext):void 0),ret.addPropertyResult("volumeMounts","VolumeMounts",properties.VolumeMounts!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionEksContainerVolumeMountPropertyFromCloudFormation)(properties.VolumeMounts):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionMetadataPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("labels",cdk().validateObject)(properties.labels)),errors.wrap('supplied properties not correct for "MetadataProperty"')}function convertCfnJobDefinitionMetadataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionMetadataPropertyValidator(properties).assertSuccess(),{Labels:cdk().objectToCloudFormation(properties.labels)}):properties}function CfnJobDefinitionMetadataPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("labels","Labels",properties.Labels!=null?cfn_parse().FromCloudFormation.getAny(properties.Labels):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionImagePullSecretPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "ImagePullSecretProperty"')}function convertCfnJobDefinitionImagePullSecretPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionImagePullSecretPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnJobDefinitionImagePullSecretPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionPodPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containers",cdk().listValidator(CfnJobDefinitionEksContainerPropertyValidator))(properties.containers)),errors.collect(cdk().propertyValidator("dnsPolicy",cdk().validateString)(properties.dnsPolicy)),errors.collect(cdk().propertyValidator("hostNetwork",cdk().validateBoolean)(properties.hostNetwork)),errors.collect(cdk().propertyValidator("imagePullSecrets",cdk().listValidator(CfnJobDefinitionImagePullSecretPropertyValidator))(properties.imagePullSecrets)),errors.collect(cdk().propertyValidator("initContainers",cdk().listValidator(CfnJobDefinitionEksContainerPropertyValidator))(properties.initContainers)),errors.collect(cdk().propertyValidator("metadata",CfnJobDefinitionMetadataPropertyValidator)(properties.metadata)),errors.collect(cdk().propertyValidator("serviceAccountName",cdk().validateString)(properties.serviceAccountName)),errors.collect(cdk().propertyValidator("shareProcessNamespace",cdk().validateBoolean)(properties.shareProcessNamespace)),errors.collect(cdk().propertyValidator("volumes",cdk().listValidator(CfnJobDefinitionEksVolumePropertyValidator))(properties.volumes)),errors.wrap('supplied properties not correct for "PodPropertiesProperty"')}function convertCfnJobDefinitionPodPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionPodPropertiesPropertyValidator(properties).assertSuccess(),{Containers:cdk().listMapper(convertCfnJobDefinitionEksContainerPropertyToCloudFormation)(properties.containers),DnsPolicy:cdk().stringToCloudFormation(properties.dnsPolicy),HostNetwork:cdk().booleanToCloudFormation(properties.hostNetwork),ImagePullSecrets:cdk().listMapper(convertCfnJobDefinitionImagePullSecretPropertyToCloudFormation)(properties.imagePullSecrets),InitContainers:cdk().listMapper(convertCfnJobDefinitionEksContainerPropertyToCloudFormation)(properties.initContainers),Metadata:convertCfnJobDefinitionMetadataPropertyToCloudFormation(properties.metadata),ServiceAccountName:cdk().stringToCloudFormation(properties.serviceAccountName),ShareProcessNamespace:cdk().booleanToCloudFormation(properties.shareProcessNamespace),Volumes:cdk().listMapper(convertCfnJobDefinitionEksVolumePropertyToCloudFormation)(properties.volumes)}):properties}function CfnJobDefinitionPodPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containers","Containers",properties.Containers!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionEksContainerPropertyFromCloudFormation)(properties.Containers):void 0),ret.addPropertyResult("dnsPolicy","DnsPolicy",properties.DnsPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.DnsPolicy):void 0),ret.addPropertyResult("hostNetwork","HostNetwork",properties.HostNetwork!=null?cfn_parse().FromCloudFormation.getBoolean(properties.HostNetwork):void 0),ret.addPropertyResult("imagePullSecrets","ImagePullSecrets",properties.ImagePullSecrets!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionImagePullSecretPropertyFromCloudFormation)(properties.ImagePullSecrets):void 0),ret.addPropertyResult("initContainers","InitContainers",properties.InitContainers!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionEksContainerPropertyFromCloudFormation)(properties.InitContainers):void 0),ret.addPropertyResult("metadata","Metadata",properties.Metadata!=null?CfnJobDefinitionMetadataPropertyFromCloudFormation(properties.Metadata):void 0),ret.addPropertyResult("serviceAccountName","ServiceAccountName",properties.ServiceAccountName!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceAccountName):void 0),ret.addPropertyResult("shareProcessNamespace","ShareProcessNamespace",properties.ShareProcessNamespace!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ShareProcessNamespace):void 0),ret.addPropertyResult("volumes","Volumes",properties.Volumes!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionEksVolumePropertyFromCloudFormation)(properties.Volumes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEksPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("podProperties",CfnJobDefinitionPodPropertiesPropertyValidator)(properties.podProperties)),errors.wrap('supplied properties not correct for "EksPropertiesProperty"')}function convertCfnJobDefinitionEksPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEksPropertiesPropertyValidator(properties).assertSuccess(),{PodProperties:convertCfnJobDefinitionPodPropertiesPropertyToCloudFormation(properties.podProperties)}):properties}function CfnJobDefinitionEksPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("podProperties","PodProperties",properties.PodProperties!=null?CfnJobDefinitionPodPropertiesPropertyFromCloudFormation(properties.PodProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionConsumableResourceRequirementPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("consumableResource",cdk().requiredValidator)(properties.consumableResource)),errors.collect(cdk().propertyValidator("consumableResource",cdk().validateString)(properties.consumableResource)),errors.collect(cdk().propertyValidator("quantity",cdk().requiredValidator)(properties.quantity)),errors.collect(cdk().propertyValidator("quantity",cdk().validateNumber)(properties.quantity)),errors.wrap('supplied properties not correct for "ConsumableResourceRequirementProperty"')}function convertCfnJobDefinitionConsumableResourceRequirementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionConsumableResourceRequirementPropertyValidator(properties).assertSuccess(),{ConsumableResource:cdk().stringToCloudFormation(properties.consumableResource),Quantity:cdk().numberToCloudFormation(properties.quantity)}):properties}function CfnJobDefinitionConsumableResourceRequirementPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("consumableResource","ConsumableResource",properties.ConsumableResource!=null?cfn_parse().FromCloudFormation.getString(properties.ConsumableResource):void 0),ret.addPropertyResult("quantity","Quantity",properties.Quantity!=null?cfn_parse().FromCloudFormation.getNumber(properties.Quantity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionConsumableResourcePropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("consumableResourceList",cdk().requiredValidator)(properties.consumableResourceList)),errors.collect(cdk().propertyValidator("consumableResourceList",cdk().listValidator(CfnJobDefinitionConsumableResourceRequirementPropertyValidator))(properties.consumableResourceList)),errors.wrap('supplied properties not correct for "ConsumableResourcePropertiesProperty"')}function convertCfnJobDefinitionConsumableResourcePropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionConsumableResourcePropertiesPropertyValidator(properties).assertSuccess(),{ConsumableResourceList:cdk().listMapper(convertCfnJobDefinitionConsumableResourceRequirementPropertyToCloudFormation)(properties.consumableResourceList)}):properties}function CfnJobDefinitionConsumableResourcePropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("consumableResourceList","ConsumableResourceList",properties.ConsumableResourceList!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionConsumableResourceRequirementPropertyFromCloudFormation)(properties.ConsumableResourceList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionMountPointPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containerPath",cdk().validateString)(properties.containerPath)),errors.collect(cdk().propertyValidator("readOnly",cdk().validateBoolean)(properties.readOnly)),errors.collect(cdk().propertyValidator("sourceVolume",cdk().validateString)(properties.sourceVolume)),errors.wrap('supplied properties not correct for "MountPointProperty"')}function convertCfnJobDefinitionMountPointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionMountPointPropertyValidator(properties).assertSuccess(),{ContainerPath:cdk().stringToCloudFormation(properties.containerPath),ReadOnly:cdk().booleanToCloudFormation(properties.readOnly),SourceVolume:cdk().stringToCloudFormation(properties.sourceVolume)}):properties}function CfnJobDefinitionMountPointPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containerPath","ContainerPath",properties.ContainerPath!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerPath):void 0),ret.addPropertyResult("readOnly","ReadOnly",properties.ReadOnly!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReadOnly):void 0),ret.addPropertyResult("sourceVolume","SourceVolume",properties.SourceVolume!=null?cfn_parse().FromCloudFormation.getString(properties.SourceVolume):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionFirelensConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("options",cdk().hashValidator(cdk().validateString))(properties.options)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "FirelensConfigurationProperty"')}function convertCfnJobDefinitionFirelensConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionFirelensConfigurationPropertyValidator(properties).assertSuccess(),{Options:cdk().hashMapper(cdk().stringToCloudFormation)(properties.options),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnJobDefinitionFirelensConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("options","Options",properties.Options!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Options):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionTaskContainerDependencyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("condition",cdk().requiredValidator)(properties.condition)),errors.collect(cdk().propertyValidator("condition",cdk().validateString)(properties.condition)),errors.collect(cdk().propertyValidator("containerName",cdk().requiredValidator)(properties.containerName)),errors.collect(cdk().propertyValidator("containerName",cdk().validateString)(properties.containerName)),errors.wrap('supplied properties not correct for "TaskContainerDependencyProperty"')}function convertCfnJobDefinitionTaskContainerDependencyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionTaskContainerDependencyPropertyValidator(properties).assertSuccess(),{Condition:cdk().stringToCloudFormation(properties.condition),ContainerName:cdk().stringToCloudFormation(properties.containerName)}):properties}function CfnJobDefinitionTaskContainerDependencyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("condition","Condition",properties.Condition!=null?cfn_parse().FromCloudFormation.getString(properties.Condition):void 0),ret.addPropertyResult("containerName","ContainerName",properties.ContainerName!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionTaskContainerPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("command",cdk().listValidator(cdk().validateString))(properties.command)),errors.collect(cdk().propertyValidator("dependsOn",cdk().listValidator(CfnJobDefinitionTaskContainerDependencyPropertyValidator))(properties.dependsOn)),errors.collect(cdk().propertyValidator("environment",cdk().listValidator(CfnJobDefinitionEnvironmentPropertyValidator))(properties.environment)),errors.collect(cdk().propertyValidator("essential",cdk().validateBoolean)(properties.essential)),errors.collect(cdk().propertyValidator("firelensConfiguration",CfnJobDefinitionFirelensConfigurationPropertyValidator)(properties.firelensConfiguration)),errors.collect(cdk().propertyValidator("image",cdk().requiredValidator)(properties.image)),errors.collect(cdk().propertyValidator("image",cdk().validateString)(properties.image)),errors.collect(cdk().propertyValidator("linuxParameters",CfnJobDefinitionLinuxParametersPropertyValidator)(properties.linuxParameters)),errors.collect(cdk().propertyValidator("logConfiguration",CfnJobDefinitionLogConfigurationPropertyValidator)(properties.logConfiguration)),errors.collect(cdk().propertyValidator("mountPoints",cdk().listValidator(CfnJobDefinitionMountPointPropertyValidator))(properties.mountPoints)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("privileged",cdk().validateBoolean)(properties.privileged)),errors.collect(cdk().propertyValidator("readonlyRootFilesystem",cdk().validateBoolean)(properties.readonlyRootFilesystem)),errors.collect(cdk().propertyValidator("repositoryCredentials",CfnJobDefinitionRepositoryCredentialsPropertyValidator)(properties.repositoryCredentials)),errors.collect(cdk().propertyValidator("resourceRequirements",cdk().listValidator(CfnJobDefinitionResourceRequirementPropertyValidator))(properties.resourceRequirements)),errors.collect(cdk().propertyValidator("secrets",cdk().listValidator(CfnJobDefinitionSecretPropertyValidator))(properties.secrets)),errors.collect(cdk().propertyValidator("startTimeout",cdk().validateNumber)(properties.startTimeout)),errors.collect(cdk().propertyValidator("stopTimeout",cdk().validateNumber)(properties.stopTimeout)),errors.collect(cdk().propertyValidator("ulimits",cdk().listValidator(CfnJobDefinitionUlimitPropertyValidator))(properties.ulimits)),errors.collect(cdk().propertyValidator("user",cdk().validateString)(properties.user)),errors.wrap('supplied properties not correct for "TaskContainerPropertiesProperty"')}function convertCfnJobDefinitionTaskContainerPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionTaskContainerPropertiesPropertyValidator(properties).assertSuccess(),{Command:cdk().listMapper(cdk().stringToCloudFormation)(properties.command),DependsOn:cdk().listMapper(convertCfnJobDefinitionTaskContainerDependencyPropertyToCloudFormation)(properties.dependsOn),Environment:cdk().listMapper(convertCfnJobDefinitionEnvironmentPropertyToCloudFormation)(properties.environment),Essential:cdk().booleanToCloudFormation(properties.essential),FirelensConfiguration:convertCfnJobDefinitionFirelensConfigurationPropertyToCloudFormation(properties.firelensConfiguration),Image:cdk().stringToCloudFormation(properties.image),LinuxParameters:convertCfnJobDefinitionLinuxParametersPropertyToCloudFormation(properties.linuxParameters),LogConfiguration:convertCfnJobDefinitionLogConfigurationPropertyToCloudFormation(properties.logConfiguration),MountPoints:cdk().listMapper(convertCfnJobDefinitionMountPointPropertyToCloudFormation)(properties.mountPoints),Name:cdk().stringToCloudFormation(properties.name),Privileged:cdk().booleanToCloudFormation(properties.privileged),ReadonlyRootFilesystem:cdk().booleanToCloudFormation(properties.readonlyRootFilesystem),RepositoryCredentials:convertCfnJobDefinitionRepositoryCredentialsPropertyToCloudFormation(properties.repositoryCredentials),ResourceRequirements:cdk().listMapper(convertCfnJobDefinitionResourceRequirementPropertyToCloudFormation)(properties.resourceRequirements),Secrets:cdk().listMapper(convertCfnJobDefinitionSecretPropertyToCloudFormation)(properties.secrets),StartTimeout:cdk().numberToCloudFormation(properties.startTimeout),StopTimeout:cdk().numberToCloudFormation(properties.stopTimeout),Ulimits:cdk().listMapper(convertCfnJobDefinitionUlimitPropertyToCloudFormation)(properties.ulimits),User:cdk().stringToCloudFormation(properties.user)}):properties}function CfnJobDefinitionTaskContainerPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("command","Command",properties.Command!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Command):void 0),ret.addPropertyResult("dependsOn","DependsOn",properties.DependsOn!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionTaskContainerDependencyPropertyFromCloudFormation)(properties.DependsOn):void 0),ret.addPropertyResult("environment","Environment",properties.Environment!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionEnvironmentPropertyFromCloudFormation)(properties.Environment):void 0),ret.addPropertyResult("essential","Essential",properties.Essential!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Essential):void 0),ret.addPropertyResult("firelensConfiguration","FirelensConfiguration",properties.FirelensConfiguration!=null?CfnJobDefinitionFirelensConfigurationPropertyFromCloudFormation(properties.FirelensConfiguration):void 0),ret.addPropertyResult("image","Image",properties.Image!=null?cfn_parse().FromCloudFormation.getString(properties.Image):void 0),ret.addPropertyResult("linuxParameters","LinuxParameters",properties.LinuxParameters!=null?CfnJobDefinitionLinuxParametersPropertyFromCloudFormation(properties.LinuxParameters):void 0),ret.addPropertyResult("logConfiguration","LogConfiguration",properties.LogConfiguration!=null?CfnJobDefinitionLogConfigurationPropertyFromCloudFormation(properties.LogConfiguration):void 0),ret.addPropertyResult("mountPoints","MountPoints",properties.MountPoints!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionMountPointPropertyFromCloudFormation)(properties.MountPoints):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("privileged","Privileged",properties.Privileged!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Privileged):void 0),ret.addPropertyResult("readonlyRootFilesystem","ReadonlyRootFilesystem",properties.ReadonlyRootFilesystem!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReadonlyRootFilesystem):void 0),ret.addPropertyResult("repositoryCredentials","RepositoryCredentials",properties.RepositoryCredentials!=null?CfnJobDefinitionRepositoryCredentialsPropertyFromCloudFormation(properties.RepositoryCredentials):void 0),ret.addPropertyResult("resourceRequirements","ResourceRequirements",properties.ResourceRequirements!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionResourceRequirementPropertyFromCloudFormation)(properties.ResourceRequirements):void 0),ret.addPropertyResult("secrets","Secrets",properties.Secrets!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionSecretPropertyFromCloudFormation)(properties.Secrets):void 0),ret.addPropertyResult("startTimeout","StartTimeout",properties.StartTimeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartTimeout):void 0),ret.addPropertyResult("stopTimeout","StopTimeout",properties.StopTimeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.StopTimeout):void 0),ret.addPropertyResult("ulimits","Ulimits",properties.Ulimits!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionUlimitPropertyFromCloudFormation)(properties.Ulimits):void 0),ret.addPropertyResult("user","User",properties.User!=null?cfn_parse().FromCloudFormation.getString(properties.User):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionMultiNodeEcsTaskPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containers",cdk().listValidator(CfnJobDefinitionTaskContainerPropertiesPropertyValidator))(properties.containers)),errors.collect(cdk().propertyValidator("enableExecuteCommand",cdk().validateBoolean)(properties.enableExecuteCommand)),errors.collect(cdk().propertyValidator("executionRoleArn",cdk().validateString)(properties.executionRoleArn)),errors.collect(cdk().propertyValidator("ipcMode",cdk().validateString)(properties.ipcMode)),errors.collect(cdk().propertyValidator("pidMode",cdk().validateString)(properties.pidMode)),errors.collect(cdk().propertyValidator("taskRoleArn",cdk().validateString)(properties.taskRoleArn)),errors.collect(cdk().propertyValidator("volumes",cdk().listValidator(CfnJobDefinitionVolumesPropertyValidator))(properties.volumes)),errors.wrap('supplied properties not correct for "MultiNodeEcsTaskPropertiesProperty"')}function convertCfnJobDefinitionMultiNodeEcsTaskPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionMultiNodeEcsTaskPropertiesPropertyValidator(properties).assertSuccess(),{Containers:cdk().listMapper(convertCfnJobDefinitionTaskContainerPropertiesPropertyToCloudFormation)(properties.containers),EnableExecuteCommand:cdk().booleanToCloudFormation(properties.enableExecuteCommand),ExecutionRoleArn:cdk().stringToCloudFormation(properties.executionRoleArn),IpcMode:cdk().stringToCloudFormation(properties.ipcMode),PidMode:cdk().stringToCloudFormation(properties.pidMode),TaskRoleArn:cdk().stringToCloudFormation(properties.taskRoleArn),Volumes:cdk().listMapper(convertCfnJobDefinitionVolumesPropertyToCloudFormation)(properties.volumes)}):properties}function CfnJobDefinitionMultiNodeEcsTaskPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containers","Containers",properties.Containers!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionTaskContainerPropertiesPropertyFromCloudFormation)(properties.Containers):void 0),ret.addPropertyResult("enableExecuteCommand","EnableExecuteCommand",properties.EnableExecuteCommand!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableExecuteCommand):void 0),ret.addPropertyResult("executionRoleArn","ExecutionRoleArn",properties.ExecutionRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutionRoleArn):void 0),ret.addPropertyResult("ipcMode","IpcMode",properties.IpcMode!=null?cfn_parse().FromCloudFormation.getString(properties.IpcMode):void 0),ret.addPropertyResult("pidMode","PidMode",properties.PidMode!=null?cfn_parse().FromCloudFormation.getString(properties.PidMode):void 0),ret.addPropertyResult("taskRoleArn","TaskRoleArn",properties.TaskRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.TaskRoleArn):void 0),ret.addPropertyResult("volumes","Volumes",properties.Volumes!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionVolumesPropertyFromCloudFormation)(properties.Volumes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionMultiNodeEcsPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("taskProperties",cdk().requiredValidator)(properties.taskProperties)),errors.collect(cdk().propertyValidator("taskProperties",cdk().listValidator(CfnJobDefinitionMultiNodeEcsTaskPropertiesPropertyValidator))(properties.taskProperties)),errors.wrap('supplied properties not correct for "MultiNodeEcsPropertiesProperty"')}function convertCfnJobDefinitionMultiNodeEcsPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionMultiNodeEcsPropertiesPropertyValidator(properties).assertSuccess(),{TaskProperties:cdk().listMapper(convertCfnJobDefinitionMultiNodeEcsTaskPropertiesPropertyToCloudFormation)(properties.taskProperties)}):properties}function CfnJobDefinitionMultiNodeEcsPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("taskProperties","TaskProperties",properties.TaskProperties!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionMultiNodeEcsTaskPropertiesPropertyFromCloudFormation)(properties.TaskProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionNodeRangePropertyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("consumableResourceProperties",CfnJobDefinitionConsumableResourcePropertiesPropertyValidator)(properties.consumableResourceProperties)),errors.collect(cdk().propertyValidator("container",CfnJobDefinitionContainerPropertiesPropertyValidator)(properties.container)),errors.collect(cdk().propertyValidator("ecsProperties",CfnJobDefinitionMultiNodeEcsPropertiesPropertyValidator)(properties.ecsProperties)),errors.collect(cdk().propertyValidator("eksProperties",CfnJobDefinitionEksPropertiesPropertyValidator)(properties.eksProperties)),errors.collect(cdk().propertyValidator("instanceTypes",cdk().listValidator(cdk().validateString))(properties.instanceTypes)),errors.collect(cdk().propertyValidator("targetNodes",cdk().requiredValidator)(properties.targetNodes)),errors.collect(cdk().propertyValidator("targetNodes",cdk().validateString)(properties.targetNodes)),errors.wrap('supplied properties not correct for "NodeRangePropertyProperty"')}function convertCfnJobDefinitionNodeRangePropertyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionNodeRangePropertyPropertyValidator(properties).assertSuccess(),{ConsumableResourceProperties:convertCfnJobDefinitionConsumableResourcePropertiesPropertyToCloudFormation(properties.consumableResourceProperties),Container:convertCfnJobDefinitionContainerPropertiesPropertyToCloudFormation(properties.container),EcsProperties:convertCfnJobDefinitionMultiNodeEcsPropertiesPropertyToCloudFormation(properties.ecsProperties),EksProperties:convertCfnJobDefinitionEksPropertiesPropertyToCloudFormation(properties.eksProperties),InstanceTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.instanceTypes),TargetNodes:cdk().stringToCloudFormation(properties.targetNodes)}):properties}function CfnJobDefinitionNodeRangePropertyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("consumableResourceProperties","ConsumableResourceProperties",properties.ConsumableResourceProperties!=null?CfnJobDefinitionConsumableResourcePropertiesPropertyFromCloudFormation(properties.ConsumableResourceProperties):void 0),ret.addPropertyResult("container","Container",properties.Container!=null?CfnJobDefinitionContainerPropertiesPropertyFromCloudFormation(properties.Container):void 0),ret.addPropertyResult("ecsProperties","EcsProperties",properties.EcsProperties!=null?CfnJobDefinitionMultiNodeEcsPropertiesPropertyFromCloudFormation(properties.EcsProperties):void 0),ret.addPropertyResult("eksProperties","EksProperties",properties.EksProperties!=null?CfnJobDefinitionEksPropertiesPropertyFromCloudFormation(properties.EksProperties):void 0),ret.addPropertyResult("instanceTypes","InstanceTypes",properties.InstanceTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InstanceTypes):void 0),ret.addPropertyResult("targetNodes","TargetNodes",properties.TargetNodes!=null?cfn_parse().FromCloudFormation.getString(properties.TargetNodes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionNodePropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("mainNode",cdk().requiredValidator)(properties.mainNode)),errors.collect(cdk().propertyValidator("mainNode",cdk().validateNumber)(properties.mainNode)),errors.collect(cdk().propertyValidator("nodeRangeProperties",cdk().requiredValidator)(properties.nodeRangeProperties)),errors.collect(cdk().propertyValidator("nodeRangeProperties",cdk().listValidator(CfnJobDefinitionNodeRangePropertyPropertyValidator))(properties.nodeRangeProperties)),errors.collect(cdk().propertyValidator("numNodes",cdk().requiredValidator)(properties.numNodes)),errors.collect(cdk().propertyValidator("numNodes",cdk().validateNumber)(properties.numNodes)),errors.wrap('supplied properties not correct for "NodePropertiesProperty"')}function convertCfnJobDefinitionNodePropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionNodePropertiesPropertyValidator(properties).assertSuccess(),{MainNode:cdk().numberToCloudFormation(properties.mainNode),NodeRangeProperties:cdk().listMapper(convertCfnJobDefinitionNodeRangePropertyPropertyToCloudFormation)(properties.nodeRangeProperties),NumNodes:cdk().numberToCloudFormation(properties.numNodes)}):properties}function CfnJobDefinitionNodePropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("mainNode","MainNode",properties.MainNode!=null?cfn_parse().FromCloudFormation.getNumber(properties.MainNode):void 0),ret.addPropertyResult("nodeRangeProperties","NodeRangeProperties",properties.NodeRangeProperties!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionNodeRangePropertyPropertyFromCloudFormation)(properties.NodeRangeProperties):void 0),ret.addPropertyResult("numNodes","NumNodes",properties.NumNodes!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumNodes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEcsTaskPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containers",cdk().listValidator(CfnJobDefinitionTaskContainerPropertiesPropertyValidator))(properties.containers)),errors.collect(cdk().propertyValidator("enableExecuteCommand",cdk().validateBoolean)(properties.enableExecuteCommand)),errors.collect(cdk().propertyValidator("ephemeralStorage",CfnJobDefinitionEphemeralStoragePropertyValidator)(properties.ephemeralStorage)),errors.collect(cdk().propertyValidator("executionRoleArn",cdk().validateString)(properties.executionRoleArn)),errors.collect(cdk().propertyValidator("ipcMode",cdk().validateString)(properties.ipcMode)),errors.collect(cdk().propertyValidator("networkConfiguration",CfnJobDefinitionNetworkConfigurationPropertyValidator)(properties.networkConfiguration)),errors.collect(cdk().propertyValidator("pidMode",cdk().validateString)(properties.pidMode)),errors.collect(cdk().propertyValidator("platformVersion",cdk().validateString)(properties.platformVersion)),errors.collect(cdk().propertyValidator("runtimePlatform",CfnJobDefinitionRuntimePlatformPropertyValidator)(properties.runtimePlatform)),errors.collect(cdk().propertyValidator("taskRoleArn",cdk().validateString)(properties.taskRoleArn)),errors.collect(cdk().propertyValidator("volumes",cdk().listValidator(CfnJobDefinitionVolumesPropertyValidator))(properties.volumes)),errors.wrap('supplied properties not correct for "EcsTaskPropertiesProperty"')}function convertCfnJobDefinitionEcsTaskPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEcsTaskPropertiesPropertyValidator(properties).assertSuccess(),{Containers:cdk().listMapper(convertCfnJobDefinitionTaskContainerPropertiesPropertyToCloudFormation)(properties.containers),EnableExecuteCommand:cdk().booleanToCloudFormation(properties.enableExecuteCommand),EphemeralStorage:convertCfnJobDefinitionEphemeralStoragePropertyToCloudFormation(properties.ephemeralStorage),ExecutionRoleArn:cdk().stringToCloudFormation(properties.executionRoleArn),IpcMode:cdk().stringToCloudFormation(properties.ipcMode),NetworkConfiguration:convertCfnJobDefinitionNetworkConfigurationPropertyToCloudFormation(properties.networkConfiguration),PidMode:cdk().stringToCloudFormation(properties.pidMode),PlatformVersion:cdk().stringToCloudFormation(properties.platformVersion),RuntimePlatform:convertCfnJobDefinitionRuntimePlatformPropertyToCloudFormation(properties.runtimePlatform),TaskRoleArn:cdk().stringToCloudFormation(properties.taskRoleArn),Volumes:cdk().listMapper(convertCfnJobDefinitionVolumesPropertyToCloudFormation)(properties.volumes)}):properties}function CfnJobDefinitionEcsTaskPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containers","Containers",properties.Containers!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionTaskContainerPropertiesPropertyFromCloudFormation)(properties.Containers):void 0),ret.addPropertyResult("enableExecuteCommand","EnableExecuteCommand",properties.EnableExecuteCommand!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableExecuteCommand):void 0),ret.addPropertyResult("ephemeralStorage","EphemeralStorage",properties.EphemeralStorage!=null?CfnJobDefinitionEphemeralStoragePropertyFromCloudFormation(properties.EphemeralStorage):void 0),ret.addPropertyResult("executionRoleArn","ExecutionRoleArn",properties.ExecutionRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutionRoleArn):void 0),ret.addPropertyResult("ipcMode","IpcMode",properties.IpcMode!=null?cfn_parse().FromCloudFormation.getString(properties.IpcMode):void 0),ret.addPropertyResult("networkConfiguration","NetworkConfiguration",properties.NetworkConfiguration!=null?CfnJobDefinitionNetworkConfigurationPropertyFromCloudFormation(properties.NetworkConfiguration):void 0),ret.addPropertyResult("pidMode","PidMode",properties.PidMode!=null?cfn_parse().FromCloudFormation.getString(properties.PidMode):void 0),ret.addPropertyResult("platformVersion","PlatformVersion",properties.PlatformVersion!=null?cfn_parse().FromCloudFormation.getString(properties.PlatformVersion):void 0),ret.addPropertyResult("runtimePlatform","RuntimePlatform",properties.RuntimePlatform!=null?CfnJobDefinitionRuntimePlatformPropertyFromCloudFormation(properties.RuntimePlatform):void 0),ret.addPropertyResult("taskRoleArn","TaskRoleArn",properties.TaskRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.TaskRoleArn):void 0),ret.addPropertyResult("volumes","Volumes",properties.Volumes!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionVolumesPropertyFromCloudFormation)(properties.Volumes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionEcsPropertiesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("taskProperties",cdk().requiredValidator)(properties.taskProperties)),errors.collect(cdk().propertyValidator("taskProperties",cdk().listValidator(CfnJobDefinitionEcsTaskPropertiesPropertyValidator))(properties.taskProperties)),errors.wrap('supplied properties not correct for "EcsPropertiesProperty"')}function convertCfnJobDefinitionEcsPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionEcsPropertiesPropertyValidator(properties).assertSuccess(),{TaskProperties:cdk().listMapper(convertCfnJobDefinitionEcsTaskPropertiesPropertyToCloudFormation)(properties.taskProperties)}):properties}function CfnJobDefinitionEcsPropertiesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("taskProperties","TaskProperties",properties.TaskProperties!=null?cfn_parse().FromCloudFormation.getArray(CfnJobDefinitionEcsTaskPropertiesPropertyFromCloudFormation)(properties.TaskProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionResourceRetentionPolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("skipDeregisterOnUpdate",cdk().validateBoolean)(properties.skipDeregisterOnUpdate)),errors.wrap('supplied properties not correct for "ResourceRetentionPolicyProperty"')}function convertCfnJobDefinitionResourceRetentionPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionResourceRetentionPolicyPropertyValidator(properties).assertSuccess(),{SkipDeregisterOnUpdate:cdk().booleanToCloudFormation(properties.skipDeregisterOnUpdate)}):properties}function CfnJobDefinitionResourceRetentionPolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("skipDeregisterOnUpdate","SkipDeregisterOnUpdate",properties.SkipDeregisterOnUpdate!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SkipDeregisterOnUpdate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobDefinitionPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("consumableResourceProperties",CfnJobDefinitionConsumableResourcePropertiesPropertyValidator)(properties.consumableResourceProperties)),errors.collect(cdk().propertyValidator("containerProperties",CfnJobDefinitionContainerPropertiesPropertyValidator)(properties.containerProperties)),errors.collect(cdk().propertyValidator("ecsProperties",CfnJobDefinitionEcsPropertiesPropertyValidator)(properties.ecsProperties)),errors.collect(cdk().propertyValidator("eksProperties",CfnJobDefinitionEksPropertiesPropertyValidator)(properties.eksProperties)),errors.collect(cdk().propertyValidator("jobDefinitionName",cdk().validateString)(properties.jobDefinitionName)),errors.collect(cdk().propertyValidator("nodeProperties",CfnJobDefinitionNodePropertiesPropertyValidator)(properties.nodeProperties)),errors.collect(cdk().propertyValidator("parameters",cdk().validateObject)(properties.parameters)),errors.collect(cdk().propertyValidator("platformCapabilities",cdk().listValidator(cdk().validateString))(properties.platformCapabilities)),errors.collect(cdk().propertyValidator("propagateTags",cdk().validateBoolean)(properties.propagateTags)),errors.collect(cdk().propertyValidator("resourceRetentionPolicy",CfnJobDefinitionResourceRetentionPolicyPropertyValidator)(properties.resourceRetentionPolicy)),errors.collect(cdk().propertyValidator("retryStrategy",CfnJobDefinitionRetryStrategyPropertyValidator)(properties.retryStrategy)),errors.collect(cdk().propertyValidator("schedulingPriority",cdk().validateNumber)(properties.schedulingPriority)),errors.collect(cdk().propertyValidator("tags",cdk().validateObject)(properties.tags)),errors.collect(cdk().propertyValidator("timeout",CfnJobDefinitionTimeoutPropertyValidator)(properties.timeout)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnJobDefinitionProps"')}function convertCfnJobDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobDefinitionPropsValidator(properties).assertSuccess(),{ConsumableResourceProperties:convertCfnJobDefinitionConsumableResourcePropertiesPropertyToCloudFormation(properties.consumableResourceProperties),ContainerProperties:convertCfnJobDefinitionContainerPropertiesPropertyToCloudFormation(properties.containerProperties),EcsProperties:convertCfnJobDefinitionEcsPropertiesPropertyToCloudFormation(properties.ecsProperties),EksProperties:convertCfnJobDefinitionEksPropertiesPropertyToCloudFormation(properties.eksProperties),JobDefinitionName:cdk().stringToCloudFormation(properties.jobDefinitionName),NodeProperties:convertCfnJobDefinitionNodePropertiesPropertyToCloudFormation(properties.nodeProperties),Parameters:cdk().objectToCloudFormation(properties.parameters),PlatformCapabilities:cdk().listMapper(cdk().stringToCloudFormation)(properties.platformCapabilities),PropagateTags:cdk().booleanToCloudFormation(properties.propagateTags),ResourceRetentionPolicy:convertCfnJobDefinitionResourceRetentionPolicyPropertyToCloudFormation(properties.resourceRetentionPolicy),RetryStrategy:convertCfnJobDefinitionRetryStrategyPropertyToCloudFormation(properties.retryStrategy),SchedulingPriority:cdk().numberToCloudFormation(properties.schedulingPriority),Tags:cdk().objectToCloudFormation(properties.tags),Timeout:convertCfnJobDefinitionTimeoutPropertyToCloudFormation(properties.timeout),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnJobDefinitionPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("consumableResourceProperties","ConsumableResourceProperties",properties.ConsumableResourceProperties!=null?CfnJobDefinitionConsumableResourcePropertiesPropertyFromCloudFormation(properties.ConsumableResourceProperties):void 0),ret.addPropertyResult("containerProperties","ContainerProperties",properties.ContainerProperties!=null?CfnJobDefinitionContainerPropertiesPropertyFromCloudFormation(properties.ContainerProperties):void 0),ret.addPropertyResult("ecsProperties","EcsProperties",properties.EcsProperties!=null?CfnJobDefinitionEcsPropertiesPropertyFromCloudFormation(properties.EcsProperties):void 0),ret.addPropertyResult("eksProperties","EksProperties",properties.EksProperties!=null?CfnJobDefinitionEksPropertiesPropertyFromCloudFormation(properties.EksProperties):void 0),ret.addPropertyResult("jobDefinitionName","JobDefinitionName",properties.JobDefinitionName!=null?cfn_parse().FromCloudFormation.getString(properties.JobDefinitionName):void 0),ret.addPropertyResult("nodeProperties","NodeProperties",properties.NodeProperties!=null?CfnJobDefinitionNodePropertiesPropertyFromCloudFormation(properties.NodeProperties):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getAny(properties.Parameters):void 0),ret.addPropertyResult("platformCapabilities","PlatformCapabilities",properties.PlatformCapabilities!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PlatformCapabilities):void 0),ret.addPropertyResult("propagateTags","PropagateTags",properties.PropagateTags!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PropagateTags):void 0),ret.addPropertyResult("resourceRetentionPolicy","ResourceRetentionPolicy",properties.ResourceRetentionPolicy!=null?CfnJobDefinitionResourceRetentionPolicyPropertyFromCloudFormation(properties.ResourceRetentionPolicy):void 0),ret.addPropertyResult("retryStrategy","RetryStrategy",properties.RetryStrategy!=null?CfnJobDefinitionRetryStrategyPropertyFromCloudFormation(properties.RetryStrategy):void 0),ret.addPropertyResult("schedulingPriority","SchedulingPriority",properties.SchedulingPriority!=null?cfn_parse().FromCloudFormation.getNumber(properties.SchedulingPriority):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getAny(properties.Tags):void 0),ret.addPropertyResult("timeout","Timeout",properties.Timeout!=null?CfnJobDefinitionTimeoutPropertyFromCloudFormation(properties.Timeout):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnJobQueue extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_batch.CfnJobQueue",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Batch::JobQueue";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnJobQueuePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnJobQueue(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}static isCfnJobQueue(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnJobQueue.CFN_RESOURCE_TYPE_NAME}static arnForJobQueue(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_batch_IJobQueueRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForJobQueue),error}return resource.jobQueueRef.jobQueueArn}_computeEnvironmentOrder;_jobQueueName;_jobQueueType;_jobStateTimeLimitActions;_priority;_schedulingPolicyArn;_serviceEnvironmentOrder;_state;tags;_tagsRaw;cfnPropertyNames={computeEnvironmentOrder:"ComputeEnvironmentOrder",jobQueueName:"JobQueueName",jobQueueType:"JobQueueType",jobStateTimeLimitActions:"JobStateTimeLimitActions",priority:"Priority",schedulingPolicyArn:"SchedulingPolicyArn",serviceEnvironmentOrder:"ServiceEnvironmentOrder",state:"State",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnJobQueue.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_batch_CfnJobQueueProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnJobQueue),error}cdk().requireProperty(props,"priority",this),this._computeEnvironmentOrder=props.computeEnvironmentOrder,this._jobQueueName=props.jobQueueName,this._jobQueueType=props.jobQueueType,this._jobStateTimeLimitActions=props.jobStateTimeLimitActions,this._priority=props.priority,this._schedulingPolicyArn=cdk().getRefProperty(props.schedulingPolicyArn?.schedulingPolicyRef,"schedulingPolicyArn")??cdk().ensureStringOrUndefined(props.schedulingPolicyArn,"schedulingPolicyArn","batch.ISchedulingPolicyRef | string"),this._serviceEnvironmentOrder=props.serviceEnvironmentOrder,this._state=props.state,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Batch::JobQueue",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get jobQueueRef(){return{jobQueueArn:this.ref}}get computeEnvironmentOrder(){return this._computeEnvironmentOrder}set computeEnvironmentOrder(value){cdk().traceProperty(this.node,"ComputeEnvironmentOrder"),this._computeEnvironmentOrder=value}get jobQueueName(){return this._jobQueueName}set jobQueueName(value){cdk().traceProperty(this.node,"JobQueueName"),this._jobQueueName=value}get jobQueueType(){return this._jobQueueType}set jobQueueType(value){cdk().traceProperty(this.node,"JobQueueType"),this._jobQueueType=value}get jobStateTimeLimitActions(){return this._jobStateTimeLimitActions}set jobStateTimeLimitActions(value){cdk().traceProperty(this.node,"JobStateTimeLimitActions"),this._jobStateTimeLimitActions=value}get priority(){return this._priority}set priority(value){cdk().traceProperty(this.node,"Priority"),this._priority=value}get schedulingPolicyArn(){return this._schedulingPolicyArn}set schedulingPolicyArn(value){cdk().traceProperty(this.node,"SchedulingPolicyArn"),this._schedulingPolicyArn=value}get serviceEnvironmentOrder(){return this._serviceEnvironmentOrder}set serviceEnvironmentOrder(value){cdk().traceProperty(this.node,"ServiceEnvironmentOrder"),this._serviceEnvironmentOrder=value}get state(){return this._state}set state(value){cdk().traceProperty(this.node,"State"),this._state=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrJobQueueArn(){return cdk().Token.asString(this.getAtt("JobQueueArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{computeEnvironmentOrder:this._computeEnvironmentOrder,jobQueueName:this._jobQueueName,jobQueueType:this._jobQueueType,jobStateTimeLimitActions:this._jobStateTimeLimitActions,priority:this._priority,schedulingPolicyArn:this._schedulingPolicyArn,serviceEnvironmentOrder:this._serviceEnvironmentOrder,state:this._state,tags:this.tags.renderTags()}}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",CfnJobQueue.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnJobQueuePropsToCloudFormation(props)}}exports.CfnJobQueue=CfnJobQueue;function CfnJobQueueComputeEnvironmentOrderPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computeEnvironment",cdk().requiredValidator)(properties.computeEnvironment)),errors.collect(cdk().propertyValidator("computeEnvironment",cdk().validateString)(properties.computeEnvironment)),errors.collect(cdk().propertyValidator("order",cdk().requiredValidator)(properties.order)),errors.collect(cdk().propertyValidator("order",cdk().validateNumber)(properties.order)),errors.wrap('supplied properties not correct for "ComputeEnvironmentOrderProperty"')}function convertCfnJobQueueComputeEnvironmentOrderPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobQueueComputeEnvironmentOrderPropertyValidator(properties).assertSuccess(),{ComputeEnvironment:cdk().stringToCloudFormation(properties.computeEnvironment),Order:cdk().numberToCloudFormation(properties.order)}):properties}function CfnJobQueueComputeEnvironmentOrderPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computeEnvironment","ComputeEnvironment",properties.ComputeEnvironment!=null?cfn_parse().FromCloudFormation.getString(properties.ComputeEnvironment):void 0),ret.addPropertyResult("order","Order",properties.Order!=null?cfn_parse().FromCloudFormation.getNumber(properties.Order):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobQueueServiceEnvironmentOrderPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("order",cdk().requiredValidator)(properties.order)),errors.collect(cdk().propertyValidator("order",cdk().validateNumber)(properties.order)),errors.collect(cdk().propertyValidator("serviceEnvironment",cdk().requiredValidator)(properties.serviceEnvironment)),errors.collect(cdk().propertyValidator("serviceEnvironment",cdk().validateString)(properties.serviceEnvironment)),errors.wrap('supplied properties not correct for "ServiceEnvironmentOrderProperty"')}function convertCfnJobQueueServiceEnvironmentOrderPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobQueueServiceEnvironmentOrderPropertyValidator(properties).assertSuccess(),{Order:cdk().numberToCloudFormation(properties.order),ServiceEnvironment:cdk().stringToCloudFormation(properties.serviceEnvironment)}):properties}function CfnJobQueueServiceEnvironmentOrderPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("order","Order",properties.Order!=null?cfn_parse().FromCloudFormation.getNumber(properties.Order):void 0),ret.addPropertyResult("serviceEnvironment","ServiceEnvironment",properties.ServiceEnvironment!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceEnvironment):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobQueueJobStateTimeLimitActionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("maxTimeSeconds",cdk().requiredValidator)(properties.maxTimeSeconds)),errors.collect(cdk().propertyValidator("maxTimeSeconds",cdk().validateNumber)(properties.maxTimeSeconds)),errors.collect(cdk().propertyValidator("reason",cdk().requiredValidator)(properties.reason)),errors.collect(cdk().propertyValidator("reason",cdk().validateString)(properties.reason)),errors.collect(cdk().propertyValidator("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "JobStateTimeLimitActionProperty"')}function convertCfnJobQueueJobStateTimeLimitActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobQueueJobStateTimeLimitActionPropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),MaxTimeSeconds:cdk().numberToCloudFormation(properties.maxTimeSeconds),Reason:cdk().stringToCloudFormation(properties.reason),State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnJobQueueJobStateTimeLimitActionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("maxTimeSeconds","MaxTimeSeconds",properties.MaxTimeSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxTimeSeconds):void 0),ret.addPropertyResult("reason","Reason",properties.Reason!=null?cfn_parse().FromCloudFormation.getString(properties.Reason):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnJobQueuePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computeEnvironmentOrder",cdk().listValidator(CfnJobQueueComputeEnvironmentOrderPropertyValidator))(properties.computeEnvironmentOrder)),errors.collect(cdk().propertyValidator("jobQueueName",cdk().validateString)(properties.jobQueueName)),errors.collect(cdk().propertyValidator("jobQueueType",cdk().validateString)(properties.jobQueueType)),errors.collect(cdk().propertyValidator("jobStateTimeLimitActions",cdk().listValidator(CfnJobQueueJobStateTimeLimitActionPropertyValidator))(properties.jobStateTimeLimitActions)),errors.collect(cdk().propertyValidator("priority",cdk().requiredValidator)(properties.priority)),errors.collect(cdk().propertyValidator("priority",cdk().validateNumber)(properties.priority)),errors.collect(cdk().propertyValidator("schedulingPolicyArn",cdk().validateString)(properties.schedulingPolicyArn)),errors.collect(cdk().propertyValidator("serviceEnvironmentOrder",cdk().listValidator(CfnJobQueueServiceEnvironmentOrderPropertyValidator))(properties.serviceEnvironmentOrder)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnJobQueueProps"')}function convertCfnJobQueuePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnJobQueuePropsValidator(properties).assertSuccess(),{ComputeEnvironmentOrder:cdk().listMapper(convertCfnJobQueueComputeEnvironmentOrderPropertyToCloudFormation)(properties.computeEnvironmentOrder),JobQueueName:cdk().stringToCloudFormation(properties.jobQueueName),JobQueueType:cdk().stringToCloudFormation(properties.jobQueueType),JobStateTimeLimitActions:cdk().listMapper(convertCfnJobQueueJobStateTimeLimitActionPropertyToCloudFormation)(properties.jobStateTimeLimitActions),Priority:cdk().numberToCloudFormation(properties.priority),SchedulingPolicyArn:cdk().stringToCloudFormation(properties.schedulingPolicyArn),ServiceEnvironmentOrder:cdk().listMapper(convertCfnJobQueueServiceEnvironmentOrderPropertyToCloudFormation)(properties.serviceEnvironmentOrder),State:cdk().stringToCloudFormation(properties.state),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnJobQueuePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computeEnvironmentOrder","ComputeEnvironmentOrder",properties.ComputeEnvironmentOrder!=null?cfn_parse().FromCloudFormation.getArray(CfnJobQueueComputeEnvironmentOrderPropertyFromCloudFormation)(properties.ComputeEnvironmentOrder):void 0),ret.addPropertyResult("jobQueueName","JobQueueName",properties.JobQueueName!=null?cfn_parse().FromCloudFormation.getString(properties.JobQueueName):void 0),ret.addPropertyResult("jobQueueType","JobQueueType",properties.JobQueueType!=null?cfn_parse().FromCloudFormation.getString(properties.JobQueueType):void 0),ret.addPropertyResult("jobStateTimeLimitActions","JobStateTimeLimitActions",properties.JobStateTimeLimitActions!=null?cfn_parse().FromCloudFormation.getArray(CfnJobQueueJobStateTimeLimitActionPropertyFromCloudFormation)(properties.JobStateTimeLimitActions):void 0),ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse().FromCloudFormation.getNumber(properties.Priority):void 0),ret.addPropertyResult("schedulingPolicyArn","SchedulingPolicyArn",properties.SchedulingPolicyArn!=null?cfn_parse().FromCloudFormation.getString(properties.SchedulingPolicyArn):void 0),ret.addPropertyResult("serviceEnvironmentOrder","ServiceEnvironmentOrder",properties.ServiceEnvironmentOrder!=null?cfn_parse().FromCloudFormation.getArray(CfnJobQueueServiceEnvironmentOrderPropertyFromCloudFormation)(properties.ServiceEnvironmentOrder):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSchedulingPolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_batch.CfnSchedulingPolicy",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Batch::SchedulingPolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSchedulingPolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnSchedulingPolicy(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}static isCfnSchedulingPolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSchedulingPolicy.CFN_RESOURCE_TYPE_NAME}static arnForSchedulingPolicy(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_batch_ISchedulingPolicyRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForSchedulingPolicy),error}return resource.schedulingPolicyRef.schedulingPolicyArn}_fairsharePolicy;_name;_quotaSharePolicy;tags;_tagsRaw;cfnPropertyNames={fairsharePolicy:"FairsharePolicy",name:"Name",quotaSharePolicy:"QuotaSharePolicy",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnSchedulingPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_batch_CfnSchedulingPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSchedulingPolicy),error}this._fairsharePolicy=props.fairsharePolicy,this._name=props.name,this._quotaSharePolicy=props.quotaSharePolicy,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Batch::SchedulingPolicy",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get schedulingPolicyRef(){return{schedulingPolicyArn:this.ref}}get fairsharePolicy(){return this._fairsharePolicy}set fairsharePolicy(value){cdk().traceProperty(this.node,"FairsharePolicy"),this._fairsharePolicy=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get quotaSharePolicy(){return this._quotaSharePolicy}set quotaSharePolicy(value){cdk().traceProperty(this.node,"QuotaSharePolicy"),this._quotaSharePolicy=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{fairsharePolicy:this._fairsharePolicy,name:this._name,quotaSharePolicy:this._quotaSharePolicy,tags:this.tags.renderTags()}}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",CfnSchedulingPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSchedulingPolicyPropsToCloudFormation(props)}}exports.CfnSchedulingPolicy=CfnSchedulingPolicy;function CfnSchedulingPolicyShareAttributesPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("shareIdentifier",cdk().validateString)(properties.shareIdentifier)),errors.collect(cdk().propertyValidator("weightFactor",cdk().validateNumber)(properties.weightFactor)),errors.wrap('supplied properties not correct for "ShareAttributesProperty"')}function convertCfnSchedulingPolicyShareAttributesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchedulingPolicyShareAttributesPropertyValidator(properties).assertSuccess(),{ShareIdentifier:cdk().stringToCloudFormation(properties.shareIdentifier),WeightFactor:cdk().numberToCloudFormation(properties.weightFactor)}):properties}function CfnSchedulingPolicyShareAttributesPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("shareIdentifier","ShareIdentifier",properties.ShareIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.ShareIdentifier):void 0),ret.addPropertyResult("weightFactor","WeightFactor",properties.WeightFactor!=null?cfn_parse().FromCloudFormation.getNumber(properties.WeightFactor):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSchedulingPolicyFairsharePolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("computeReservation",cdk().validateNumber)(properties.computeReservation)),errors.collect(cdk().propertyValidator("shareDecaySeconds",cdk().validateNumber)(properties.shareDecaySeconds)),errors.collect(cdk().propertyValidator("shareDistribution",cdk().listValidator(CfnSchedulingPolicyShareAttributesPropertyValidator))(properties.shareDistribution)),errors.wrap('supplied properties not correct for "FairsharePolicyProperty"')}function convertCfnSchedulingPolicyFairsharePolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchedulingPolicyFairsharePolicyPropertyValidator(properties).assertSuccess(),{ComputeReservation:cdk().numberToCloudFormation(properties.computeReservation),ShareDecaySeconds:cdk().numberToCloudFormation(properties.shareDecaySeconds),ShareDistribution:cdk().listMapper(convertCfnSchedulingPolicyShareAttributesPropertyToCloudFormation)(properties.shareDistribution)}):properties}function CfnSchedulingPolicyFairsharePolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("computeReservation","ComputeReservation",properties.ComputeReservation!=null?cfn_parse().FromCloudFormation.getNumber(properties.ComputeReservation):void 0),ret.addPropertyResult("shareDecaySeconds","ShareDecaySeconds",properties.ShareDecaySeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.ShareDecaySeconds):void 0),ret.addPropertyResult("shareDistribution","ShareDistribution",properties.ShareDistribution!=null?cfn_parse().FromCloudFormation.getArray(CfnSchedulingPolicyShareAttributesPropertyFromCloudFormation)(properties.ShareDistribution):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSchedulingPolicyQuotaSharePolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("idleResourceAssignmentStrategy",cdk().validateString)(properties.idleResourceAssignmentStrategy)),errors.wrap('supplied properties not correct for "QuotaSharePolicyProperty"')}function convertCfnSchedulingPolicyQuotaSharePolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchedulingPolicyQuotaSharePolicyPropertyValidator(properties).assertSuccess(),{IdleResourceAssignmentStrategy:cdk().stringToCloudFormation(properties.idleResourceAssignmentStrategy)}):properties}function CfnSchedulingPolicyQuotaSharePolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("idleResourceAssignmentStrategy","IdleResourceAssignmentStrategy",properties.IdleResourceAssignmentStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.IdleResourceAssignmentStrategy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSchedulingPolicyPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fairsharePolicy",CfnSchedulingPolicyFairsharePolicyPropertyValidator)(properties.fairsharePolicy)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("quotaSharePolicy",CfnSchedulingPolicyQuotaSharePolicyPropertyValidator)(properties.quotaSharePolicy)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnSchedulingPolicyProps"')}function convertCfnSchedulingPolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSchedulingPolicyPropsValidator(properties).assertSuccess(),{FairsharePolicy:convertCfnSchedulingPolicyFairsharePolicyPropertyToCloudFormation(properties.fairsharePolicy),Name:cdk().stringToCloudFormation(properties.name),QuotaSharePolicy:convertCfnSchedulingPolicyQuotaSharePolicyPropertyToCloudFormation(properties.quotaSharePolicy),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnSchedulingPolicyPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fairsharePolicy","FairsharePolicy",properties.FairsharePolicy!=null?CfnSchedulingPolicyFairsharePolicyPropertyFromCloudFormation(properties.FairsharePolicy):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("quotaSharePolicy","QuotaSharePolicy",properties.QuotaSharePolicy!=null?CfnSchedulingPolicyQuotaSharePolicyPropertyFromCloudFormation(properties.QuotaSharePolicy):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnConsumableResource extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_batch.CfnConsumableResource",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Batch::ConsumableResource";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnConsumableResourcePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnConsumableResource(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}static isCfnConsumableResource(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnConsumableResource.CFN_RESOURCE_TYPE_NAME}static arnForConsumableResource(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_batch_IConsumableResourceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForConsumableResource),error}return resource.consumableResourceRef.consumableResourceArn}cdkTagManager;_consumableResourceName;_resourceType;_tags;_totalQuantity;cfnPropertyNames={tags:"Tags",consumableResourceName:"ConsumableResourceName",resourceType:"ResourceType",totalQuantity:"TotalQuantity"};constructor(scope,id,props){super(scope,id,{type:CfnConsumableResource.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_batch_CfnConsumableResourceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnConsumableResource),error}cdk().requireProperty(props,"resourceType",this),cdk().requireProperty(props,"totalQuantity",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Batch::ConsumableResource",void 0,{tagPropertyName:"tags"}),this._consumableResourceName=props.consumableResourceName,this._resourceType=props.resourceType,this._tags=props.tags,this._totalQuantity=props.totalQuantity}get consumableResourceRef(){return{consumableResourceArn:this.ref}}get consumableResourceName(){return this._consumableResourceName}set consumableResourceName(value){cdk().traceProperty(this.node,"ConsumableResourceName"),this._consumableResourceName=value}get resourceType(){return this._resourceType}set resourceType(value){cdk().traceProperty(this.node,"ResourceType"),this._resourceType=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get totalQuantity(){return this._totalQuantity}set totalQuantity(value){cdk().traceProperty(this.node,"TotalQuantity"),this._totalQuantity=value}get attrAvailableQuantity(){return cdk().Token.asNumber(this.getAtt("AvailableQuantity",cdk().ResolutionTypeHint.NUMBER))}get attrConsumableResourceArn(){return cdk().Token.asString(this.getAtt("ConsumableResourceArn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asNumber(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.NUMBER))}get attrInUseQuantity(){return cdk().Token.asNumber(this.getAtt("InUseQuantity",cdk().ResolutionTypeHint.NUMBER))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),consumableResourceName:this._consumableResourceName,resourceType:this._resourceType,totalQuantity:this._totalQuantity}}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",CfnConsumableResource.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnConsumableResourcePropsToCloudFormation(props)}}exports.CfnConsumableResource=CfnConsumableResource;function CfnConsumableResourcePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("consumableResourceName",cdk().validateString)(properties.consumableResourceName)),errors.collect(cdk().propertyValidator("resourceType",cdk().requiredValidator)(properties.resourceType)),errors.collect(cdk().propertyValidator("resourceType",cdk().validateString)(properties.resourceType)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("totalQuantity",cdk().requiredValidator)(properties.totalQuantity)),errors.collect(cdk().propertyValidator("totalQuantity",cdk().validateNumber)(properties.totalQuantity)),errors.wrap('supplied properties not correct for "CfnConsumableResourceProps"')}function convertCfnConsumableResourcePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConsumableResourcePropsValidator(properties).assertSuccess(),{ConsumableResourceName:cdk().stringToCloudFormation(properties.consumableResourceName),ResourceType:cdk().stringToCloudFormation(properties.resourceType),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),TotalQuantity:cdk().numberToCloudFormation(properties.totalQuantity)}):properties}function CfnConsumableResourcePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("consumableResourceName","ConsumableResourceName",properties.ConsumableResourceName!=null?cfn_parse().FromCloudFormation.getString(properties.ConsumableResourceName):void 0),ret.addPropertyResult("resourceType","ResourceType",properties.ResourceType!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceType):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("totalQuantity","TotalQuantity",properties.TotalQuantity!=null?cfn_parse().FromCloudFormation.getNumber(properties.TotalQuantity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnQuotaShare extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_batch.CfnQuotaShare",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Batch::QuotaShare";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnQuotaSharePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnQuotaShare(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}static isCfnQuotaShare(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnQuotaShare.CFN_RESOURCE_TYPE_NAME}static arnForQuotaShare(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_batch_IQuotaShareRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForQuotaShare),error}return resource.quotaShareRef.quotaShareArn}_capacityLimits;cdkTagManager;_jobQueue;_preemptionConfiguration;_quotaShareName;_resourceSharingConfiguration;_state;_tags;cfnPropertyNames={capacityLimits:"CapacityLimits",tags:"Tags",jobQueue:"JobQueue",preemptionConfiguration:"PreemptionConfiguration",quotaShareName:"QuotaShareName",resourceSharingConfiguration:"ResourceSharingConfiguration",state:"State"};constructor(scope,id,props){super(scope,id,{type:CfnQuotaShare.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_batch_CfnQuotaShareProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnQuotaShare),error}cdk().requireProperty(props,"capacityLimits",this),cdk().requireProperty(props,"jobQueue",this),cdk().requireProperty(props,"preemptionConfiguration",this),cdk().requireProperty(props,"quotaShareName",this),cdk().requireProperty(props,"resourceSharingConfiguration",this),this._capacityLimits=props.capacityLimits,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Batch::QuotaShare",void 0,{tagPropertyName:"tags"}),this._jobQueue=props.jobQueue,this._preemptionConfiguration=props.preemptionConfiguration,this._quotaShareName=props.quotaShareName,this._resourceSharingConfiguration=props.resourceSharingConfiguration,this._state=props.state,this._tags=props.tags}get quotaShareRef(){return{quotaShareArn:this.ref}}get capacityLimits(){return this._capacityLimits}set capacityLimits(value){cdk().traceProperty(this.node,"CapacityLimits"),this._capacityLimits=value}get jobQueue(){return this._jobQueue}set jobQueue(value){cdk().traceProperty(this.node,"JobQueue"),this._jobQueue=value}get preemptionConfiguration(){return this._preemptionConfiguration}set preemptionConfiguration(value){cdk().traceProperty(this.node,"PreemptionConfiguration"),this._preemptionConfiguration=value}get quotaShareName(){return this._quotaShareName}set quotaShareName(value){cdk().traceProperty(this.node,"QuotaShareName"),this._quotaShareName=value}get resourceSharingConfiguration(){return this._resourceSharingConfiguration}set resourceSharingConfiguration(value){cdk().traceProperty(this.node,"ResourceSharingConfiguration"),this._resourceSharingConfiguration=value}get state(){return this._state}set state(value){cdk().traceProperty(this.node,"State"),this._state=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrQuotaShareArn(){return cdk().Token.asString(this.getAtt("QuotaShareArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{capacityLimits:this._capacityLimits,tags:this.cdkTagManager.renderTags(this._tags),jobQueue:this._jobQueue,preemptionConfiguration:this._preemptionConfiguration,quotaShareName:this._quotaShareName,resourceSharingConfiguration:this._resourceSharingConfiguration,state:this._state}}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",CfnQuotaShare.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnQuotaSharePropsToCloudFormation(props)}}exports.CfnQuotaShare=CfnQuotaShare;function CfnQuotaShareQuotaShareCapacityLimitPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("capacityUnit",cdk().requiredValidator)(properties.capacityUnit)),errors.collect(cdk().propertyValidator("capacityUnit",cdk().validateString)(properties.capacityUnit)),errors.collect(cdk().propertyValidator("maxCapacity",cdk().requiredValidator)(properties.maxCapacity)),errors.collect(cdk().propertyValidator("maxCapacity",cdk().validateNumber)(properties.maxCapacity)),errors.wrap('supplied properties not correct for "QuotaShareCapacityLimitProperty"')}function convertCfnQuotaShareQuotaShareCapacityLimitPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQuotaShareQuotaShareCapacityLimitPropertyValidator(properties).assertSuccess(),{CapacityUnit:cdk().stringToCloudFormation(properties.capacityUnit),MaxCapacity:cdk().numberToCloudFormation(properties.maxCapacity)}):properties}function CfnQuotaShareQuotaShareCapacityLimitPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("capacityUnit","CapacityUnit",properties.CapacityUnit!=null?cfn_parse().FromCloudFormation.getString(properties.CapacityUnit):void 0),ret.addPropertyResult("maxCapacity","MaxCapacity",properties.MaxCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnQuotaShareQuotaShareResourceSharingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("borrowLimit",cdk().validateNumber)(properties.borrowLimit)),errors.collect(cdk().propertyValidator("strategy",cdk().requiredValidator)(properties.strategy)),errors.collect(cdk().propertyValidator("strategy",cdk().validateString)(properties.strategy)),errors.wrap('supplied properties not correct for "QuotaShareResourceSharingConfigurationProperty"')}function convertCfnQuotaShareQuotaShareResourceSharingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQuotaShareQuotaShareResourceSharingConfigurationPropertyValidator(properties).assertSuccess(),{BorrowLimit:cdk().numberToCloudFormation(properties.borrowLimit),Strategy:cdk().stringToCloudFormation(properties.strategy)}):properties}function CfnQuotaShareQuotaShareResourceSharingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("borrowLimit","BorrowLimit",properties.BorrowLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.BorrowLimit):void 0),ret.addPropertyResult("strategy","Strategy",properties.Strategy!=null?cfn_parse().FromCloudFormation.getString(properties.Strategy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnQuotaShareQuotaSharePreemptionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("inSharePreemption",cdk().requiredValidator)(properties.inSharePreemption)),errors.collect(cdk().propertyValidator("inSharePreemption",cdk().validateString)(properties.inSharePreemption)),errors.wrap('supplied properties not correct for "QuotaSharePreemptionConfigurationProperty"')}function convertCfnQuotaShareQuotaSharePreemptionConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQuotaShareQuotaSharePreemptionConfigurationPropertyValidator(properties).assertSuccess(),{InSharePreemption:cdk().stringToCloudFormation(properties.inSharePreemption)}):properties}function CfnQuotaShareQuotaSharePreemptionConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("inSharePreemption","InSharePreemption",properties.InSharePreemption!=null?cfn_parse().FromCloudFormation.getString(properties.InSharePreemption):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnQuotaSharePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("capacityLimits",cdk().requiredValidator)(properties.capacityLimits)),errors.collect(cdk().propertyValidator("capacityLimits",cdk().listValidator(CfnQuotaShareQuotaShareCapacityLimitPropertyValidator))(properties.capacityLimits)),errors.collect(cdk().propertyValidator("jobQueue",cdk().requiredValidator)(properties.jobQueue)),errors.collect(cdk().propertyValidator("jobQueue",cdk().validateString)(properties.jobQueue)),errors.collect(cdk().propertyValidator("preemptionConfiguration",cdk().requiredValidator)(properties.preemptionConfiguration)),errors.collect(cdk().propertyValidator("preemptionConfiguration",CfnQuotaShareQuotaSharePreemptionConfigurationPropertyValidator)(properties.preemptionConfiguration)),errors.collect(cdk().propertyValidator("quotaShareName",cdk().requiredValidator)(properties.quotaShareName)),errors.collect(cdk().propertyValidator("quotaShareName",cdk().validateString)(properties.quotaShareName)),errors.collect(cdk().propertyValidator("resourceSharingConfiguration",cdk().requiredValidator)(properties.resourceSharingConfiguration)),errors.collect(cdk().propertyValidator("resourceSharingConfiguration",CfnQuotaShareQuotaShareResourceSharingConfigurationPropertyValidator)(properties.resourceSharingConfiguration)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnQuotaShareProps"')}function convertCfnQuotaSharePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQuotaSharePropsValidator(properties).assertSuccess(),{CapacityLimits:cdk().listMapper(convertCfnQuotaShareQuotaShareCapacityLimitPropertyToCloudFormation)(properties.capacityLimits),JobQueue:cdk().stringToCloudFormation(properties.jobQueue),PreemptionConfiguration:convertCfnQuotaShareQuotaSharePreemptionConfigurationPropertyToCloudFormation(properties.preemptionConfiguration),QuotaShareName:cdk().stringToCloudFormation(properties.quotaShareName),ResourceSharingConfiguration:convertCfnQuotaShareQuotaShareResourceSharingConfigurationPropertyToCloudFormation(properties.resourceSharingConfiguration),State:cdk().stringToCloudFormation(properties.state),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnQuotaSharePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("capacityLimits","CapacityLimits",properties.CapacityLimits!=null?cfn_parse().FromCloudFormation.getArray(CfnQuotaShareQuotaShareCapacityLimitPropertyFromCloudFormation)(properties.CapacityLimits):void 0),ret.addPropertyResult("jobQueue","JobQueue",properties.JobQueue!=null?cfn_parse().FromCloudFormation.getString(properties.JobQueue):void 0),ret.addPropertyResult("preemptionConfiguration","PreemptionConfiguration",properties.PreemptionConfiguration!=null?CfnQuotaShareQuotaSharePreemptionConfigurationPropertyFromCloudFormation(properties.PreemptionConfiguration):void 0),ret.addPropertyResult("quotaShareName","QuotaShareName",properties.QuotaShareName!=null?cfn_parse().FromCloudFormation.getString(properties.QuotaShareName):void 0),ret.addPropertyResult("resourceSharingConfiguration","ResourceSharingConfiguration",properties.ResourceSharingConfiguration!=null?CfnQuotaShareQuotaShareResourceSharingConfigurationPropertyFromCloudFormation(properties.ResourceSharingConfiguration):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnServiceEnvironment extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_batch.CfnServiceEnvironment",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Batch::ServiceEnvironment";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnServiceEnvironmentPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnServiceEnvironment(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}static isCfnServiceEnvironment(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnServiceEnvironment.CFN_RESOURCE_TYPE_NAME}static arnForServiceEnvironment(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_batch_IServiceEnvironmentRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForServiceEnvironment),error}return resource.serviceEnvironmentRef.serviceEnvironmentArn}_capacityLimits;cdkTagManager;_serviceEnvironmentName;_serviceEnvironmentType;_state;_tags;cfnPropertyNames={capacityLimits:"CapacityLimits",tags:"Tags",serviceEnvironmentName:"ServiceEnvironmentName",serviceEnvironmentType:"ServiceEnvironmentType",state:"State"};constructor(scope,id,props){super(scope,id,{type:CfnServiceEnvironment.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_batch_CfnServiceEnvironmentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnServiceEnvironment),error}cdk().requireProperty(props,"capacityLimits",this),cdk().requireProperty(props,"serviceEnvironmentType",this),this._capacityLimits=props.capacityLimits,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Batch::ServiceEnvironment",void 0,{tagPropertyName:"tags"}),this._serviceEnvironmentName=props.serviceEnvironmentName,this._serviceEnvironmentType=props.serviceEnvironmentType,this._state=props.state,this._tags=props.tags}get serviceEnvironmentRef(){return{serviceEnvironmentArn:this.ref}}get capacityLimits(){return this._capacityLimits}set capacityLimits(value){cdk().traceProperty(this.node,"CapacityLimits"),this._capacityLimits=value}get serviceEnvironmentName(){return this._serviceEnvironmentName}set serviceEnvironmentName(value){cdk().traceProperty(this.node,"ServiceEnvironmentName"),this._serviceEnvironmentName=value}get serviceEnvironmentType(){return this._serviceEnvironmentType}set serviceEnvironmentType(value){cdk().traceProperty(this.node,"ServiceEnvironmentType"),this._serviceEnvironmentType=value}get state(){return this._state}set state(value){cdk().traceProperty(this.node,"State"),this._state=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrServiceEnvironmentArn(){return cdk().Token.asString(this.getAtt("ServiceEnvironmentArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{capacityLimits:this._capacityLimits,tags:this.cdkTagManager.renderTags(this._tags),serviceEnvironmentName:this._serviceEnvironmentName,serviceEnvironmentType:this._serviceEnvironmentType,state:this._state}}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",CfnServiceEnvironment.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnServiceEnvironmentPropsToCloudFormation(props)}}exports.CfnServiceEnvironment=CfnServiceEnvironment;function CfnServiceEnvironmentCapacityLimitPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("capacityUnit",cdk().validateString)(properties.capacityUnit)),errors.collect(cdk().propertyValidator("maxCapacity",cdk().validateNumber)(properties.maxCapacity)),errors.wrap('supplied properties not correct for "CapacityLimitProperty"')}function convertCfnServiceEnvironmentCapacityLimitPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceEnvironmentCapacityLimitPropertyValidator(properties).assertSuccess(),{CapacityUnit:cdk().stringToCloudFormation(properties.capacityUnit),MaxCapacity:cdk().numberToCloudFormation(properties.maxCapacity)}):properties}function CfnServiceEnvironmentCapacityLimitPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("capacityUnit","CapacityUnit",properties.CapacityUnit!=null?cfn_parse().FromCloudFormation.getString(properties.CapacityUnit):void 0),ret.addPropertyResult("maxCapacity","MaxCapacity",properties.MaxCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServiceEnvironmentPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("capacityLimits",cdk().requiredValidator)(properties.capacityLimits)),errors.collect(cdk().propertyValidator("capacityLimits",cdk().listValidator(CfnServiceEnvironmentCapacityLimitPropertyValidator))(properties.capacityLimits)),errors.collect(cdk().propertyValidator("serviceEnvironmentName",cdk().validateString)(properties.serviceEnvironmentName)),errors.collect(cdk().propertyValidator("serviceEnvironmentType",cdk().requiredValidator)(properties.serviceEnvironmentType)),errors.collect(cdk().propertyValidator("serviceEnvironmentType",cdk().validateString)(properties.serviceEnvironmentType)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnServiceEnvironmentProps"')}function convertCfnServiceEnvironmentPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServiceEnvironmentPropsValidator(properties).assertSuccess(),{CapacityLimits:cdk().listMapper(convertCfnServiceEnvironmentCapacityLimitPropertyToCloudFormation)(properties.capacityLimits),ServiceEnvironmentName:cdk().stringToCloudFormation(properties.serviceEnvironmentName),ServiceEnvironmentType:cdk().stringToCloudFormation(properties.serviceEnvironmentType),State:cdk().stringToCloudFormation(properties.state),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags)}):properties}function CfnServiceEnvironmentPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("capacityLimits","CapacityLimits",properties.CapacityLimits!=null?cfn_parse().FromCloudFormation.getArray(CfnServiceEnvironmentCapacityLimitPropertyFromCloudFormation)(properties.CapacityLimits):void 0),ret.addPropertyResult("serviceEnvironmentName","ServiceEnvironmentName",properties.ServiceEnvironmentName!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceEnvironmentName):void 0),ret.addPropertyResult("serviceEnvironmentType","ServiceEnvironmentType",properties.ServiceEnvironmentType!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceEnvironmentType):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}
|