aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 58.3 kB
JavaScript
"use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnDeployment=exports.CfnComponentVersion=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 CfnComponentVersionPropsValidator(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("inlineRecipe",cdk.validateString)(properties.inlineRecipe)),errors.collect(cdk.propertyValidator("lambdaFunction",CfnComponentVersion_LambdaFunctionRecipeSourcePropertyValidator)(properties.lambdaFunction)),errors.collect(cdk.propertyValidator("tags",cdk.hashValidator(cdk.validateString))(properties.tags)),errors.wrap('supplied properties not correct for "CfnComponentVersionProps"')}function cfnComponentVersionPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnComponentVersionPropsValidator(properties).assertSuccess(),{InlineRecipe:cdk.stringToCloudFormation(properties.inlineRecipe),LambdaFunction:cfnComponentVersionLambdaFunctionRecipeSourcePropertyToCloudFormation(properties.lambdaFunction),Tags:cdk.hashMapper(cdk.stringToCloudFormation)(properties.tags)}):properties}function CfnComponentVersionPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("inlineRecipe","InlineRecipe",properties.InlineRecipe!=null?cfn_parse.FromCloudFormation.getString(properties.InlineRecipe):void 0),ret.addPropertyResult("lambdaFunction","LambdaFunction",properties.LambdaFunction!=null?CfnComponentVersionLambdaFunctionRecipeSourcePropertyFromCloudFormation(properties.LambdaFunction):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 CfnComponentVersion extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnComponentVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_greengrassv2_CfnComponentVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnComponentVersion),error}this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.attrComponentName=cdk.Token.asString(this.getAtt("ComponentName",cdk.ResolutionTypeHint.STRING)),this.attrComponentVersion=cdk.Token.asString(this.getAtt("ComponentVersion",cdk.ResolutionTypeHint.STRING)),this.inlineRecipe=props.inlineRecipe,this.lambdaFunction=props.lambdaFunction,this.tags=new cdk.TagManager(cdk.TagType.MAP,"AWS::GreengrassV2::ComponentVersion",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnComponentVersionPropsFromCloudFormation(resourceProperties),ret=new CfnComponentVersion(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",CfnComponentVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{inlineRecipe:this.inlineRecipe,lambdaFunction:this.lambdaFunction,tags:this.tags.renderTags()}}renderProperties(props){return cfnComponentVersionPropsToCloudFormation(props)}}exports.CfnComponentVersion=CfnComponentVersion,_a=JSII_RTTI_SYMBOL_1,CfnComponentVersion[_a]={fqn:"aws-cdk-lib.aws_greengrassv2.CfnComponentVersion",version:"2.70.0"},CfnComponentVersion.CFN_RESOURCE_TYPE_NAME="AWS::GreengrassV2::ComponentVersion";function CfnComponentVersion_ComponentDependencyRequirementPropertyValidator(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("dependencyType",cdk.validateString)(properties.dependencyType)),errors.collect(cdk.propertyValidator("versionRequirement",cdk.validateString)(properties.versionRequirement)),errors.wrap('supplied properties not correct for "ComponentDependencyRequirementProperty"')}function cfnComponentVersionComponentDependencyRequirementPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnComponentVersion_ComponentDependencyRequirementPropertyValidator(properties).assertSuccess(),{DependencyType:cdk.stringToCloudFormation(properties.dependencyType),VersionRequirement:cdk.stringToCloudFormation(properties.versionRequirement)}):properties}function CfnComponentVersionComponentDependencyRequirementPropertyFromCloudFormation(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("dependencyType","DependencyType",properties.DependencyType!=null?cfn_parse.FromCloudFormation.getString(properties.DependencyType):void 0),ret.addPropertyResult("versionRequirement","VersionRequirement",properties.VersionRequirement!=null?cfn_parse.FromCloudFormation.getString(properties.VersionRequirement):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComponentVersion_ComponentPlatformPropertyValidator(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("attributes",cdk.hashValidator(cdk.validateString))(properties.attributes)),errors.collect(cdk.propertyValidator("name",cdk.validateString)(properties.name)),errors.wrap('supplied properties not correct for "ComponentPlatformProperty"')}function cfnComponentVersionComponentPlatformPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnComponentVersion_ComponentPlatformPropertyValidator(properties).assertSuccess(),{Attributes:cdk.hashMapper(cdk.stringToCloudFormation)(properties.attributes),Name:cdk.stringToCloudFormation(properties.name)}):properties}function CfnComponentVersionComponentPlatformPropertyFromCloudFormation(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("attributes","Attributes",properties.Attributes!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.Attributes):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse.FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComponentVersion_LambdaContainerParamsPropertyValidator(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("devices",cdk.listValidator(CfnComponentVersion_LambdaDeviceMountPropertyValidator))(properties.devices)),errors.collect(cdk.propertyValidator("memorySizeInKb",cdk.validateNumber)(properties.memorySizeInKb)),errors.collect(cdk.propertyValidator("mountRoSysfs",cdk.validateBoolean)(properties.mountRoSysfs)),errors.collect(cdk.propertyValidator("volumes",cdk.listValidator(CfnComponentVersion_LambdaVolumeMountPropertyValidator))(properties.volumes)),errors.wrap('supplied properties not correct for "LambdaContainerParamsProperty"')}function cfnComponentVersionLambdaContainerParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnComponentVersion_LambdaContainerParamsPropertyValidator(properties).assertSuccess(),{Devices:cdk.listMapper(cfnComponentVersionLambdaDeviceMountPropertyToCloudFormation)(properties.devices),MemorySizeInKB:cdk.numberToCloudFormation(properties.memorySizeInKb),MountROSysfs:cdk.booleanToCloudFormation(properties.mountRoSysfs),Volumes:cdk.listMapper(cfnComponentVersionLambdaVolumeMountPropertyToCloudFormation)(properties.volumes)}):properties}function CfnComponentVersionLambdaContainerParamsPropertyFromCloudFormation(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("devices","Devices",properties.Devices!=null?cfn_parse.FromCloudFormation.getArray(CfnComponentVersionLambdaDeviceMountPropertyFromCloudFormation)(properties.Devices):void 0),ret.addPropertyResult("memorySizeInKb","MemorySizeInKB",properties.MemorySizeInKB!=null?cfn_parse.FromCloudFormation.getNumber(properties.MemorySizeInKB):void 0),ret.addPropertyResult("mountRoSysfs","MountROSysfs",properties.MountROSysfs!=null?cfn_parse.FromCloudFormation.getBoolean(properties.MountROSysfs):void 0),ret.addPropertyResult("volumes","Volumes",properties.Volumes!=null?cfn_parse.FromCloudFormation.getArray(CfnComponentVersionLambdaVolumeMountPropertyFromCloudFormation)(properties.Volumes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComponentVersion_LambdaDeviceMountPropertyValidator(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("addGroupOwner",cdk.validateBoolean)(properties.addGroupOwner)),errors.collect(cdk.propertyValidator("path",cdk.validateString)(properties.path)),errors.collect(cdk.propertyValidator("permission",cdk.validateString)(properties.permission)),errors.wrap('supplied properties not correct for "LambdaDeviceMountProperty"')}function cfnComponentVersionLambdaDeviceMountPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnComponentVersion_LambdaDeviceMountPropertyValidator(properties).assertSuccess(),{AddGroupOwner:cdk.booleanToCloudFormation(properties.addGroupOwner),Path:cdk.stringToCloudFormation(properties.path),Permission:cdk.stringToCloudFormation(properties.permission)}):properties}function CfnComponentVersionLambdaDeviceMountPropertyFromCloudFormation(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("addGroupOwner","AddGroupOwner",properties.AddGroupOwner!=null?cfn_parse.FromCloudFormation.getBoolean(properties.AddGroupOwner):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse.FromCloudFormation.getString(properties.Path):void 0),ret.addPropertyResult("permission","Permission",properties.Permission!=null?cfn_parse.FromCloudFormation.getString(properties.Permission):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComponentVersion_LambdaEventSourcePropertyValidator(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("topic",cdk.validateString)(properties.topic)),errors.collect(cdk.propertyValidator("type",cdk.validateString)(properties.type)),errors.wrap('supplied properties not correct for "LambdaEventSourceProperty"')}function cfnComponentVersionLambdaEventSourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnComponentVersion_LambdaEventSourcePropertyValidator(properties).assertSuccess(),{Topic:cdk.stringToCloudFormation(properties.topic),Type:cdk.stringToCloudFormation(properties.type)}):properties}function CfnComponentVersionLambdaEventSourcePropertyFromCloudFormation(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("topic","Topic",properties.Topic!=null?cfn_parse.FromCloudFormation.getString(properties.Topic):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse.FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComponentVersion_LambdaExecutionParametersPropertyValidator(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("environmentVariables",cdk.hashValidator(cdk.validateString))(properties.environmentVariables)),errors.collect(cdk.propertyValidator("eventSources",cdk.listValidator(CfnComponentVersion_LambdaEventSourcePropertyValidator))(properties.eventSources)),errors.collect(cdk.propertyValidator("execArgs",cdk.listValidator(cdk.validateString))(properties.execArgs)),errors.collect(cdk.propertyValidator("inputPayloadEncodingType",cdk.validateString)(properties.inputPayloadEncodingType)),errors.collect(cdk.propertyValidator("linuxProcessParams",CfnComponentVersion_LambdaLinuxProcessParamsPropertyValidator)(properties.linuxProcessParams)),errors.collect(cdk.propertyValidator("maxIdleTimeInSeconds",cdk.validateNumber)(properties.maxIdleTimeInSeconds)),errors.collect(cdk.propertyValidator("maxInstancesCount",cdk.validateNumber)(properties.maxInstancesCount)),errors.collect(cdk.propertyValidator("maxQueueSize",cdk.validateNumber)(properties.maxQueueSize)),errors.collect(cdk.propertyValidator("pinned",cdk.validateBoolean)(properties.pinned)),errors.collect(cdk.propertyValidator("statusTimeoutInSeconds",cdk.validateNumber)(properties.statusTimeoutInSeconds)),errors.collect(cdk.propertyValidator("timeoutInSeconds",cdk.validateNumber)(properties.timeoutInSeconds)),errors.wrap('supplied properties not correct for "LambdaExecutionParametersProperty"')}function cfnComponentVersionLambdaExecutionParametersPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnComponentVersion_LambdaExecutionParametersPropertyValidator(properties).assertSuccess(),{EnvironmentVariables:cdk.hashMapper(cdk.stringToCloudFormation)(properties.environmentVariables),EventSources:cdk.listMapper(cfnComponentVersionLambdaEventSourcePropertyToCloudFormation)(properties.eventSources),ExecArgs:cdk.listMapper(cdk.stringToCloudFormation)(properties.execArgs),InputPayloadEncodingType:cdk.stringToCloudFormation(properties.inputPayloadEncodingType),LinuxProcessParams:cfnComponentVersionLambdaLinuxProcessParamsPropertyToCloudFormation(properties.linuxProcessParams),MaxIdleTimeInSeconds:cdk.numberToCloudFormation(properties.maxIdleTimeInSeconds),MaxInstancesCount:cdk.numberToCloudFormation(properties.maxInstancesCount),MaxQueueSize:cdk.numberToCloudFormation(properties.maxQueueSize),Pinned:cdk.booleanToCloudFormation(properties.pinned),StatusTimeoutInSeconds:cdk.numberToCloudFormation(properties.statusTimeoutInSeconds),TimeoutInSeconds:cdk.numberToCloudFormation(properties.timeoutInSeconds)}):properties}function CfnComponentVersionLambdaExecutionParametersPropertyFromCloudFormation(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("environmentVariables","EnvironmentVariables",properties.EnvironmentVariables!=null?cfn_parse.FromCloudFormation.getMap(cfn_parse.FromCloudFormation.getString)(properties.EnvironmentVariables):void 0),ret.addPropertyResult("eventSources","EventSources",properties.EventSources!=null?cfn_parse.FromCloudFormation.getArray(CfnComponentVersionLambdaEventSourcePropertyFromCloudFormation)(properties.EventSources):void 0),ret.addPropertyResult("execArgs","ExecArgs",properties.ExecArgs!=null?cfn_parse.FromCloudFormation.getStringArray(properties.ExecArgs):void 0),ret.addPropertyResult("inputPayloadEncodingType","InputPayloadEncodingType",properties.InputPayloadEncodingType!=null?cfn_parse.FromCloudFormation.getString(properties.InputPayloadEncodingType):void 0),ret.addPropertyResult("linuxProcessParams","LinuxProcessParams",properties.LinuxProcessParams!=null?CfnComponentVersionLambdaLinuxProcessParamsPropertyFromCloudFormation(properties.LinuxProcessParams):void 0),ret.addPropertyResult("maxIdleTimeInSeconds","MaxIdleTimeInSeconds",properties.MaxIdleTimeInSeconds!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaxIdleTimeInSeconds):void 0),ret.addPropertyResult("maxInstancesCount","MaxInstancesCount",properties.MaxInstancesCount!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaxInstancesCount):void 0),ret.addPropertyResult("maxQueueSize","MaxQueueSize",properties.MaxQueueSize!=null?cfn_parse.FromCloudFormation.getNumber(properties.MaxQueueSize):void 0),ret.addPropertyResult("pinned","Pinned",properties.Pinned!=null?cfn_parse.FromCloudFormation.getBoolean(properties.Pinned):void 0),ret.addPropertyResult("statusTimeoutInSeconds","StatusTimeoutInSeconds",properties.StatusTimeoutInSeconds!=null?cfn_parse.FromCloudFormation.getNumber(properties.StatusTimeoutInSeconds):void 0),ret.addPropertyResult("timeoutInSeconds","TimeoutInSeconds",properties.TimeoutInSeconds!=null?cfn_parse.FromCloudFormation.getNumber(properties.TimeoutInSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComponentVersion_LambdaFunctionRecipeSourcePropertyValidator(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("componentDependencies",cdk.hashValidator(CfnComponentVersion_ComponentDependencyRequirementPropertyValidator))(properties.componentDependencies)),errors.collect(cdk.propertyValidator("componentLambdaParameters",CfnComponentVersion_LambdaExecutionParametersPropertyValidator)(properties.componentLambdaParameters)),errors.collect(cdk.propertyValidator("componentName",cdk.validateString)(properties.componentName)),errors.collect(cdk.propertyValidator("componentPlatforms",cdk.listValidator(CfnComponentVersion_ComponentPlatformPropertyValidator))(properties.componentPlatforms)),errors.collect(cdk.propertyValidator("componentVersion",cdk.validateString)(properties.componentVersion)),errors.collect(cdk.propertyValidator("lambdaArn",cdk.validateString)(properties.lambdaArn)),errors.wrap('supplied properties not correct for "LambdaFunctionRecipeSourceProperty"')}function cfnComponentVersionLambdaFunctionRecipeSourcePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnComponentVersion_LambdaFunctionRecipeSourcePropertyValidator(properties).assertSuccess(),{ComponentDependencies:cdk.hashMapper(cfnComponentVersionComponentDependencyRequirementPropertyToCloudFormation)(properties.componentDependencies),ComponentLambdaParameters:cfnComponentVersionLambdaExecutionParametersPropertyToCloudFormation(properties.componentLambdaParameters),ComponentName:cdk.stringToCloudFormation(properties.componentName),ComponentPlatforms:cdk.listMapper(cfnComponentVersionComponentPlatformPropertyToCloudFormation)(properties.componentPlatforms),ComponentVersion:cdk.stringToCloudFormation(properties.componentVersion),LambdaArn:cdk.stringToCloudFormation(properties.lambdaArn)}):properties}function CfnComponentVersionLambdaFunctionRecipeSourcePropertyFromCloudFormation(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("componentDependencies","ComponentDependencies",properties.ComponentDependencies!=null?cfn_parse.FromCloudFormation.getMap(CfnComponentVersionComponentDependencyRequirementPropertyFromCloudFormation)(properties.ComponentDependencies):void 0),ret.addPropertyResult("componentLambdaParameters","ComponentLambdaParameters",properties.ComponentLambdaParameters!=null?CfnComponentVersionLambdaExecutionParametersPropertyFromCloudFormation(properties.ComponentLambdaParameters):void 0),ret.addPropertyResult("componentName","ComponentName",properties.ComponentName!=null?cfn_parse.FromCloudFormation.getString(properties.ComponentName):void 0),ret.addPropertyResult("componentPlatforms","ComponentPlatforms",properties.ComponentPlatforms!=null?cfn_parse.FromCloudFormation.getArray(CfnComponentVersionComponentPlatformPropertyFromCloudFormation)(properties.ComponentPlatforms):void 0),ret.addPropertyResult("componentVersion","ComponentVersion",properties.ComponentVersion!=null?cfn_parse.FromCloudFormation.getString(properties.ComponentVersion):void 0),ret.addPropertyResult("lambdaArn","LambdaArn",properties.LambdaArn!=null?cfn_parse.FromCloudFormation.getString(properties.LambdaArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComponentVersion_LambdaLinuxProcessParamsPropertyValidator(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("containerParams",CfnComponentVersion_LambdaContainerParamsPropertyValidator)(properties.containerParams)),errors.collect(cdk.propertyValidator("isolationMode",cdk.validateString)(properties.isolationMode)),errors.wrap('supplied properties not correct for "LambdaLinuxProcessParamsProperty"')}function cfnComponentVersionLambdaLinuxProcessParamsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnComponentVersion_LambdaLinuxProcessParamsPropertyValidator(properties).assertSuccess(),{ContainerParams:cfnComponentVersionLambdaContainerParamsPropertyToCloudFormation(properties.containerParams),IsolationMode:cdk.stringToCloudFormation(properties.isolationMode)}):properties}function CfnComponentVersionLambdaLinuxProcessParamsPropertyFromCloudFormation(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("containerParams","ContainerParams",properties.ContainerParams!=null?CfnComponentVersionLambdaContainerParamsPropertyFromCloudFormation(properties.ContainerParams):void 0),ret.addPropertyResult("isolationMode","IsolationMode",properties.IsolationMode!=null?cfn_parse.FromCloudFormation.getString(properties.IsolationMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnComponentVersion_LambdaVolumeMountPropertyValidator(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("addGroupOwner",cdk.validateBoolean)(properties.addGroupOwner)),errors.collect(cdk.propertyValidator("destinationPath",cdk.validateString)(properties.destinationPath)),errors.collect(cdk.propertyValidator("permission",cdk.validateString)(properties.permission)),errors.collect(cdk.propertyValidator("sourcePath",cdk.validateString)(properties.sourcePath)),errors.wrap('supplied properties not correct for "LambdaVolumeMountProperty"')}function cfnComponentVersionLambdaVolumeMountPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnComponentVersion_LambdaVolumeMountPropertyValidator(properties).assertSuccess(),{AddGroupOwner:cdk.booleanToCloudFormation(properties.addGroupOwner),DestinationPath:cdk.stringToCloudFormation(properties.destinationPath),Permission:cdk.stringToCloudFormation(properties.permission),SourcePath:cdk.stringToCloudFormation(properties.sourcePath)}):properties}function CfnComponentVersionLambdaVolumeMountPropertyFromCloudFormation(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("addGroupOwner","AddGroupOwner",properties.AddGroupOwner!=null?cfn_parse.FromCloudFormation.getBoolean(properties.AddGroupOwner):void 0),ret.addPropertyResult("destinationPath","DestinationPath",properties.DestinationPath!=null?cfn_parse.FromCloudFormation.getString(properties.DestinationPath):void 0),ret.addPropertyResult("permission","Permission",properties.Permission!=null?cfn_parse.FromCloudFormation.getString(properties.Permission):void 0),ret.addPropertyResult("sourcePath","SourcePath",properties.SourcePath!=null?cfn_parse.FromCloudFormation.getString(properties.SourcePath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeploymentPropsValidator(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.hashValidator(CfnDeployment_ComponentDeploymentSpecificationPropertyValidator))(properties.components)),errors.collect(cdk.propertyValidator("deploymentName",cdk.validateString)(properties.deploymentName)),errors.collect(cdk.propertyValidator("deploymentPolicies",CfnDeployment_DeploymentPoliciesPropertyValidator)(properties.deploymentPolicies)),errors.collect(cdk.propertyValidator("iotJobConfiguration",CfnDeployment_DeploymentIoTJobConfigurationPropertyValidator)(properties.iotJobConfiguration)),errors.collect(cdk.propertyValidator("parentTargetArn",cdk.validateString)(properties.parentTargetArn)),errors.collect(cdk.propertyValidator("tags",cdk.hashValidator(cdk.validateString))(properties.tags)),errors.collect(cdk.propertyValidator("targetArn",cdk.requiredValidator)(properties.targetArn)),errors.collect(cdk.propertyValidator("targetArn",cdk.validateString)(properties.targetArn)),errors.wrap('supplied properties not correct for "CfnDeploymentProps"')}function cfnDeploymentPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDeploymentPropsValidator(properties).assertSuccess(),{TargetArn:cdk.stringToCloudFormation(properties.targetArn),Components:cdk.hashMapper(cfnDeploymentComponentDeploymentSpecificationPropertyToCloudFormation)(properties.components),DeploymentName:cdk.stringToCloudFormation(properties.deploymentName),DeploymentPolicies:cfnDeploymentDeploymentPoliciesPropertyToCloudFormation(properties.deploymentPolicies),IotJobConfiguration:cfnDeploymentDeploymentIoTJobConfigurationPropertyToCloudFormation(properties.iotJobConfiguration),ParentTargetArn:cdk.stringToCloudFormation(properties.parentTargetArn),Tags:cdk.hashMapper(cdk.stringToCloudFormation)(properties.tags)}):properties}function CfnDeploymentPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("targetArn","TargetArn",cfn_parse.FromCloudFormation.getString(properties.TargetArn)),ret.addPropertyResult("components","Components",properties.Components!=null?cfn_parse.FromCloudFormation.getMap(CfnDeploymentComponentDeploymentSpecificationPropertyFromCloudFormation)(properties.Components):void 0),ret.addPropertyResult("deploymentName","DeploymentName",properties.DeploymentName!=null?cfn_parse.FromCloudFormation.getString(properties.DeploymentName):void 0),ret.addPropertyResult("deploymentPolicies","DeploymentPolicies",properties.DeploymentPolicies!=null?CfnDeploymentDeploymentPoliciesPropertyFromCloudFormation(properties.DeploymentPolicies):void 0),ret.addPropertyResult("iotJobConfiguration","IotJobConfiguration",properties.IotJobConfiguration!=null?CfnDeploymentDeploymentIoTJobConfigurationPropertyFromCloudFormation(properties.IotJobConfiguration):void 0),ret.addPropertyResult("parentTargetArn","ParentTargetArn",properties.ParentTargetArn!=null?cfn_parse.FromCloudFormation.getString(properties.ParentTargetArn):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 CfnDeployment extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnDeployment.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_greengrassv2_CfnDeploymentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDeployment),error}cdk.requireProperty(props,"targetArn",this),this.attrDeploymentId=cdk.Token.asString(this.getAtt("DeploymentId",cdk.ResolutionTypeHint.STRING)),this.targetArn=props.targetArn,this.components=props.components,this.deploymentName=props.deploymentName,this.deploymentPolicies=props.deploymentPolicies,this.iotJobConfiguration=props.iotJobConfiguration,this.parentTargetArn=props.parentTargetArn,this.tags=new cdk.TagManager(cdk.TagType.MAP,"AWS::GreengrassV2::Deployment",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDeploymentPropsFromCloudFormation(resourceProperties),ret=new CfnDeployment(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",CfnDeployment.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{targetArn:this.targetArn,components:this.components,deploymentName:this.deploymentName,deploymentPolicies:this.deploymentPolicies,iotJobConfiguration:this.iotJobConfiguration,parentTargetArn:this.parentTargetArn,tags:this.tags.renderTags()}}renderProperties(props){return cfnDeploymentPropsToCloudFormation(props)}}exports.CfnDeployment=CfnDeployment,_b=JSII_RTTI_SYMBOL_1,CfnDeployment[_b]={fqn:"aws-cdk-lib.aws_greengrassv2.CfnDeployment",version:"2.70.0"},CfnDeployment.CFN_RESOURCE_TYPE_NAME="AWS::GreengrassV2::Deployment";function CfnDeployment_ComponentConfigurationUpdatePropertyValidator(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("merge",cdk.validateString)(properties.merge)),errors.collect(cdk.propertyValidator("reset",cdk.listValidator(cdk.validateString))(properties.reset)),errors.wrap('supplied properties not correct for "ComponentConfigurationUpdateProperty"')}function cfnDeploymentComponentConfigurationUpdatePropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDeployment_ComponentConfigurationUpdatePropertyValidator(properties).assertSuccess(),{Merge:cdk.stringToCloudFormation(properties.merge),Reset:cdk.listMapper(cdk.stringToCloudFormation)(properties.reset)}):properties}function CfnDeploymentComponentConfigurationUpdatePropertyFromCloudFormation(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("merge","Merge",properties.Merge!=null?cfn_parse.FromCloudFormation.getString(properties.Merge):void 0),ret.addPropertyResult("reset","Reset",properties.Reset!=null?cfn_parse.FromCloudFormation.getStringArray(properties.Reset):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeployment_ComponentDeploymentSpecificationPropertyValidator(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("componentVersion",cdk.validateString)(properties.componentVersion)),errors.collect(cdk.propertyValidator("configurationUpdate",CfnDeployment_ComponentConfigurationUpdatePropertyValidator)(properties.configurationUpdate)),errors.collect(cdk.propertyValidator("runWith",CfnDeployment_ComponentRunWithPropertyValidator)(properties.runWith)),errors.wrap('supplied properties not correct for "ComponentDeploymentSpecificationProperty"')}function cfnDeploymentComponentDeploymentSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDeployment_ComponentDeploymentSpecificationPropertyValidator(properties).assertSuccess(),{ComponentVersion:cdk.stringToCloudFormation(properties.componentVersion),ConfigurationUpdate:cfnDeploymentComponentConfigurationUpdatePropertyToCloudFormation(properties.configurationUpdate),RunWith:cfnDeploymentComponentRunWithPropertyToCloudFormation(properties.runWith)}):properties}function CfnDeploymentComponentDeploymentSpecificationPropertyFromCloudFormation(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("componentVersion","ComponentVersion",properties.ComponentVersion!=null?cfn_parse.FromCloudFormation.getString(properties.ComponentVersion):void 0),ret.addPropertyResult("configurationUpdate","ConfigurationUpdate",properties.ConfigurationUpdate!=null?CfnDeploymentComponentConfigurationUpdatePropertyFromCloudFormation(properties.ConfigurationUpdate):void 0),ret.addPropertyResult("runWith","RunWith",properties.RunWith!=null?CfnDeploymentComponentRunWithPropertyFromCloudFormation(properties.RunWith):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeployment_ComponentRunWithPropertyValidator(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("posixUser",cdk.validateString)(properties.posixUser)),errors.collect(cdk.propertyValidator("systemResourceLimits",CfnDeployment_SystemResourceLimitsPropertyValidator)(properties.systemResourceLimits)),errors.collect(cdk.propertyValidator("windowsUser",cdk.validateString)(properties.windowsUser)),errors.wrap('supplied properties not correct for "ComponentRunWithProperty"')}function cfnDeploymentComponentRunWithPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDeployment_ComponentRunWithPropertyValidator(properties).assertSuccess(),{PosixUser:cdk.stringToCloudFormation(properties.posixUser),SystemResourceLimits:cfnDeploymentSystemResourceLimitsPropertyToCloudFormation(properties.systemResourceLimits),WindowsUser:cdk.stringToCloudFormation(properties.windowsUser)}):properties}function CfnDeploymentComponentRunWithPropertyFromCloudFormation(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("posixUser","PosixUser",properties.PosixUser!=null?cfn_parse.FromCloudFormation.getString(properties.PosixUser):void 0),ret.addPropertyResult("systemResourceLimits","SystemResourceLimits",properties.SystemResourceLimits!=null?CfnDeploymentSystemResourceLimitsPropertyFromCloudFormation(properties.SystemResourceLimits):void 0),ret.addPropertyResult("windowsUser","WindowsUser",properties.WindowsUser!=null?cfn_parse.FromCloudFormation.getString(properties.WindowsUser):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeployment_DeploymentComponentUpdatePolicyPropertyValidator(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("action",cdk.validateString)(properties.action)),errors.collect(cdk.propertyValidator("timeoutInSeconds",cdk.validateNumber)(properties.timeoutInSeconds)),errors.wrap('supplied properties not correct for "DeploymentComponentUpdatePolicyProperty"')}function cfnDeploymentDeploymentComponentUpdatePolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDeployment_DeploymentComponentUpdatePolicyPropertyValidator(properties).assertSuccess(),{Action:cdk.stringToCloudFormation(properties.action),TimeoutInSeconds:cdk.numberToCloudFormation(properties.timeoutInSeconds)}):properties}function CfnDeploymentDeploymentComponentUpdatePolicyPropertyFromCloudFormation(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("action","Action",properties.Action!=null?cfn_parse.FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("timeoutInSeconds","TimeoutInSeconds",properties.TimeoutInSeconds!=null?cfn_parse.FromCloudFormation.getNumber(properties.TimeoutInSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeployment_DeploymentConfigurationValidationPolicyPropertyValidator(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("timeoutInSeconds",cdk.validateNumber)(properties.timeoutInSeconds)),errors.wrap('supplied properties not correct for "DeploymentConfigurationValidationPolicyProperty"')}function cfnDeploymentDeploymentConfigurationValidationPolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDeployment_DeploymentConfigurationValidationPolicyPropertyValidator(properties).assertSuccess(),{TimeoutInSeconds:cdk.numberToCloudFormation(properties.timeoutInSeconds)}):properties}function CfnDeploymentDeploymentConfigurationValidationPolicyPropertyFromCloudFormation(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("timeoutInSeconds","TimeoutInSeconds",properties.TimeoutInSeconds!=null?cfn_parse.FromCloudFormation.getNumber(properties.TimeoutInSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeployment_DeploymentIoTJobConfigurationPropertyValidator(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("abortConfig",CfnDeployment_IoTJobAbortConfigPropertyValidator)(properties.abortConfig)),errors.collect(cdk.propertyValidator("jobExecutionsRolloutConfig",CfnDeployment_IoTJobExecutionsRolloutConfigPropertyValidator)(properties.jobExecutionsRolloutConfig)),errors.collect(cdk.propertyValidator("timeoutConfig",CfnDeployment_IoTJobTimeoutConfigPropertyValidator)(properties.timeoutConfig)),errors.wrap('supplied properties not correct for "DeploymentIoTJobConfigurationProperty"')}function cfnDeploymentDeploymentIoTJobConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDeployment_DeploymentIoTJobConfigurationPropertyValidator(properties).assertSuccess(),{AbortConfig:cfnDeploymentIoTJobAbortConfigPropertyToCloudFormation(properties.abortConfig),JobExecutionsRolloutConfig:cfnDeploymentIoTJobExecutionsRolloutConfigPropertyToCloudFormation(properties.jobExecutionsRolloutConfig),TimeoutConfig:cfnDeploymentIoTJobTimeoutConfigPropertyToCloudFormation(properties.timeoutConfig)}):properties}function CfnDeploymentDeploymentIoTJobConfigurationPropertyFromCloudFormation(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("abortConfig","AbortConfig",properties.AbortConfig!=null?CfnDeploymentIoTJobAbortConfigPropertyFromCloudFormation(properties.AbortConfig):void 0),ret.addPropertyResult("jobExecutionsRolloutConfig","JobExecutionsRolloutConfig",properties.JobExecutionsRolloutConfig!=null?CfnDeploymentIoTJobExecutionsRolloutConfigPropertyFromCloudFormation(properties.JobExecutionsRolloutConfig):void 0),ret.addPropertyResult("timeoutConfig","TimeoutConfig",properties.TimeoutConfig!=null?CfnDeploymentIoTJobTimeoutConfigPropertyFromCloudFormation(properties.TimeoutConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeployment_DeploymentPoliciesPropertyValidator(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("componentUpdatePolicy",CfnDeployment_DeploymentComponentUpdatePolicyPropertyValidator)(properties.componentUpdatePolicy)),errors.collect(cdk.propertyValidator("configurationValidationPolicy",CfnDeployment_DeploymentConfigurationValidationPolicyPropertyValidator)(properties.configurationValidationPolicy)),errors.collect(cdk.propertyValidator("failureHandlingPolicy",cdk.validateString)(properties.failureHandlingPolicy)),errors.wrap('supplied properties not correct for "DeploymentPoliciesProperty"')}function cfnDeploymentDeploymentPoliciesPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDeployment_DeploymentPoliciesPropertyValidator(properties).assertSuccess(),{ComponentUpdatePolicy:cfnDeploymentDeploymentComponentUpdatePolicyPropertyToCloudFormation(properties.componentUpdatePolicy),ConfigurationValidationPolicy:cfnDeploymentDeploymentConfigurationValidationPolicyPropertyToCloudFormation(properties.configurationValidationPolicy),FailureHandlingPolicy:cdk.stringToCloudFormation(properties.failureHandlingPolicy)}):properties}function CfnDeploymentDeploymentPoliciesPropertyFromCloudFormation(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("componentUpdatePolicy","ComponentUpdatePolicy",properties.ComponentUpdatePolicy!=null?CfnDeploymentDeploymentComponentUpdatePolicyPropertyFromCloudFormation(properties.ComponentUpdatePolicy):void 0),ret.addPropertyResult("configurationValidationPolicy","ConfigurationValidationPolicy",properties.ConfigurationValidationPolicy!=null?CfnDeploymentDeploymentConfigurationValidationPolicyPropertyFromCloudFormation(properties.ConfigurationValidationPolicy):void 0),ret.addPropertyResult("failureHandlingPolicy","FailureHandlingPolicy",properties.FailureHandlingPolicy!=null?cfn_parse.FromCloudFormation.getString(properties.FailureHandlingPolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeployment_IoTJobAbortConfigPropertyValidator(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("criteriaList",cdk.requiredValidator)(properties.criteriaList)),errors.collect(cdk.propertyValidator("criteriaList",cdk.listValidator(CfnDeployment_IoTJobAbortCriteriaPropertyValidator))(properties.criteriaList)),errors.wrap('supplied properties not correct for "IoTJobAbortConfigProperty"')}function cfnDeploymentIoTJobAbortConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDeployment_IoTJobAbortConfigPropertyValidator(properties).assertSuccess(),{CriteriaList:cdk.listMapper(cfnDeploymentIoTJobAbortCriteriaPropertyToCloudFormation)(properties.criteriaList)}):properties}function CfnDeploymentIoTJobAbortConfigPropertyFromCloudFormation(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("criteriaList","CriteriaList",cfn_parse.FromCloudFormation.getArray(CfnDeploymentIoTJobAbortCriteriaPropertyFromCloudFormation)(properties.CriteriaList)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDeployment_IoTJobAbortCriteriaPropertyValidator(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("action",cdk.requiredValidator)(properties.action)),errors.collect(cdk.propertyValidator("action",cdk.validateString)(properties.action)),errors.collect(cdk.propertyValidator("failureType",cdk.requiredValidator)(properties.failureType)),errors.collect(cdk.propertyValidator("failureType",cdk.validateString)(properties.failureType)),errors.collect(cdk.propertyValidator("minNumberOfExecutedThings",cdk.requiredValidator)(properties.minNumberOfExecutedThings)),errors.collect(cdk.propertyValidator("minNumberOfExecutedThings",cdk.validateNumber)(properties.minNumberOfExecutedThings)),errors.collect(cdk.propertyValidator("thresholdPercentage",cdk.requiredValidator)(properties.thresholdPercentage)),errors.collect(cdk.propertyValidator("thresholdPercentage",cdk.validateNumber)(properties.thresholdPercentage)),errors.wrap('supplied properties not correct for "IoTJobAbortCriteriaProperty"')}function cfnDeploymentIoTJobAbortCriteriaPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnDeployment_IoTJobAbortCriteriaPropertyValidator(properties).assertSuccess(),{Action:cdk.stringToCloudFormation(properties.action),FailureType:cdk.stringToCloudFormation(properties.failure