aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 119 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnInfrastructureConfiguration=exports.CfnImageRecipe=exports.CfnImagePipeline=exports.CfnImage=exports.CfnDistributionConfiguration=exports.CfnContainerRecipe=exports.CfnComponent=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnComponentPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("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 cfnComponentPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnComponentPropsValidator(properties).assertSuccess(),{Name:cdk.stringToCloudFormation(properties.name),Platform:cdk.stringToCloudFormation(properties.platform),Version:cdk.stringToCloudFormation(properties.version),ChangeDescription:cdk.stringToCloudFormation(properties.changeDescription),Data:cdk.stringToCloudFormation(properties.data),Description:cdk.stringToCloudFormation(properties.description),KmsKeyId:cdk.stringToCloudFormation(properties.kmsKeyId),SupportedOsVersions:cdk.listMapper(cdk.stringToCloudFormation)(properties.supportedOsVersions),Tags:cdk.hashMapper(cdk.stringToCloudFormation)(properties.tags),Uri:cdk.stringToCloudFormation(properties.uri)}):properties}function CfnComponentPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("platform","Platform",cfn_parse.FromCloudFormation.getString(properties.Platform)),ret.addPropertyResult("version","Version",cfn_parse.FromCloudFormation.getString(properties.Version)),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("supportedOsVersions","SupportedOsVersions",properties.SupportedOsVersions!=null?cfn_parse.FromCloudFormation.getStringArray(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.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnComponent extends cdk.CfnResource{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",cdk.ResolutionTypeHint.STRING),this.attrName=cdk.Token.asString(this.getAtt("Name",cdk.ResolutionTypeHint.STRING)),this.attrType=cdk.Token.asString(this.getAtt("Type",cdk.ResolutionTypeHint.STRING)),this.name=props.name,this.platform=props.platform,this.version=props.version,this.changeDescription=props.changeDescription,this.data=props.data,this.description=props.description,this.kmsKeyId=props.kmsKeyId,this.supportedOsVersions=props.supportedOsVersions,this.tags=new cdk.TagManager(cdk.TagType.MAP,"AWS::ImageBuilder::Component",props.tags,{tagPropertyName:"tags"}),this.uri=props.uri}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnComponentPropsFromCloudFormation(resourceProperties),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}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)}get cfnProperties(){return{name:this.name,platform:this.platform,version:this.version,changeDescription:this.changeDescription,data:this.data,description:this.description,kmsKeyId:this.kmsKeyId,supportedOsVersions:this.supportedOsVersions,tags:this.tags.renderTags(),uri:this.uri}}renderProperties(props){return cfnComponentPropsToCloudFormation(props)}}exports.CfnComponent=CfnComponent,_a=JSII_RTTI_SYMBOL_1,CfnComponent[_a]={fqn:"aws-cdk-lib.aws_imagebuilder.CfnComponent",version:"2.70.0"},CfnComponent.CFN_RESOURCE_TYPE_NAME="AWS::ImageBuilder::Component";function CfnContainerRecipePropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("components",cdk.requiredValidator)(properties.components)),errors.collect(cdk.propertyValidator("components",cdk.listValidator(CfnContainerRecipe_ComponentConfigurationPropertyValidator))(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",CfnContainerRecipe_InstanceConfigurationPropertyValidator)(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",CfnContainerRecipe_TargetContainerRepositoryPropertyValidator)(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 cfnContainerRecipePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnContainerRecipePropsValidator(properties).assertSuccess(),{Components:cdk.listMapper(cfnContainerRecipeComponentConfigurationPropertyToCloudFormation)(properties.components),ContainerType:cdk.stringToCloudFormation(properties.containerType),Name:cdk.stringToCloudFormation(properties.name),ParentImage:cdk.stringToCloudFormation(properties.parentImage),TargetRepository:cfnContainerRecipeTargetContainerRepositoryPropertyToCloudFormation(properties.targetRepository),Version:cdk.stringToCloudFormation(properties.version),Description:cdk.stringToCloudFormation(properties.description),DockerfileTemplateData:cdk.stringToCloudFormation(properties.dockerfileTemplateData),DockerfileTemplateUri:cdk.stringToCloudFormation(properties.dockerfileTemplateUri),ImageOsVersionOverride:cdk.stringToCloudFormation(properties.imageOsVersionOverride),InstanceConfiguration:cfnContainerRecipeInstanceConfigurationPropertyToCloudFormation(properties.instanceConfiguration),KmsKeyId:cdk.stringToCloudFormation(properties.kmsKeyId),PlatformOverride:cdk.stringToCloudFormation(properties.platformOverride),Tags:cdk.hashMapper(cdk.stringToCloudFormation)(properties.tags),WorkingDirectory:cdk.stringToCloudFormation(properties.workingDirectory)}):properties}function CfnContainerRecipePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("components","Components",cfn_parse.FromCloudFormation.getArray(CfnContainerRecipeComponentConfigurationPropertyFromCloudFormation)(properties.Components)),ret.addPropertyResult("containerType","ContainerType",cfn_parse.FromCloudFormation.getString(properties.ContainerType)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("parentImage","ParentImage",cfn_parse.FromCloudFormation.getString(properties.ParentImage)),ret.addPropertyResult("targetRepository","TargetRepository",CfnContainerRecipeTargetContainerRepositoryPropertyFromCloudFormation(properties.TargetRepository)),ret.addPropertyResult("version","Version",cfn_parse.FromCloudFormation.getString(properties.Version)),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("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("workingDirectory","WorkingDirectory",properties.WorkingDirectory!=null?cfn_parse.FromCloudFormation.getString(properties.WorkingDirectory):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnContainerRecipe extends cdk.CfnResource{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.name=props.name,this.parentImage=props.parentImage,this.targetRepository=props.targetRepository,this.version=props.version,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.platformOverride=props.platformOverride,this.tags=new cdk.TagManager(cdk.TagType.MAP,"AWS::ImageBuilder::ContainerRecipe",props.tags,{tagPropertyName:"tags"}),this.workingDirectory=props.workingDirectory}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnContainerRecipePropsFromCloudFormation(resourceProperties),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}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)}get cfnProperties(){return{components:this.components,containerType:this.containerType,name:this.name,parentImage:this.parentImage,targetRepository:this.targetRepository,version:this.version,description:this.description,dockerfileTemplateData:this.dockerfileTemplateData,dockerfileTemplateUri:this.dockerfileTemplateUri,imageOsVersionOverride:this.imageOsVersionOverride,instanceConfiguration:this.instanceConfiguration,kmsKeyId:this.kmsKeyId,platformOverride:this.platformOverride,tags:this.tags.renderTags(),workingDirectory:this.workingDirectory}}renderProperties(props){return cfnContainerRecipePropsToCloudFormation(props)}}exports.CfnContainerRecipe=CfnContainerRecipe,_b=JSII_RTTI_SYMBOL_1,CfnContainerRecipe[_b]={fqn:"aws-cdk-lib.aws_imagebuilder.CfnContainerRecipe",version:"2.70.0"},CfnContainerRecipe.CFN_RESOURCE_TYPE_NAME="AWS::ImageBuilder::ContainerRecipe";function CfnContainerRecipe_ComponentConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("componentArn",cdk.validateString)(properties.componentArn)),errors.collect(cdk.propertyValidator("parameters",cdk.listValidator(CfnContainerRecipe_ComponentParameterPropertyValidator))(properties.parameters)),errors.wrap('supplied properties not correct for "ComponentConfigurationProperty"')}function cfnContainerRecipeComponentConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnContainerRecipe_ComponentConfigurationPropertyValidator(properties).assertSuccess(),{ComponentArn:cdk.stringToCloudFormation(properties.componentArn),Parameters:cdk.listMapper(cfnContainerRecipeComponentParameterPropertyToCloudFormation)(properties.parameters)}):properties}function CfnContainerRecipeComponentConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("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 CfnContainerRecipe_ComponentParameterPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("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 cfnContainerRecipeComponentParameterPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnContainerRecipe_ComponentParameterPropertyValidator(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??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getStringArray(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerRecipe_EbsInstanceBlockDeviceSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("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 cfnContainerRecipeEbsInstanceBlockDeviceSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnContainerRecipe_EbsInstanceBlockDeviceSpecificationPropertyValidator(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??{},typeof properties!="object")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 CfnContainerRecipe_InstanceBlockDeviceMappingPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("deviceName",cdk.validateString)(properties.deviceName)),errors.collect(cdk.propertyValidator("ebs",CfnContainerRecipe_EbsInstanceBlockDeviceSpecificationPropertyValidator)(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 cfnContainerRecipeInstanceBlockDeviceMappingPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnContainerRecipe_InstanceBlockDeviceMappingPropertyValidator(properties).assertSuccess(),{DeviceName:cdk.stringToCloudFormation(properties.deviceName),Ebs:cfnContainerRecipeEbsInstanceBlockDeviceSpecificationPropertyToCloudFormation(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??{},typeof properties!="object")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 CfnContainerRecipe_InstanceConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("blockDeviceMappings",cdk.listValidator(CfnContainerRecipe_InstanceBlockDeviceMappingPropertyValidator))(properties.blockDeviceMappings)),errors.collect(cdk.propertyValidator("image",cdk.validateString)(properties.image)),errors.wrap('supplied properties not correct for "InstanceConfigurationProperty"')}function cfnContainerRecipeInstanceConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnContainerRecipe_InstanceConfigurationPropertyValidator(properties).assertSuccess(),{BlockDeviceMappings:cdk.listMapper(cfnContainerRecipeInstanceBlockDeviceMappingPropertyToCloudFormation)(properties.blockDeviceMappings),Image:cdk.stringToCloudFormation(properties.image)}):properties}function CfnContainerRecipeInstanceConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("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 CfnContainerRecipe_TargetContainerRepositoryPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("repositoryName",cdk.validateString)(properties.repositoryName)),errors.collect(cdk.propertyValidator("service",cdk.validateString)(properties.service)),errors.wrap('supplied properties not correct for "TargetContainerRepositoryProperty"')}function cfnContainerRecipeTargetContainerRepositoryPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnContainerRecipe_TargetContainerRepositoryPropertyValidator(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??{},typeof properties!="object")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 CfnDistributionConfigurationPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("distributions",cdk.requiredValidator)(properties.distributions)),errors.collect(cdk.propertyValidator("distributions",cdk.listValidator(CfnDistributionConfiguration_DistributionPropertyValidator))(properties.distributions)),errors.collect(cdk.propertyValidator("name",cdk.requiredValidator)(properties.name)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("tags",cdk.hashValidator(cdk.validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDistributionConfigurationProps"')}function cfnDistributionConfigurationPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDistributionConfigurationPropsValidator(properties).assertSuccess(),{Distributions:cdk.listMapper(cfnDistributionConfigurationDistributionPropertyToCloudFormation)(properties.distributions),Name:cdk.stringToCloudFormation(properties.name),Description:cdk.stringToCloudFormation(properties.description),Tags:cdk.hashMapper(cdk.stringToCloudFormation)(properties.tags)}):properties}function CfnDistributionConfigurationPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("distributions","Distributions",cfn_parse.FromCloudFormation.getArray(CfnDistributionConfigurationDistributionPropertyFromCloudFormation)(properties.Distributions)),ret.addPropertyResult("name","Name",cfn_parse.FromCloudFormation.getString(properties.Name)),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDistributionConfiguration extends cdk.CfnResource{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.distributions=props.distributions,this.name=props.name,this.description=props.description,this.tags=new cdk.TagManager(cdk.TagType.MAP,"AWS::ImageBuilder::DistributionConfiguration",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDistributionConfigurationPropsFromCloudFormation(resourceProperties),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}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)}get cfnProperties(){return{distributions:this.distributions,name:this.name,description:this.description,tags:this.tags.renderTags()}}renderProperties(props){return cfnDistributionConfigurationPropsToCloudFormation(props)}}exports.CfnDistributionConfiguration=CfnDistributionConfiguration,_c=JSII_RTTI_SYMBOL_1,CfnDistributionConfiguration[_c]={fqn:"aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration",version:"2.70.0"},CfnDistributionConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::ImageBuilder::DistributionConfiguration";function CfnDistributionConfiguration_AmiDistributionConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("amiTags",cdk.hashValidator(cdk.validateString))(properties.amiTags)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("kmsKeyId",cdk.validateString)(properties.kmsKeyId)),errors.collect(cdk.propertyValidator("launchPermissionConfiguration",CfnDistributionConfiguration_LaunchPermissionConfigurationPropertyValidator)(properties.launchPermissionConfiguration)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.collect(cdk.propertyValidator("targetAccountIds",cdk.listValidator(cdk.validateString))(properties.targetAccountIds)),errors.wrap('supplied properties not correct for "AmiDistributionConfigurationProperty"')}function cfnDistributionConfigurationAmiDistributionConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDistributionConfiguration_AmiDistributionConfigurationPropertyValidator(properties).assertSuccess(),{AmiTags:cdk.hashMapper(cdk.stringToCloudFormation)(properties.amiTags),Description:cdk.stringToCloudFormation(properties.description),KmsKeyId:cdk.stringToCloudFormation(properties.kmsKeyId),LaunchPermissionConfiguration:cfnDistributionConfigurationLaunchPermissionConfigurationPropertyToCloudFormation(properties.launchPermissionConfiguration),Name:cdk.stringToCloudFormation(properties.name),TargetAccountIds:cdk.listMapper(cdk.stringToCloudFormation)(properties.targetAccountIds)}):properties}function CfnDistributionConfigurationAmiDistributionConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("amiTags","AmiTags",properties.AmiTags!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.AmiTags):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("launchPermissionConfiguration","LaunchPermissionConfiguration",properties.LaunchPermissionConfiguration!=null?CfnDistributionConfigurationLaunchPermissionConfigurationPropertyFromCloudFormation(properties.LaunchPermissionConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("targetAccountIds","TargetAccountIds",properties.TargetAccountIds!=null?cfn_parse.FromCloudFormation.getStringArray(properties.TargetAccountIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDistributionConfiguration_ContainerDistributionConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("containerTags",cdk.listValidator(cdk.validateString))(properties.containerTags)),errors.collect(cdk.propertyValidator("description",cdk.validateString)(properties.description)),errors.collect(cdk.propertyValidator("targetRepository",CfnDistributionConfiguration_TargetContainerRepositoryPropertyValidator)(properties.targetRepository)),errors.wrap('supplied properties not correct for "ContainerDistributionConfigurationProperty"')}function cfnDistributionConfigurationContainerDistributionConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDistributionConfiguration_ContainerDistributionConfigurationPropertyValidator(properties).assertSuccess(),{ContainerTags:cdk.listMapper(cdk.stringToCloudFormation)(properties.containerTags),Description:cdk.stringToCloudFormation(properties.description),TargetRepository:cfnDistributionConfigurationTargetContainerRepositoryPropertyToCloudFormation(properties.targetRepository)}):properties}function CfnDistributionConfigurationContainerDistributionConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("containerTags","ContainerTags",properties.ContainerTags!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ContainerTags):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse.FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("targetRepository","TargetRepository",properties.TargetRepository!=null?CfnDistributionConfigurationTargetContainerRepositoryPropertyFromCloudFormation(properties.TargetRepository):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDistributionConfiguration_DistributionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("amiDistributionConfiguration",cdk.validateObject)(properties.amiDistributionConfiguration)),errors.collect(cdk.propertyValidator("containerDistributionConfiguration",cdk.validateObject)(properties.containerDistributionConfiguration)),errors.collect(cdk.propertyValidator("fastLaunchConfigurations",cdk.listValidator(CfnDistributionConfiguration_FastLaunchConfigurationPropertyValidator))(properties.fastLaunchConfigurations)),errors.collect(cdk.propertyValidator("launchTemplateConfigurations",cdk.listValidator(CfnDistributionConfiguration_LaunchTemplateConfigurationPropertyValidator))(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.wrap('supplied properties not correct for "DistributionProperty"')}function cfnDistributionConfigurationDistributionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDistributionConfiguration_DistributionPropertyValidator(properties).assertSuccess(),{AmiDistributionConfiguration:cdk.objectToCloudFormation(properties.amiDistributionConfiguration),ContainerDistributionConfiguration:cdk.objectToCloudFormation(properties.containerDistributionConfiguration),FastLaunchConfigurations:cdk.listMapper(cfnDistributionConfigurationFastLaunchConfigurationPropertyToCloudFormation)(properties.fastLaunchConfigurations),LaunchTemplateConfigurations:cdk.listMapper(cfnDistributionConfigurationLaunchTemplateConfigurationPropertyToCloudFormation)(properties.launchTemplateConfigurations),LicenseConfigurationArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.licenseConfigurationArns),Region:cdk.stringToCloudFormation(properties.region)}):properties}function CfnDistributionConfigurationDistributionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("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.getStringArray(properties.LicenseConfigurationArns):void 0),ret.addPropertyResult("region","Region",cfn_parse.FromCloudFormation.getString(properties.Region)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDistributionConfiguration_FastLaunchConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accountId",cdk.validateString)(properties.accountId)),errors.collect(cdk.propertyValidator("enabled",cdk.validateBoolean)(properties.enabled)),errors.collect(cdk.propertyValidator("launchTemplate",CfnDistributionConfiguration_FastLaunchLaunchTemplateSpecificationPropertyValidator)(properties.launchTemplate)),errors.collect(cdk.propertyValidator("maxParallelLaunches",cdk.validateNumber)(properties.maxParallelLaunches)),errors.collect(cdk.propertyValidator("snapshotConfiguration",CfnDistributionConfiguration_FastLaunchSnapshotConfigurationPropertyValidator)(properties.snapshotConfiguration)),errors.wrap('supplied properties not correct for "FastLaunchConfigurationProperty"')}function cfnDistributionConfigurationFastLaunchConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDistributionConfiguration_FastLaunchConfigurationPropertyValidator(properties).assertSuccess(),{AccountId:cdk.stringToCloudFormation(properties.accountId),Enabled:cdk.booleanToCloudFormation(properties.enabled),LaunchTemplate:cfnDistributionConfigurationFastLaunchLaunchTemplateSpecificationPropertyToCloudFormation(properties.launchTemplate),MaxParallelLaunches:cdk.numberToCloudFormation(properties.maxParallelLaunches),SnapshotConfiguration:cfnDistributionConfigurationFastLaunchSnapshotConfigurationPropertyToCloudFormation(properties.snapshotConfiguration)}):properties}function CfnDistributionConfigurationFastLaunchConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("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 CfnDistributionConfiguration_FastLaunchLaunchTemplateSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("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 cfnDistributionConfigurationFastLaunchLaunchTemplateSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDistributionConfiguration_FastLaunchLaunchTemplateSpecificationPropertyValidator(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??{},typeof properties!="object")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 CfnDistributionConfiguration_FastLaunchSnapshotConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.