aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 174 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g,_h,_j;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnWorkflow=exports.CfnLifecyclePolicy=exports.CfnInfrastructureConfiguration=exports.CfnImageRecipe=exports.CfnImagePipeline=exports.CfnImage=exports.CfnDistributionConfiguration=exports.CfnContainerRecipe=exports.CfnComponent=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");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 CfnComponent extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnComponentPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnComponent(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}constructor(scope,id,props){super(scope,id,{type:CfnComponent.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_imagebuilder_CfnComponentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnComponent),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"platform",this),cdk().requireProperty(props,"version",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrEncrypted=this.getAtt("Encrypted"),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.attrType=cdk().Token.asString(this.getAtt("Type",cdk().ResolutionTypeHint.STRING)),this.changeDescription=props.changeDescription,this.data=props.data,this.description=props.description,this.kmsKeyId=props.kmsKeyId,this.name=props.name,this.platform=props.platform,this.supportedOsVersions=props.supportedOsVersions,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::ImageBuilder::Component",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.uri=props.uri,this.version=props.version}get cfnProperties(){return{changeDescription:this.changeDescription,data:this.data,description:this.description,kmsKeyId:this.kmsKeyId,name:this.name,platform:this.platform,supportedOsVersions:this.supportedOsVersions,tags:this.tags.renderTags(),uri:this.uri,version:this.version}}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",CfnComponent.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnComponentPropsToCloudFormation(props)}}exports.CfnComponent=CfnComponent,_a=JSII_RTTI_SYMBOL_1,CfnComponent[_a]={fqn:"aws-cdk-lib.aws_imagebuilder.CfnComponent",version:"2.185.0"},CfnComponent.CFN_RESOURCE_TYPE_NAME="AWS::ImageBuilder::Component";function CfnComponentPropsValidator(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("changeDescription",cdk().validateString)(properties.changeDescription)),errors.collect(cdk().propertyValidator("data",cdk().validateString)(properties.data)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("platform",cdk().requiredValidator)(properties.platform)),errors.collect(cdk().propertyValidator("platform",cdk().validateString)(properties.platform)),errors.collect(cdk().propertyValidator("supportedOsVersions",cdk().listValidator(cdk().validateString))(properties.supportedOsVersions)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("uri",cdk().validateString)(properties.uri)),errors.collect(cdk().propertyValidator("version",cdk().requiredValidator)(properties.version)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "CfnComponentProps"')}function convertCfnComponentPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnComponentPropsValidator(properties).assertSuccess(),{ChangeDescription:cdk().stringToCloudFormation(properties.changeDescription),Data:cdk().stringToCloudFormation(properties.data),Description:cdk().stringToCloudFormation(properties.description),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),Name:cdk().stringToCloudFormation(properties.name),Platform:cdk().stringToCloudFormation(properties.platform),SupportedOsVersions:cdk().listMapper(cdk().stringToCloudFormation)(properties.supportedOsVersions),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),Uri:cdk().stringToCloudFormation(properties.uri),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnComponentPropsFromCloudFormation(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("changeDescription","ChangeDescription",properties.ChangeDescription!=null?cfn_parse().FromCloudFormation.getString(properties.ChangeDescription):void 0),ret.addPropertyResult("data","Data",properties.Data!=null?cfn_parse().FromCloudFormation.getString(properties.Data):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("platform","Platform",properties.Platform!=null?cfn_parse().FromCloudFormation.getString(properties.Platform):void 0),ret.addPropertyResult("supportedOsVersions","SupportedOsVersions",properties.SupportedOsVersions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SupportedOsVersions):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("uri","Uri",properties.Uri!=null?cfn_parse().FromCloudFormation.getString(properties.Uri):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnContainerRecipe extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnContainerRecipePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnContainerRecipe(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}constructor(scope,id,props){super(scope,id,{type:CfnContainerRecipe.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_imagebuilder_CfnContainerRecipeProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnContainerRecipe),error}cdk().requireProperty(props,"components",this),cdk().requireProperty(props,"containerType",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"parentImage",this),cdk().requireProperty(props,"targetRepository",this),cdk().requireProperty(props,"version",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.components=props.components,this.containerType=props.containerType,this.description=props.description,this.dockerfileTemplateData=props.dockerfileTemplateData,this.dockerfileTemplateUri=props.dockerfileTemplateUri,this.imageOsVersionOverride=props.imageOsVersionOverride,this.instanceConfiguration=props.instanceConfiguration,this.kmsKeyId=props.kmsKeyId,this.name=props.name,this.parentImage=props.parentImage,this.platformOverride=props.platformOverride,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::ImageBuilder::ContainerRecipe",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.targetRepository=props.targetRepository,this.version=props.version,this.workingDirectory=props.workingDirectory}get cfnProperties(){return{components:this.components,containerType:this.containerType,description:this.description,dockerfileTemplateData:this.dockerfileTemplateData,dockerfileTemplateUri:this.dockerfileTemplateUri,imageOsVersionOverride:this.imageOsVersionOverride,instanceConfiguration:this.instanceConfiguration,kmsKeyId:this.kmsKeyId,name:this.name,parentImage:this.parentImage,platformOverride:this.platformOverride,tags:this.tags.renderTags(),targetRepository:this.targetRepository,version:this.version,workingDirectory:this.workingDirectory}}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",CfnContainerRecipe.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContainerRecipePropsToCloudFormation(props)}}exports.CfnContainerRecipe=CfnContainerRecipe,_b=JSII_RTTI_SYMBOL_1,CfnContainerRecipe[_b]={fqn:"aws-cdk-lib.aws_imagebuilder.CfnContainerRecipe",version:"2.185.0"},CfnContainerRecipe.CFN_RESOURCE_TYPE_NAME="AWS::ImageBuilder::ContainerRecipe";function CfnContainerRecipeEbsInstanceBlockDeviceSpecificationPropertyValidator(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("deleteOnTermination",cdk().validateBoolean)(properties.deleteOnTermination)),errors.collect(cdk().propertyValidator("encrypted",cdk().validateBoolean)(properties.encrypted)),errors.collect(cdk().propertyValidator("iops",cdk().validateNumber)(properties.iops)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("snapshotId",cdk().validateString)(properties.snapshotId)),errors.collect(cdk().propertyValidator("throughput",cdk().validateNumber)(properties.throughput)),errors.collect(cdk().propertyValidator("volumeSize",cdk().validateNumber)(properties.volumeSize)),errors.collect(cdk().propertyValidator("volumeType",cdk().validateString)(properties.volumeType)),errors.wrap('supplied properties not correct for "EbsInstanceBlockDeviceSpecificationProperty"')}function convertCfnContainerRecipeEbsInstanceBlockDeviceSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerRecipeEbsInstanceBlockDeviceSpecificationPropertyValidator(properties).assertSuccess(),{DeleteOnTermination:cdk().booleanToCloudFormation(properties.deleteOnTermination),Encrypted:cdk().booleanToCloudFormation(properties.encrypted),Iops:cdk().numberToCloudFormation(properties.iops),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),SnapshotId:cdk().stringToCloudFormation(properties.snapshotId),Throughput:cdk().numberToCloudFormation(properties.throughput),VolumeSize:cdk().numberToCloudFormation(properties.volumeSize),VolumeType:cdk().stringToCloudFormation(properties.volumeType)}):properties}function CfnContainerRecipeEbsInstanceBlockDeviceSpecificationPropertyFromCloudFormation(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("deleteOnTermination","DeleteOnTermination",properties.DeleteOnTermination!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DeleteOnTermination):void 0),ret.addPropertyResult("encrypted","Encrypted",properties.Encrypted!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Encrypted):void 0),ret.addPropertyResult("iops","Iops",properties.Iops!=null?cfn_parse().FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("snapshotId","SnapshotId",properties.SnapshotId!=null?cfn_parse().FromCloudFormation.getString(properties.SnapshotId):void 0),ret.addPropertyResult("throughput","Throughput",properties.Throughput!=null?cfn_parse().FromCloudFormation.getNumber(properties.Throughput):void 0),ret.addPropertyResult("volumeSize","VolumeSize",properties.VolumeSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.VolumeSize):void 0),ret.addPropertyResult("volumeType","VolumeType",properties.VolumeType!=null?cfn_parse().FromCloudFormation.getString(properties.VolumeType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerRecipeInstanceBlockDeviceMappingPropertyValidator(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("deviceName",cdk().validateString)(properties.deviceName)),errors.collect(cdk().propertyValidator("ebs",CfnContainerRecipeEbsInstanceBlockDeviceSpecificationPropertyValidator)(properties.ebs)),errors.collect(cdk().propertyValidator("noDevice",cdk().validateString)(properties.noDevice)),errors.collect(cdk().propertyValidator("virtualName",cdk().validateString)(properties.virtualName)),errors.wrap('supplied properties not correct for "InstanceBlockDeviceMappingProperty"')}function convertCfnContainerRecipeInstanceBlockDeviceMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerRecipeInstanceBlockDeviceMappingPropertyValidator(properties).assertSuccess(),{DeviceName:cdk().stringToCloudFormation(properties.deviceName),Ebs:convertCfnContainerRecipeEbsInstanceBlockDeviceSpecificationPropertyToCloudFormation(properties.ebs),NoDevice:cdk().stringToCloudFormation(properties.noDevice),VirtualName:cdk().stringToCloudFormation(properties.virtualName)}):properties}function CfnContainerRecipeInstanceBlockDeviceMappingPropertyFromCloudFormation(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("deviceName","DeviceName",properties.DeviceName!=null?cfn_parse().FromCloudFormation.getString(properties.DeviceName):void 0),ret.addPropertyResult("ebs","Ebs",properties.Ebs!=null?CfnContainerRecipeEbsInstanceBlockDeviceSpecificationPropertyFromCloudFormation(properties.Ebs):void 0),ret.addPropertyResult("noDevice","NoDevice",properties.NoDevice!=null?cfn_parse().FromCloudFormation.getString(properties.NoDevice):void 0),ret.addPropertyResult("virtualName","VirtualName",properties.VirtualName!=null?cfn_parse().FromCloudFormation.getString(properties.VirtualName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerRecipeInstanceConfigurationPropertyValidator(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("blockDeviceMappings",cdk().listValidator(CfnContainerRecipeInstanceBlockDeviceMappingPropertyValidator))(properties.blockDeviceMappings)),errors.collect(cdk().propertyValidator("image",cdk().validateString)(properties.image)),errors.wrap('supplied properties not correct for "InstanceConfigurationProperty"')}function convertCfnContainerRecipeInstanceConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerRecipeInstanceConfigurationPropertyValidator(properties).assertSuccess(),{BlockDeviceMappings:cdk().listMapper(convertCfnContainerRecipeInstanceBlockDeviceMappingPropertyToCloudFormation)(properties.blockDeviceMappings),Image:cdk().stringToCloudFormation(properties.image)}):properties}function CfnContainerRecipeInstanceConfigurationPropertyFromCloudFormation(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("blockDeviceMappings","BlockDeviceMappings",properties.BlockDeviceMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerRecipeInstanceBlockDeviceMappingPropertyFromCloudFormation)(properties.BlockDeviceMappings):void 0),ret.addPropertyResult("image","Image",properties.Image!=null?cfn_parse().FromCloudFormation.getString(properties.Image):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerRecipeComponentParameterPropertyValidator(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().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().listValidator(cdk().validateString))(properties.value)),errors.wrap('supplied properties not correct for "ComponentParameterProperty"')}function convertCfnContainerRecipeComponentParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerRecipeComponentParameterPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().listMapper(cdk().stringToCloudFormation)(properties.value)}):properties}function CfnContainerRecipeComponentParameterPropertyFromCloudFormation(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.getArray(cfn_parse().FromCloudFormation.getString)(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerRecipeComponentConfigurationPropertyValidator(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("componentArn",cdk().validateString)(properties.componentArn)),errors.collect(cdk().propertyValidator("parameters",cdk().listValidator(CfnContainerRecipeComponentParameterPropertyValidator))(properties.parameters)),errors.wrap('supplied properties not correct for "ComponentConfigurationProperty"')}function convertCfnContainerRecipeComponentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerRecipeComponentConfigurationPropertyValidator(properties).assertSuccess(),{ComponentArn:cdk().stringToCloudFormation(properties.componentArn),Parameters:cdk().listMapper(convertCfnContainerRecipeComponentParameterPropertyToCloudFormation)(properties.parameters)}):properties}function CfnContainerRecipeComponentConfigurationPropertyFromCloudFormation(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("componentArn","ComponentArn",properties.ComponentArn!=null?cfn_parse().FromCloudFormation.getString(properties.ComponentArn):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerRecipeComponentParameterPropertyFromCloudFormation)(properties.Parameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerRecipeTargetContainerRepositoryPropertyValidator(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("repositoryName",cdk().validateString)(properties.repositoryName)),errors.collect(cdk().propertyValidator("service",cdk().validateString)(properties.service)),errors.wrap('supplied properties not correct for "TargetContainerRepositoryProperty"')}function convertCfnContainerRecipeTargetContainerRepositoryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerRecipeTargetContainerRepositoryPropertyValidator(properties).assertSuccess(),{RepositoryName:cdk().stringToCloudFormation(properties.repositoryName),Service:cdk().stringToCloudFormation(properties.service)}):properties}function CfnContainerRecipeTargetContainerRepositoryPropertyFromCloudFormation(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("repositoryName","RepositoryName",properties.RepositoryName!=null?cfn_parse().FromCloudFormation.getString(properties.RepositoryName):void 0),ret.addPropertyResult("service","Service",properties.Service!=null?cfn_parse().FromCloudFormation.getString(properties.Service):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerRecipePropsValidator(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("components",cdk().requiredValidator)(properties.components)),errors.collect(cdk().propertyValidator("components",cdk().listValidator(CfnContainerRecipeComponentConfigurationPropertyValidator))(properties.components)),errors.collect(cdk().propertyValidator("containerType",cdk().requiredValidator)(properties.containerType)),errors.collect(cdk().propertyValidator("containerType",cdk().validateString)(properties.containerType)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("dockerfileTemplateData",cdk().validateString)(properties.dockerfileTemplateData)),errors.collect(cdk().propertyValidator("dockerfileTemplateUri",cdk().validateString)(properties.dockerfileTemplateUri)),errors.collect(cdk().propertyValidator("imageOsVersionOverride",cdk().validateString)(properties.imageOsVersionOverride)),errors.collect(cdk().propertyValidator("instanceConfiguration",CfnContainerRecipeInstanceConfigurationPropertyValidator)(properties.instanceConfiguration)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parentImage",cdk().requiredValidator)(properties.parentImage)),errors.collect(cdk().propertyValidator("parentImage",cdk().validateString)(properties.parentImage)),errors.collect(cdk().propertyValidator("platformOverride",cdk().validateString)(properties.platformOverride)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("targetRepository",cdk().requiredValidator)(properties.targetRepository)),errors.collect(cdk().propertyValidator("targetRepository",CfnContainerRecipeTargetContainerRepositoryPropertyValidator)(properties.targetRepository)),errors.collect(cdk().propertyValidator("version",cdk().requiredValidator)(properties.version)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.collect(cdk().propertyValidator("workingDirectory",cdk().validateString)(properties.workingDirectory)),errors.wrap('supplied properties not correct for "CfnContainerRecipeProps"')}function convertCfnContainerRecipePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerRecipePropsValidator(properties).assertSuccess(),{Components:cdk().listMapper(convertCfnContainerRecipeComponentConfigurationPropertyToCloudFormation)(properties.components),ContainerType:cdk().stringToCloudFormation(properties.containerType),Description:cdk().stringToCloudFormation(properties.description),DockerfileTemplateData:cdk().stringToCloudFormation(properties.dockerfileTemplateData),DockerfileTemplateUri:cdk().stringToCloudFormation(properties.dockerfileTemplateUri),ImageOsVersionOverride:cdk().stringToCloudFormation(properties.imageOsVersionOverride),InstanceConfiguration:convertCfnContainerRecipeInstanceConfigurationPropertyToCloudFormation(properties.instanceConfiguration),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),Name:cdk().stringToCloudFormation(properties.name),ParentImage:cdk().stringToCloudFormation(properties.parentImage),PlatformOverride:cdk().stringToCloudFormation(properties.platformOverride),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),TargetRepository:convertCfnContainerRecipeTargetContainerRepositoryPropertyToCloudFormation(properties.targetRepository),Version:cdk().stringToCloudFormation(properties.version),WorkingDirectory:cdk().stringToCloudFormation(properties.workingDirectory)}):properties}function CfnContainerRecipePropsFromCloudFormation(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("components","Components",properties.Components!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerRecipeComponentConfigurationPropertyFromCloudFormation)(properties.Components):void 0),ret.addPropertyResult("containerType","ContainerType",properties.ContainerType!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerType):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("dockerfileTemplateData","DockerfileTemplateData",properties.DockerfileTemplateData!=null?cfn_parse().FromCloudFormation.getString(properties.DockerfileTemplateData):void 0),ret.addPropertyResult("dockerfileTemplateUri","DockerfileTemplateUri",properties.DockerfileTemplateUri!=null?cfn_parse().FromCloudFormation.getString(properties.DockerfileTemplateUri):void 0),ret.addPropertyResult("imageOsVersionOverride","ImageOsVersionOverride",properties.ImageOsVersionOverride!=null?cfn_parse().FromCloudFormation.getString(properties.ImageOsVersionOverride):void 0),ret.addPropertyResult("instanceConfiguration","InstanceConfiguration",properties.InstanceConfiguration!=null?CfnContainerRecipeInstanceConfigurationPropertyFromCloudFormation(properties.InstanceConfiguration):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parentImage","ParentImage",properties.ParentImage!=null?cfn_parse().FromCloudFormation.getString(properties.ParentImage):void 0),ret.addPropertyResult("platformOverride","PlatformOverride",properties.PlatformOverride!=null?cfn_parse().FromCloudFormation.getString(properties.PlatformOverride):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("targetRepository","TargetRepository",properties.TargetRepository!=null?CfnContainerRecipeTargetContainerRepositoryPropertyFromCloudFormation(properties.TargetRepository):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addPropertyResult("workingDirectory","WorkingDirectory",properties.WorkingDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.WorkingDirectory):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDistributionConfiguration extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDistributionConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnDistributionConfiguration(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}constructor(scope,id,props){super(scope,id,{type:CfnDistributionConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_imagebuilder_CfnDistributionConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDistributionConfiguration),error}cdk().requireProperty(props,"distributions",this),cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.description=props.description,this.distributions=props.distributions,this.name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::ImageBuilder::DistributionConfiguration",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{description:this.description,distributions:this.distributions,name:this.name,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",CfnDistributionConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDistributionConfigurationPropsToCloudFormation(props)}}exports.CfnDistributionConfiguration=CfnDistributionConfiguration,_c=JSII_RTTI_SYMBOL_1,CfnDistributionConfiguration[_c]={fqn:"aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration",version:"2.185.0"},CfnDistributionConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::ImageBuilder::DistributionConfiguration";function CfnDistributionConfigurationFastLaunchLaunchTemplateSpecificationPropertyValidator(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("launchTemplateVersion",cdk().validateString)(properties.launchTemplateVersion)),errors.wrap('supplied properties not correct for "FastLaunchLaunchTemplateSpecificationProperty"')}function convertCfnDistributionConfigurationFastLaunchLaunchTemplateSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDistributionConfigurationFastLaunchLaunchTemplateSpecificationPropertyValidator(properties).assertSuccess(),{LaunchTemplateId:cdk().stringToCloudFormation(properties.launchTemplateId),LaunchTemplateName:cdk().stringToCloudFormation(properties.launchTemplateName),LaunchTemplateVersion:cdk().stringToCloudFormation(properties.launchTemplateVersion)}):properties}function CfnDistributionConfigurationFastLaunchLaunchTemplateSpecificationPropertyFromCloudFormation(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("launchTemplateVersion","LaunchTemplateVersion",properties.LaunchTemplateVersion!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchTemplateVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDistributionConfigurationFastLaunchSnapshotConfigurationPropertyValidator(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("targetResourceCount",cdk().validateNumber)(properties.targetResourceCount)),errors.wrap('supplied properties not correct for "FastLaunchSnapshotConfigurationProperty"')}function convertCfnDistributionConfigurationFastLaunchSnapshotConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDistributionConfigurationFastLaunchSnapshotConfigurationPropertyValidator(properties).assertSuccess(),{TargetResourceCount:cdk().numberToCloudFormation(properties.targetResourceCount)}):properties}function CfnDistributionConfigurationFastLaunchSnapshotConfigurationPropertyFromCloudFormation(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("targetResourceCount","TargetResourceCount",properties.TargetResourceCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.TargetResourceCount):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDistributionConfigurationFastLaunchConfigurationPropertyValidator(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("accountId",cdk().validateString)(properties.accountId)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("launchTemplate",CfnDistributionConfigurationFastLaunchLaunchTemplateSpecificationPropertyValidator)(properties.launchTemplate)),errors.collect(cdk().propertyValidator("maxParallelLaunches",cdk().validateNumber)(properties.maxParallelLaunches)),errors.collect(cdk().propertyValidator("snapshotConfiguration",CfnDistributionConfigurationFastLaunchSnapshotConfigurationPropertyValidator)(properties.snapshotConfiguration)),errors.wrap('supplied properties not correct for "FastLaunchConfigurationProperty"')}function convertCfnDistributionConfigurationFastLaunchConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDistributionConfigurationFastLaunchConfigurationPropertyValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),Enabled:cdk().booleanToCloudFormation(properties.enabled),LaunchTemplate:convertCfnDistributionConfigurationFastLaunchLaunchTemplateSpecificationPropertyToCloudFormation(properties.launchTemplate),MaxParallelLaunches:cdk().numberToCloudFormation(properties.maxParallelLaunches),SnapshotConfiguration:convertCfnDistributionConfigurationFastLaunchSnapshotConfigurationPropertyToCloudFormation(properties.snapshotConfiguration)}):properties}function CfnDistributionConfigurationFastLaunchConfigurationPropertyFromCloudFormation(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("accountId","AccountId",properties.AccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AccountId):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("launchTemplate","LaunchTemplate",properties.LaunchTemplate!=null?CfnDistributionConfigurationFastLaunchLaunchTemplateSpecificationPropertyFromCloudFormation(properties.LaunchTemplate):void 0),ret.addPropertyResult("maxParallelLaunches","MaxParallelLaunches",properties.MaxParallelLaunches!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxParallelLaunches):void 0),ret.addPropertyResult("snapshotConfiguration","SnapshotConfiguration",properties.SnapshotConfiguration!=null?CfnDistributionConfigurationFastLaunchSnapshotConfigurationPropertyFromCloudFormation(properties.SnapshotConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDistributionConfigurationLaunchTemplateConfigurationPropertyValidator(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("accountId",cdk().validateString)(properties.accountId)),errors.collect(cdk().propertyValidator("launchTemplateId",cdk().validateString)(properties.launchTemplateId)),errors.collect(cdk().propertyValidator("setDefaultVersion",cdk().validateBoolean)(properties.setDefaultVersion)),errors.wrap('supplied properties not correct for "LaunchTemplateConfigurationProperty"')}function convertCfnDistributionConfigurationLaunchTemplateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDistributionConfigurationLaunchTemplateConfigurationPropertyValidator(properties).assertSuccess(),{AccountId:cdk().stringToCloudFormation(properties.accountId),LaunchTemplateId:cdk().stringToCloudFormation(properties.launchTemplateId),SetDefaultVersion:cdk().booleanToCloudFormation(properties.setDefaultVersion)}):properties}function CfnDistributionConfigurationLaunchTemplateConfigurationPropertyFromCloudFormation(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("accountId","AccountId",properties.AccountId!=null?cfn_parse().FromCloudFormation.getString(properties.AccountId):void 0),ret.addPropertyResult("launchTemplateId","LaunchTemplateId",properties.LaunchTemplateId!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchTemplateId):void 0),ret.addPropertyResult("setDefaultVersion","SetDefaultVersion",properties.SetDefaultVersion!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SetDefaultVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDistributionConfigurationDistributionPropertyValidator(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("amiDistributionConfiguration",cdk().validateObject)(properties.amiDistributionConfiguration)),errors.collect(cdk().propertyValidator("containerDistributionConfiguration",cdk().validateObject)(properties.containerDistributionConfiguration)),errors.collect(cdk().propertyValidator("fastLaunchConfigurations",cdk().listValidator(CfnDistributionConfigurationFastLaunchConfigurationPropertyValidator))(properties.fastLaunchConfigurations)),errors.collect(cdk().propertyValidator("launchTemplateConfigurations",cdk().listValidator(CfnDistributionConfigurationLaunchTemplateConfigurationPropertyValidator))(properties.launchTemplateConfigurations)),errors.collect(cdk().propertyValidator("licenseConfigurationArns",cdk().listValidator(cdk().validateString))(properties.licenseConfigurationArns)),errors.collect(cdk().propertyValidator("region",cdk().requiredValidator)(properties.region)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.collect(cdk().propertyValidator("ssmParameterConfigurations",cdk().listValidator(cdk().validateObject))(properties.ssmParameterConfigurations)),errors.wrap('supplied properties not correct for "DistributionProperty"')}function convertCfnDistributionConfigurationDistributionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDistributionConfigurationDistributionPropertyValidator(properties).assertSuccess(),{AmiDistributionConfiguration:cdk().objectToCloudFormation(properties.amiDistributionConfiguration),ContainerDistributionConfiguration:cdk().objectToCloudFormation(properties.containerDistributionConfiguration),FastLaunchConfigurations:cdk().listMapper(convertCfnDistributionConfigurationFastLaunchConfigurationPropertyToCloudFormation)(properties.fastLaunchConfigurations),LaunchTemplateConfigurations:cdk().listMapper(convertCfnDistributionConfigurationLaunchTemplateConfigurationPropertyToCloudFormation)(properties.launchTemplateConfigurations),LicenseConfigurationArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.licenseConfigurationArns),Region:cdk().stringToCloudFormation(properties.region),SsmParameterConfigurations:cdk().listMapper(cdk().objectToCloudFormation)(properties.ssmParameterConfigurations)}):properties}function CfnDistributionConfigurationDistributionPropertyFromCloudFormation(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("amiDistributionConfiguration","AmiDistributionConfiguration",properties.AmiDistributionConfiguration!=null?cfn_parse().FromCloudFormation.getAny(properties.AmiDistributionConfiguration):void 0),ret.addPropertyResult("containerDistributionConfiguration","ContainerDistributionConfiguration",properties.ContainerDistributionConfiguration!=null?cfn_parse().FromCloudFormation.getAny(properties.ContainerDistributionConfiguration):void 0),ret.addPropertyResult("fastLaunchConfigurations","FastLaunchConfigurations",properties.FastLaunchConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDistributionConfigurationFastLaunchConfigurationPropertyFromCloudFormation)(properties.FastLaunchConfigurations):void 0),ret.addPropertyResult("launchTemplateConfigurations","LaunchTemplateConfigurations",properties.LaunchTemplateConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnDistributionConfigurationLaunchTemplateConfigurationPropertyFromCloudFormation)(properties.LaunchTemplateConfigurations):void 0),ret.addPropertyResult("licenseConfigurationArns","LicenseConfigurationArns",properties.LicenseConfigurationArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LicenseConfigurationArns):void 0),ret.addPropertyResult("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addPropertyResult("ssmParameterConfigurations","SsmParameterConfigurations",properties.SsmParameterConfigurations!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getAny)(properties.SsmParameterConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDistributionConfigurationPropsValidator(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("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("distributions",cdk().requiredValidator)(properties.distributions)),errors.collect(cdk().propertyValidator("distributions",cdk().listValidator(CfnDistributionCo