aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 234 kB
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.251.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;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.251.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;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.co