2 lines
106 KiB
JavaScript
2 lines
106 KiB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnPlan=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core/lib");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnPlan extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_arcregionswitch.CfnPlan",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ARCRegionSwitch::Plan";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPlanPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPlan(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnPlan(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPlan.CFN_RESOURCE_TYPE_NAME}static arnForPlan(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_arcregionswitch_IPlanRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPlan),error}return resource.planRef.planArn}_associatedAlarms;cdkTagManager;_description;_executionRole;_name;_primaryRegion;_recoveryApproach;_recoveryTimeObjectiveMinutes;_regions;_reportConfiguration;_tags;_triggers;_workflows;cfnPropertyNames={associatedAlarms:"AssociatedAlarms",tags:"Tags",description:"Description",executionRole:"ExecutionRole",name:"Name",primaryRegion:"PrimaryRegion",recoveryApproach:"RecoveryApproach",recoveryTimeObjectiveMinutes:"RecoveryTimeObjectiveMinutes",regions:"Regions",reportConfiguration:"ReportConfiguration",triggers:"Triggers",workflows:"Workflows"};constructor(scope,id,props){super(scope,id,{type:CfnPlan.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_arcregionswitch_CfnPlanProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPlan),error}cdk().requireProperty(props,"executionRole",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"recoveryApproach",this),cdk().requireProperty(props,"regions",this),cdk().requireProperty(props,"workflows",this),this._associatedAlarms=props.associatedAlarms,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::ARCRegionSwitch::Plan",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._executionRole=props.executionRole,this._name=props.name,this._primaryRegion=props.primaryRegion,this._recoveryApproach=props.recoveryApproach,this._recoveryTimeObjectiveMinutes=props.recoveryTimeObjectiveMinutes,this._regions=props.regions,this._reportConfiguration=props.reportConfiguration,this._tags=props.tags,this._triggers=props.triggers,this._workflows=props.workflows}get planRef(){return{planArn:this.ref}}get associatedAlarms(){return this._associatedAlarms}set associatedAlarms(value){cdk().traceProperty(this.node,"AssociatedAlarms"),this._associatedAlarms=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get executionRole(){return this._executionRole}set executionRole(value){cdk().traceProperty(this.node,"ExecutionRole"),this._executionRole=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get primaryRegion(){return this._primaryRegion}set primaryRegion(value){cdk().traceProperty(this.node,"PrimaryRegion"),this._primaryRegion=value}get recoveryApproach(){return this._recoveryApproach}set recoveryApproach(value){cdk().traceProperty(this.node,"RecoveryApproach"),this._recoveryApproach=value}get recoveryTimeObjectiveMinutes(){return this._recoveryTimeObjectiveMinutes}set recoveryTimeObjectiveMinutes(value){cdk().traceProperty(this.node,"RecoveryTimeObjectiveMinutes"),this._recoveryTimeObjectiveMinutes=value}get regions(){return this._regions}set regions(value){cdk().traceProperty(this.node,"Regions"),this._regions=value}get reportConfiguration(){return this._reportConfiguration}set reportConfiguration(value){cdk().traceProperty(this.node,"ReportConfiguration"),this._reportConfiguration=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get triggers(){return this._triggers}set triggers(value){cdk().traceProperty(this.node,"Triggers"),this._triggers=value}get workflows(){return this._workflows}set workflows(value){cdk().traceProperty(this.node,"Workflows"),this._workflows=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrHealthChecksForPlan(){return this.getAtt("HealthChecksForPlan")}get attrOwner(){return cdk().Token.asString(this.getAtt("Owner",cdk().ResolutionTypeHint.STRING))}get attrPlanHealthChecks(){return cdk().Token.asList(this.getAtt("PlanHealthChecks",cdk().ResolutionTypeHint.STRING_LIST))}get attrRoute53HealthChecks(){return this.getAtt("Route53HealthChecks")}get attrVersion(){return cdk().Token.asString(this.getAtt("Version",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{associatedAlarms:this._associatedAlarms,tags:this.cdkTagManager.renderTags(this._tags),description:this._description,executionRole:this._executionRole,name:this._name,primaryRegion:this._primaryRegion,recoveryApproach:this._recoveryApproach,recoveryTimeObjectiveMinutes:this._recoveryTimeObjectiveMinutes,regions:this._regions,reportConfiguration:this._reportConfiguration,triggers:this._triggers,workflows:this._workflows}}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",CfnPlan.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPlanPropsToCloudFormation(props)}}exports.CfnPlan=CfnPlan;function CfnPlanAssociatedAlarmPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("alarmType",cdk().requiredValidator)(properties.alarmType)),errors.collect(cdk().propertyValidator("alarmType",cdk().validateString)(properties.alarmType)),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("resourceIdentifier",cdk().requiredValidator)(properties.resourceIdentifier)),errors.collect(cdk().propertyValidator("resourceIdentifier",cdk().validateString)(properties.resourceIdentifier)),errors.wrap('supplied properties not correct for "AssociatedAlarmProperty"')}function convertCfnPlanAssociatedAlarmPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanAssociatedAlarmPropertyValidator(properties).assertSuccess(),{AlarmType:cdk().stringToCloudFormation(properties.alarmType),CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),ExternalId:cdk().stringToCloudFormation(properties.externalId),ResourceIdentifier:cdk().stringToCloudFormation(properties.resourceIdentifier)}):properties}function CfnPlanAssociatedAlarmPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("alarmType","AlarmType",properties.AlarmType!=null?cfn_parse().FromCloudFormation.getString(properties.AlarmType):void 0),ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("resourceIdentifier","ResourceIdentifier",properties.ResourceIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanS3ReportOutputConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucketOwner",cdk().validateString)(properties.bucketOwner)),errors.collect(cdk().propertyValidator("bucketPath",cdk().validateString)(properties.bucketPath)),errors.wrap('supplied properties not correct for "S3ReportOutputConfigurationProperty"')}function convertCfnPlanS3ReportOutputConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanS3ReportOutputConfigurationPropertyValidator(properties).assertSuccess(),{BucketOwner:cdk().stringToCloudFormation(properties.bucketOwner),BucketPath:cdk().stringToCloudFormation(properties.bucketPath)}):properties}function CfnPlanS3ReportOutputConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucketOwner","BucketOwner",properties.BucketOwner!=null?cfn_parse().FromCloudFormation.getString(properties.BucketOwner):void 0),ret.addPropertyResult("bucketPath","BucketPath",properties.BucketPath!=null?cfn_parse().FromCloudFormation.getString(properties.BucketPath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanReportOutputConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("s3Configuration",cdk().requiredValidator)(properties.s3Configuration)),errors.collect(cdk().propertyValidator("s3Configuration",CfnPlanS3ReportOutputConfigurationPropertyValidator)(properties.s3Configuration)),errors.wrap('supplied properties not correct for "ReportOutputConfigurationProperty"')}function convertCfnPlanReportOutputConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanReportOutputConfigurationPropertyValidator(properties).assertSuccess(),{S3Configuration:convertCfnPlanS3ReportOutputConfigurationPropertyToCloudFormation(properties.s3Configuration)}):properties}function CfnPlanReportOutputConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("s3Configuration","S3Configuration",properties.S3Configuration!=null?CfnPlanS3ReportOutputConfigurationPropertyFromCloudFormation(properties.S3Configuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanReportConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("reportOutput",cdk().listValidator(CfnPlanReportOutputConfigurationPropertyValidator))(properties.reportOutput)),errors.wrap('supplied properties not correct for "ReportConfigurationProperty"')}function convertCfnPlanReportConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanReportConfigurationPropertyValidator(properties).assertSuccess(),{ReportOutput:cdk().listMapper(convertCfnPlanReportOutputConfigurationPropertyToCloudFormation)(properties.reportOutput)}):properties}function CfnPlanReportConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("reportOutput","ReportOutput",properties.ReportOutput!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanReportOutputConfigurationPropertyFromCloudFormation)(properties.ReportOutput):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanTriggerConditionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("associatedAlarmName",cdk().requiredValidator)(properties.associatedAlarmName)),errors.collect(cdk().propertyValidator("associatedAlarmName",cdk().validateString)(properties.associatedAlarmName)),errors.collect(cdk().propertyValidator("condition",cdk().requiredValidator)(properties.condition)),errors.collect(cdk().propertyValidator("condition",cdk().validateString)(properties.condition)),errors.wrap('supplied properties not correct for "TriggerConditionProperty"')}function convertCfnPlanTriggerConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanTriggerConditionPropertyValidator(properties).assertSuccess(),{AssociatedAlarmName:cdk().stringToCloudFormation(properties.associatedAlarmName),Condition:cdk().stringToCloudFormation(properties.condition)}):properties}function CfnPlanTriggerConditionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("associatedAlarmName","AssociatedAlarmName",properties.AssociatedAlarmName!=null?cfn_parse().FromCloudFormation.getString(properties.AssociatedAlarmName):void 0),ret.addPropertyResult("condition","Condition",properties.Condition!=null?cfn_parse().FromCloudFormation.getString(properties.Condition):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanTriggerPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("conditions",cdk().requiredValidator)(properties.conditions)),errors.collect(cdk().propertyValidator("conditions",cdk().listValidator(CfnPlanTriggerConditionPropertyValidator))(properties.conditions)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("minDelayMinutesBetweenExecutions",cdk().requiredValidator)(properties.minDelayMinutesBetweenExecutions)),errors.collect(cdk().propertyValidator("minDelayMinutesBetweenExecutions",cdk().validateNumber)(properties.minDelayMinutesBetweenExecutions)),errors.collect(cdk().propertyValidator("targetRegion",cdk().requiredValidator)(properties.targetRegion)),errors.collect(cdk().propertyValidator("targetRegion",cdk().validateString)(properties.targetRegion)),errors.wrap('supplied properties not correct for "TriggerProperty"')}function convertCfnPlanTriggerPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanTriggerPropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),Conditions:cdk().listMapper(convertCfnPlanTriggerConditionPropertyToCloudFormation)(properties.conditions),Description:cdk().stringToCloudFormation(properties.description),MinDelayMinutesBetweenExecutions:cdk().numberToCloudFormation(properties.minDelayMinutesBetweenExecutions),TargetRegion:cdk().stringToCloudFormation(properties.targetRegion)}):properties}function CfnPlanTriggerPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("conditions","Conditions",properties.Conditions!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanTriggerConditionPropertyFromCloudFormation)(properties.Conditions):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("minDelayMinutesBetweenExecutions","MinDelayMinutesBetweenExecutions",properties.MinDelayMinutesBetweenExecutions!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinDelayMinutesBetweenExecutions):void 0),ret.addPropertyResult("targetRegion","TargetRegion",properties.TargetRegion!=null?cfn_parse().FromCloudFormation.getString(properties.TargetRegion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanLambdasPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.wrap('supplied properties not correct for "LambdasProperty"')}function convertCfnPlanLambdasPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanLambdasPropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),ExternalId:cdk().stringToCloudFormation(properties.externalId)}):properties}function CfnPlanLambdasPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanLambdaUngracefulPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("behavior",cdk().validateString)(properties.behavior)),errors.wrap('supplied properties not correct for "LambdaUngracefulProperty"')}function convertCfnPlanLambdaUngracefulPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanLambdaUngracefulPropertyValidator(properties).assertSuccess(),{Behavior:cdk().stringToCloudFormation(properties.behavior)}):properties}function CfnPlanLambdaUngracefulPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("behavior","Behavior",properties.Behavior!=null?cfn_parse().FromCloudFormation.getString(properties.Behavior):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanCustomActionLambdaConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("lambdas",cdk().requiredValidator)(properties.lambdas)),errors.collect(cdk().propertyValidator("lambdas",cdk().listValidator(CfnPlanLambdasPropertyValidator))(properties.lambdas)),errors.collect(cdk().propertyValidator("regionToRun",cdk().requiredValidator)(properties.regionToRun)),errors.collect(cdk().propertyValidator("regionToRun",cdk().validateString)(properties.regionToRun)),errors.collect(cdk().propertyValidator("retryIntervalMinutes",cdk().requiredValidator)(properties.retryIntervalMinutes)),errors.collect(cdk().propertyValidator("retryIntervalMinutes",cdk().validateNumber)(properties.retryIntervalMinutes)),errors.collect(cdk().propertyValidator("timeoutMinutes",cdk().validateNumber)(properties.timeoutMinutes)),errors.collect(cdk().propertyValidator("ungraceful",CfnPlanLambdaUngracefulPropertyValidator)(properties.ungraceful)),errors.wrap('supplied properties not correct for "CustomActionLambdaConfigurationProperty"')}function convertCfnPlanCustomActionLambdaConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanCustomActionLambdaConfigurationPropertyValidator(properties).assertSuccess(),{Lambdas:cdk().listMapper(convertCfnPlanLambdasPropertyToCloudFormation)(properties.lambdas),RegionToRun:cdk().stringToCloudFormation(properties.regionToRun),RetryIntervalMinutes:cdk().numberToCloudFormation(properties.retryIntervalMinutes),TimeoutMinutes:cdk().numberToCloudFormation(properties.timeoutMinutes),Ungraceful:convertCfnPlanLambdaUngracefulPropertyToCloudFormation(properties.ungraceful)}):properties}function CfnPlanCustomActionLambdaConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("lambdas","Lambdas",properties.Lambdas!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanLambdasPropertyFromCloudFormation)(properties.Lambdas):void 0),ret.addPropertyResult("regionToRun","RegionToRun",properties.RegionToRun!=null?cfn_parse().FromCloudFormation.getString(properties.RegionToRun):void 0),ret.addPropertyResult("retryIntervalMinutes","RetryIntervalMinutes",properties.RetryIntervalMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.RetryIntervalMinutes):void 0),ret.addPropertyResult("timeoutMinutes","TimeoutMinutes",properties.TimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutMinutes):void 0),ret.addPropertyResult("ungraceful","Ungraceful",properties.Ungraceful!=null?CfnPlanLambdaUngracefulPropertyFromCloudFormation(properties.Ungraceful):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanAsgPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.wrap('supplied properties not correct for "AsgProperty"')}function convertCfnPlanAsgPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanAsgPropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),ExternalId:cdk().stringToCloudFormation(properties.externalId)}):properties}function CfnPlanAsgPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanEc2UngracefulPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("minimumSuccessPercentage",cdk().requiredValidator)(properties.minimumSuccessPercentage)),errors.collect(cdk().propertyValidator("minimumSuccessPercentage",cdk().validateNumber)(properties.minimumSuccessPercentage)),errors.wrap('supplied properties not correct for "Ec2UngracefulProperty"')}function convertCfnPlanEc2UngracefulPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanEc2UngracefulPropertyValidator(properties).assertSuccess(),{MinimumSuccessPercentage:cdk().numberToCloudFormation(properties.minimumSuccessPercentage)}):properties}function CfnPlanEc2UngracefulPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("minimumSuccessPercentage","MinimumSuccessPercentage",properties.MinimumSuccessPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumSuccessPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanEc2AsgCapacityIncreaseConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("asgs",cdk().requiredValidator)(properties.asgs)),errors.collect(cdk().propertyValidator("asgs",cdk().listValidator(CfnPlanAsgPropertyValidator))(properties.asgs)),errors.collect(cdk().propertyValidator("capacityMonitoringApproach",cdk().validateString)(properties.capacityMonitoringApproach)),errors.collect(cdk().propertyValidator("targetPercent",cdk().validateNumber)(properties.targetPercent)),errors.collect(cdk().propertyValidator("timeoutMinutes",cdk().validateNumber)(properties.timeoutMinutes)),errors.collect(cdk().propertyValidator("ungraceful",CfnPlanEc2UngracefulPropertyValidator)(properties.ungraceful)),errors.wrap('supplied properties not correct for "Ec2AsgCapacityIncreaseConfigurationProperty"')}function convertCfnPlanEc2AsgCapacityIncreaseConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanEc2AsgCapacityIncreaseConfigurationPropertyValidator(properties).assertSuccess(),{Asgs:cdk().listMapper(convertCfnPlanAsgPropertyToCloudFormation)(properties.asgs),CapacityMonitoringApproach:cdk().stringToCloudFormation(properties.capacityMonitoringApproach),TargetPercent:cdk().numberToCloudFormation(properties.targetPercent),TimeoutMinutes:cdk().numberToCloudFormation(properties.timeoutMinutes),Ungraceful:convertCfnPlanEc2UngracefulPropertyToCloudFormation(properties.ungraceful)}):properties}function CfnPlanEc2AsgCapacityIncreaseConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("asgs","Asgs",properties.Asgs!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanAsgPropertyFromCloudFormation)(properties.Asgs):void 0),ret.addPropertyResult("capacityMonitoringApproach","CapacityMonitoringApproach",properties.CapacityMonitoringApproach!=null?cfn_parse().FromCloudFormation.getString(properties.CapacityMonitoringApproach):void 0),ret.addPropertyResult("targetPercent","TargetPercent",properties.TargetPercent!=null?cfn_parse().FromCloudFormation.getNumber(properties.TargetPercent):void 0),ret.addPropertyResult("timeoutMinutes","TimeoutMinutes",properties.TimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutMinutes):void 0),ret.addPropertyResult("ungraceful","Ungraceful",properties.Ungraceful!=null?CfnPlanEc2UngracefulPropertyFromCloudFormation(properties.Ungraceful):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanExecutionApprovalConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("approvalRole",cdk().requiredValidator)(properties.approvalRole)),errors.collect(cdk().propertyValidator("approvalRole",cdk().validateString)(properties.approvalRole)),errors.collect(cdk().propertyValidator("timeoutMinutes",cdk().validateNumber)(properties.timeoutMinutes)),errors.wrap('supplied properties not correct for "ExecutionApprovalConfigurationProperty"')}function convertCfnPlanExecutionApprovalConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanExecutionApprovalConfigurationPropertyValidator(properties).assertSuccess(),{ApprovalRole:cdk().stringToCloudFormation(properties.approvalRole),TimeoutMinutes:cdk().numberToCloudFormation(properties.timeoutMinutes)}):properties}function CfnPlanExecutionApprovalConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("approvalRole","ApprovalRole",properties.ApprovalRole!=null?cfn_parse().FromCloudFormation.getString(properties.ApprovalRole):void 0),ret.addPropertyResult("timeoutMinutes","TimeoutMinutes",properties.TimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutMinutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanArcRoutingControlStatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("routingControlArn",cdk().requiredValidator)(properties.routingControlArn)),errors.collect(cdk().propertyValidator("routingControlArn",cdk().validateString)(properties.routingControlArn)),errors.collect(cdk().propertyValidator("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.wrap('supplied properties not correct for "ArcRoutingControlStateProperty"')}function convertCfnPlanArcRoutingControlStatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanArcRoutingControlStatePropertyValidator(properties).assertSuccess(),{RoutingControlArn:cdk().stringToCloudFormation(properties.routingControlArn),State:cdk().stringToCloudFormation(properties.state)}):properties}function CfnPlanArcRoutingControlStatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("routingControlArn","RoutingControlArn",properties.RoutingControlArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoutingControlArn):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanArcRoutingControlConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("regionAndRoutingControls",cdk().requiredValidator)(properties.regionAndRoutingControls)),errors.collect(cdk().propertyValidator("regionAndRoutingControls",cdk().hashValidator(cdk().listValidator(CfnPlanArcRoutingControlStatePropertyValidator)))(properties.regionAndRoutingControls)),errors.collect(cdk().propertyValidator("timeoutMinutes",cdk().validateNumber)(properties.timeoutMinutes)),errors.wrap('supplied properties not correct for "ArcRoutingControlConfigurationProperty"')}function convertCfnPlanArcRoutingControlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanArcRoutingControlConfigurationPropertyValidator(properties).assertSuccess(),{CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),ExternalId:cdk().stringToCloudFormation(properties.externalId),RegionAndRoutingControls:cdk().hashMapper(cdk().listMapper(convertCfnPlanArcRoutingControlStatePropertyToCloudFormation))(properties.regionAndRoutingControls),TimeoutMinutes:cdk().numberToCloudFormation(properties.timeoutMinutes)}):properties}function CfnPlanArcRoutingControlConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("regionAndRoutingControls","RegionAndRoutingControls",properties.RegionAndRoutingControls!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getArray(CfnPlanArcRoutingControlStatePropertyFromCloudFormation))(properties.RegionAndRoutingControls):void 0),ret.addPropertyResult("timeoutMinutes","TimeoutMinutes",properties.TimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutMinutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanGlobalAuroraUngracefulPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("ungraceful",cdk().validateString)(properties.ungraceful)),errors.wrap('supplied properties not correct for "GlobalAuroraUngracefulProperty"')}function convertCfnPlanGlobalAuroraUngracefulPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanGlobalAuroraUngracefulPropertyValidator(properties).assertSuccess(),{Ungraceful:cdk().stringToCloudFormation(properties.ungraceful)}):properties}function CfnPlanGlobalAuroraUngracefulPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("ungraceful","Ungraceful",properties.Ungraceful!=null?cfn_parse().FromCloudFormation.getString(properties.Ungraceful):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanGlobalAuroraConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("behavior",cdk().requiredValidator)(properties.behavior)),errors.collect(cdk().propertyValidator("behavior",cdk().validateString)(properties.behavior)),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("databaseClusterArns",cdk().requiredValidator)(properties.databaseClusterArns)),errors.collect(cdk().propertyValidator("databaseClusterArns",cdk().listValidator(cdk().validateString))(properties.databaseClusterArns)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("globalClusterIdentifier",cdk().requiredValidator)(properties.globalClusterIdentifier)),errors.collect(cdk().propertyValidator("globalClusterIdentifier",cdk().validateString)(properties.globalClusterIdentifier)),errors.collect(cdk().propertyValidator("timeoutMinutes",cdk().validateNumber)(properties.timeoutMinutes)),errors.collect(cdk().propertyValidator("ungraceful",CfnPlanGlobalAuroraUngracefulPropertyValidator)(properties.ungraceful)),errors.wrap('supplied properties not correct for "GlobalAuroraConfigurationProperty"')}function convertCfnPlanGlobalAuroraConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanGlobalAuroraConfigurationPropertyValidator(properties).assertSuccess(),{Behavior:cdk().stringToCloudFormation(properties.behavior),CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),DatabaseClusterArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.databaseClusterArns),ExternalId:cdk().stringToCloudFormation(properties.externalId),GlobalClusterIdentifier:cdk().stringToCloudFormation(properties.globalClusterIdentifier),TimeoutMinutes:cdk().numberToCloudFormation(properties.timeoutMinutes),Ungraceful:convertCfnPlanGlobalAuroraUngracefulPropertyToCloudFormation(properties.ungraceful)}):properties}function CfnPlanGlobalAuroraConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("behavior","Behavior",properties.Behavior!=null?cfn_parse().FromCloudFormation.getString(properties.Behavior):void 0),ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("databaseClusterArns","DatabaseClusterArns",properties.DatabaseClusterArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DatabaseClusterArns):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("globalClusterIdentifier","GlobalClusterIdentifier",properties.GlobalClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.GlobalClusterIdentifier):void 0),ret.addPropertyResult("timeoutMinutes","TimeoutMinutes",properties.TimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutMinutes):void 0),ret.addPropertyResult("ungraceful","Ungraceful",properties.Ungraceful!=null?CfnPlanGlobalAuroraUngracefulPropertyFromCloudFormation(properties.Ungraceful):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanParallelExecutionBlockConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("steps",cdk().requiredValidator)(properties.steps)),errors.collect(cdk().propertyValidator("steps",cdk().listValidator(CfnPlanStepPropertyValidator))(properties.steps)),errors.wrap('supplied properties not correct for "ParallelExecutionBlockConfigurationProperty"')}function convertCfnPlanParallelExecutionBlockConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanParallelExecutionBlockConfigurationPropertyValidator(properties).assertSuccess(),{Steps:cdk().listMapper(convertCfnPlanStepPropertyToCloudFormation)(properties.steps)}):properties}function CfnPlanParallelExecutionBlockConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("steps","Steps",properties.Steps!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanStepPropertyFromCloudFormation)(properties.Steps):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanRegionSwitchPlanConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arn",cdk().requiredValidator)(properties.arn)),errors.collect(cdk().propertyValidator("arn",cdk().validateString)(properties.arn)),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.wrap('supplied properties not correct for "RegionSwitchPlanConfigurationProperty"')}function convertCfnPlanRegionSwitchPlanConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanRegionSwitchPlanConfigurationPropertyValidator(properties).assertSuccess(),{Arn:cdk().stringToCloudFormation(properties.arn),CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),ExternalId:cdk().stringToCloudFormation(properties.externalId)}):properties}function CfnPlanRegionSwitchPlanConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arn","Arn",properties.Arn!=null?cfn_parse().FromCloudFormation.getString(properties.Arn):void 0),ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanServicePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clusterArn",cdk().validateString)(properties.clusterArn)),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("serviceArn",cdk().validateString)(properties.serviceArn)),errors.wrap('supplied properties not correct for "ServiceProperty"')}function convertCfnPlanServicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanServicePropertyValidator(properties).assertSuccess(),{ClusterArn:cdk().stringToCloudFormation(properties.clusterArn),CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),ExternalId:cdk().stringToCloudFormation(properties.externalId),ServiceArn:cdk().stringToCloudFormation(properties.serviceArn)}):properties}function CfnPlanServicePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterArn","ClusterArn",properties.ClusterArn!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterArn):void 0),ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("serviceArn","ServiceArn",properties.ServiceArn!=null?cfn_parse().FromCloudFormation.getString(properties.ServiceArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanEcsUngracefulPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("minimumSuccessPercentage",cdk().requiredValidator)(properties.minimumSuccessPercentage)),errors.collect(cdk().propertyValidator("minimumSuccessPercentage",cdk().validateNumber)(properties.minimumSuccessPercentage)),errors.wrap('supplied properties not correct for "EcsUngracefulProperty"')}function convertCfnPlanEcsUngracefulPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanEcsUngracefulPropertyValidator(properties).assertSuccess(),{MinimumSuccessPercentage:cdk().numberToCloudFormation(properties.minimumSuccessPercentage)}):properties}function CfnPlanEcsUngracefulPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("minimumSuccessPercentage","MinimumSuccessPercentage",properties.MinimumSuccessPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumSuccessPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanEcsCapacityIncreaseConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("capacityMonitoringApproach",cdk().validateString)(properties.capacityMonitoringApproach)),errors.collect(cdk().propertyValidator("services",cdk().requiredValidator)(properties.services)),errors.collect(cdk().propertyValidator("services",cdk().listValidator(CfnPlanServicePropertyValidator))(properties.services)),errors.collect(cdk().propertyValidator("targetPercent",cdk().validateNumber)(properties.targetPercent)),errors.collect(cdk().propertyValidator("timeoutMinutes",cdk().validateNumber)(properties.timeoutMinutes)),errors.collect(cdk().propertyValidator("ungraceful",CfnPlanEcsUngracefulPropertyValidator)(properties.ungraceful)),errors.wrap('supplied properties not correct for "EcsCapacityIncreaseConfigurationProperty"')}function convertCfnPlanEcsCapacityIncreaseConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanEcsCapacityIncreaseConfigurationPropertyValidator(properties).assertSuccess(),{CapacityMonitoringApproach:cdk().stringToCloudFormation(properties.capacityMonitoringApproach),Services:cdk().listMapper(convertCfnPlanServicePropertyToCloudFormation)(properties.services),TargetPercent:cdk().numberToCloudFormation(properties.targetPercent),TimeoutMinutes:cdk().numberToCloudFormation(properties.timeoutMinutes),Ungraceful:convertCfnPlanEcsUngracefulPropertyToCloudFormation(properties.ungraceful)}):properties}function CfnPlanEcsCapacityIncreaseConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("capacityMonitoringApproach","CapacityMonitoringApproach",properties.CapacityMonitoringApproach!=null?cfn_parse().FromCloudFormation.getString(properties.CapacityMonitoringApproach):void 0),ret.addPropertyResult("services","Services",properties.Services!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanServicePropertyFromCloudFormation)(properties.Services):void 0),ret.addPropertyResult("targetPercent","TargetPercent",properties.TargetPercent!=null?cfn_parse().FromCloudFormation.getNumber(properties.TargetPercent):void 0),ret.addPropertyResult("timeoutMinutes","TimeoutMinutes",properties.TimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutMinutes):void 0),ret.addPropertyResult("ungraceful","Ungraceful",properties.Ungraceful!=null?CfnPlanEcsUngracefulPropertyFromCloudFormation(properties.Ungraceful):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanKubernetesResourceTypePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("apiVersion",cdk().requiredValidator)(properties.apiVersion)),errors.collect(cdk().propertyValidator("apiVersion",cdk().validateString)(properties.apiVersion)),errors.collect(cdk().propertyValidator("kind",cdk().requiredValidator)(properties.kind)),errors.collect(cdk().propertyValidator("kind",cdk().validateString)(properties.kind)),errors.wrap('supplied properties not correct for "KubernetesResourceTypeProperty"')}function convertCfnPlanKubernetesResourceTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanKubernetesResourceTypePropertyValidator(properties).assertSuccess(),{ApiVersion:cdk().stringToCloudFormation(properties.apiVersion),Kind:cdk().stringToCloudFormation(properties.kind)}):properties}function CfnPlanKubernetesResourceTypePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("apiVersion","ApiVersion",properties.ApiVersion!=null?cfn_parse().FromCloudFormation.getString(properties.ApiVersion):void 0),ret.addPropertyResult("kind","Kind",properties.Kind!=null?cfn_parse().FromCloudFormation.getString(properties.Kind):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanKubernetesScalingResourcePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("hpaName",cdk().validateString)(properties.hpaName)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("namespace",cdk().requiredValidator)(properties.namespace)),errors.collect(cdk().propertyValidator("namespace",cdk().validateString)(properties.namespace)),errors.wrap('supplied properties not correct for "KubernetesScalingResourceProperty"')}function convertCfnPlanKubernetesScalingResourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanKubernetesScalingResourcePropertyValidator(properties).assertSuccess(),{HpaName:cdk().stringToCloudFormation(properties.hpaName),Name:cdk().stringToCloudFormation(properties.name),Namespace:cdk().stringToCloudFormation(properties.namespace)}):properties}function CfnPlanKubernetesScalingResourcePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("hpaName","HpaName",properties.HpaName!=null?cfn_parse().FromCloudFormation.getString(properties.HpaName):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse().FromCloudFormation.getString(properties.Namespace):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanEksClusterPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clusterArn",cdk().requiredValidator)(properties.clusterArn)),errors.collect(cdk().propertyValidator("clusterArn",cdk().validateString)(properties.clusterArn)),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.wrap('supplied properties not correct for "EksClusterProperty"')}function convertCfnPlanEksClusterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanEksClusterPropertyValidator(properties).assertSuccess(),{ClusterArn:cdk().stringToCloudFormation(properties.clusterArn),CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),ExternalId:cdk().stringToCloudFormation(properties.externalId)}):properties}function CfnPlanEksClusterPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clusterArn","ClusterArn",properties.ClusterArn!=null?cfn_parse().FromCloudFormation.getString(properties.ClusterArn):void 0),ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanEksResourceScalingUngracefulPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("minimumSuccessPercentage",cdk().requiredValidator)(properties.minimumSuccessPercentage)),errors.collect(cdk().propertyValidator("minimumSuccessPercentage",cdk().validateNumber)(properties.minimumSuccessPercentage)),errors.wrap('supplied properties not correct for "EksResourceScalingUngracefulProperty"')}function convertCfnPlanEksResourceScalingUngracefulPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanEksResourceScalingUngracefulPropertyValidator(properties).assertSuccess(),{MinimumSuccessPercentage:cdk().numberToCloudFormation(properties.minimumSuccessPercentage)}):properties}function CfnPlanEksResourceScalingUngracefulPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("minimumSuccessPercentage","MinimumSuccessPercentage",properties.MinimumSuccessPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumSuccessPercentage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanEksResourceScalingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("capacityMonitoringApproach",cdk().validateString)(properties.capacityMonitoringApproach)),errors.collect(cdk().propertyValidator("eksClusters",cdk().listValidator(CfnPlanEksClusterPropertyValidator))(properties.eksClusters)),errors.collect(cdk().propertyValidator("kubernetesResourceType",cdk().requiredValidator)(properties.kubernetesResourceType)),errors.collect(cdk().propertyValidator("kubernetesResourceType",CfnPlanKubernetesResourceTypePropertyValidator)(properties.kubernetesResourceType)),errors.collect(cdk().propertyValidator("scalingResources",cdk().listValidator(cdk().hashValidator(cdk().hashValidator(CfnPlanKubernetesScalingResourcePropertyValidator))))(properties.scalingResources)),errors.collect(cdk().propertyValidator("targetPercent",cdk().validateNumber)(properties.targetPercent)),errors.collect(cdk().propertyValidator("timeoutMinutes",cdk().validateNumber)(properties.timeoutMinutes)),errors.collect(cdk().propertyValidator("ungraceful",CfnPlanEksResourceScalingUngracefulPropertyValidator)(properties.ungraceful)),errors.wrap('supplied properties not correct for "EksResourceScalingConfigurationProperty"')}function convertCfnPlanEksResourceScalingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanEksResourceScalingConfigurationPropertyValidator(properties).assertSuccess(),{CapacityMonitoringApproach:cdk().stringToCloudFormation(properties.capacityMonitoringApproach),EksClusters:cdk().listMapper(convertCfnPlanEksClusterPropertyToCloudFormation)(properties.eksClusters),KubernetesResourceType:convertCfnPlanKubernetesResourceTypePropertyToCloudFormation(properties.kubernetesResourceType),ScalingResources:cdk().listMapper(cdk().hashMapper(cdk().hashMapper(convertCfnPlanKubernetesScalingResourcePropertyToCloudFormation)))(properties.scalingResources),TargetPercent:cdk().numberToCloudFormation(properties.targetPercent),TimeoutMinutes:cdk().numberToCloudFormation(properties.timeoutMinutes),Ungraceful:convertCfnPlanEksResourceScalingUngracefulPropertyToCloudFormation(properties.ungraceful)}):properties}function CfnPlanEksResourceScalingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("capacityMonitoringApproach","CapacityMonitoringApproach",properties.CapacityMonitoringApproach!=null?cfn_parse().FromCloudFormation.getString(properties.CapacityMonitoringApproach):void 0),ret.addPropertyResult("eksClusters","EksClusters",properties.EksClusters!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanEksClusterPropertyFromCloudFormation)(properties.EksClusters):void 0),ret.addPropertyResult("kubernetesResourceType","KubernetesResourceType",properties.KubernetesResourceType!=null?CfnPlanKubernetesResourceTypePropertyFromCloudFormation(properties.KubernetesResourceType):void 0),ret.addPropertyResult("scalingResources","ScalingResources",properties.ScalingResources!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getMap(CfnPlanKubernetesScalingResourcePropertyFromCloudFormation)))(properties.ScalingResources):void 0),ret.addPropertyResult("targetPercent","TargetPercent",properties.TargetPercent!=null?cfn_parse().FromCloudFormation.getNumber(properties.TargetPercent):void 0),ret.addPropertyResult("timeoutMinutes","TimeoutMinutes",properties.TimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutMinutes):void 0),ret.addPropertyResult("ungraceful","Ungraceful",properties.Ungraceful!=null?CfnPlanEksResourceScalingUngracefulPropertyFromCloudFormation(properties.Ungraceful):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanRoute53ResourceRecordSetPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("recordSetIdentifier",cdk().validateString)(properties.recordSetIdentifier)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.wrap('supplied properties not correct for "Route53ResourceRecordSetProperty"')}function convertCfnPlanRoute53ResourceRecordSetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanRoute53ResourceRecordSetPropertyValidator(properties).assertSuccess(),{RecordSetIdentifier:cdk().stringToCloudFormation(properties.recordSetIdentifier),Region:cdk().stringToCloudFormation(properties.region)}):properties}function CfnPlanRoute53ResourceRecordSetPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("recordSetIdentifier","RecordSetIdentifier",properties.RecordSetIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.RecordSetIdentifier):void 0),ret.addPropertyResult("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanRoute53HealthCheckConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("hostedZoneId",cdk().requiredValidator)(properties.hostedZoneId)),errors.collect(cdk().propertyValidator("hostedZoneId",cdk().validateString)(properties.hostedZoneId)),errors.collect(cdk().propertyValidator("recordName",cdk().requiredValidator)(properties.recordName)),errors.collect(cdk().propertyValidator("recordName",cdk().validateString)(properties.recordName)),errors.collect(cdk().propertyValidator("recordSets",cdk().listValidator(CfnPlanRoute53ResourceRecordSetPropertyValidator))(properties.recordSets)),errors.collect(cdk().propertyValidator("timeoutMinutes",cdk().validateNumber)(properties.timeoutMinutes)),errors.wrap('supplied properties not correct for "Route53HealthCheckConfigurationProperty"')}function convertCfnPlanRoute53HealthCheckConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanRoute53HealthCheckConfigurationPropertyValidator(properties).assertSuccess(),{CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),ExternalId:cdk().stringToCloudFormation(properties.externalId),HostedZoneId:cdk().stringToCloudFormation(properties.hostedZoneId),RecordName:cdk().stringToCloudFormation(properties.recordName),RecordSets:cdk().listMapper(convertCfnPlanRoute53ResourceRecordSetPropertyToCloudFormation)(properties.recordSets),TimeoutMinutes:cdk().numberToCloudFormation(properties.timeoutMinutes)}):properties}function CfnPlanRoute53HealthCheckConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("hostedZoneId","HostedZoneId",properties.HostedZoneId!=null?cfn_parse().FromCloudFormation.getString(properties.HostedZoneId):void 0),ret.addPropertyResult("recordName","RecordName",properties.RecordName!=null?cfn_parse().FromCloudFormation.getString(properties.RecordName):void 0),ret.addPropertyResult("recordSets","RecordSets",properties.RecordSets!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanRoute53ResourceRecordSetPropertyFromCloudFormation)(properties.RecordSets):void 0),ret.addPropertyResult("timeoutMinutes","TimeoutMinutes",properties.TimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutMinutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanDocumentDbUngracefulPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("ungraceful",cdk().validateString)(properties.ungraceful)),errors.wrap('supplied properties not correct for "DocumentDbUngracefulProperty"')}function convertCfnPlanDocumentDbUngracefulPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanDocumentDbUngracefulPropertyValidator(properties).assertSuccess(),{Ungraceful:cdk().stringToCloudFormation(properties.ungraceful)}):properties}function CfnPlanDocumentDbUngracefulPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("ungraceful","Ungraceful",properties.Ungraceful!=null?cfn_parse().FromCloudFormation.getString(properties.Ungraceful):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanDocumentDbConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("behavior",cdk().requiredValidator)(properties.behavior)),errors.collect(cdk().propertyValidator("behavior",cdk().validateString)(properties.behavior)),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("databaseClusterArns",cdk().requiredValidator)(properties.databaseClusterArns)),errors.collect(cdk().propertyValidator("databaseClusterArns",cdk().listValidator(cdk().validateString))(properties.databaseClusterArns)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("globalClusterIdentifier",cdk().requiredValidator)(properties.globalClusterIdentifier)),errors.collect(cdk().propertyValidator("globalClusterIdentifier",cdk().validateString)(properties.globalClusterIdentifier)),errors.collect(cdk().propertyValidator("timeoutMinutes",cdk().validateNumber)(properties.timeoutMinutes)),errors.collect(cdk().propertyValidator("ungraceful",CfnPlanDocumentDbUngracefulPropertyValidator)(properties.ungraceful)),errors.wrap('supplied properties not correct for "DocumentDbConfigurationProperty"')}function convertCfnPlanDocumentDbConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanDocumentDbConfigurationPropertyValidator(properties).assertSuccess(),{Behavior:cdk().stringToCloudFormation(properties.behavior),CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),DatabaseClusterArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.databaseClusterArns),ExternalId:cdk().stringToCloudFormation(properties.externalId),GlobalClusterIdentifier:cdk().stringToCloudFormation(properties.globalClusterIdentifier),TimeoutMinutes:cdk().numberToCloudFormation(properties.timeoutMinutes),Ungraceful:convertCfnPlanDocumentDbUngracefulPropertyToCloudFormation(properties.ungraceful)}):properties}function CfnPlanDocumentDbConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("behavior","Behavior",properties.Behavior!=null?cfn_parse().FromCloudFormation.getString(properties.Behavior):void 0),ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("databaseClusterArns","DatabaseClusterArns",properties.DatabaseClusterArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DatabaseClusterArns):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("globalClusterIdentifier","GlobalClusterIdentifier",properties.GlobalClusterIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.GlobalClusterIdentifier):void 0),ret.addPropertyResult("timeoutMinutes","TimeoutMinutes",properties.TimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutMinutes):void 0),ret.addPropertyResult("ungraceful","Ungraceful",properties.Ungraceful!=null?CfnPlanDocumentDbUngracefulPropertyFromCloudFormation(properties.Ungraceful):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanRdsPromoteReadReplicaConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("dbInstanceArnMap",cdk().requiredValidator)(properties.dbInstanceArnMap)),errors.collect(cdk().propertyValidator("dbInstanceArnMap",cdk().hashValidator(cdk().validateString))(properties.dbInstanceArnMap)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("timeoutMinutes",cdk().validateNumber)(properties.timeoutMinutes)),errors.wrap('supplied properties not correct for "RdsPromoteReadReplicaConfigurationProperty"')}function convertCfnPlanRdsPromoteReadReplicaConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanRdsPromoteReadReplicaConfigurationPropertyValidator(properties).assertSuccess(),{CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),DbInstanceArnMap:cdk().hashMapper(cdk().stringToCloudFormation)(properties.dbInstanceArnMap),ExternalId:cdk().stringToCloudFormation(properties.externalId),TimeoutMinutes:cdk().numberToCloudFormation(properties.timeoutMinutes)}):properties}function CfnPlanRdsPromoteReadReplicaConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("dbInstanceArnMap","DbInstanceArnMap",properties.DbInstanceArnMap!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.DbInstanceArnMap):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("timeoutMinutes","TimeoutMinutes",properties.TimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutMinutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanRdsCreateCrossRegionReplicaConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("crossAccountRole",cdk().validateString)(properties.crossAccountRole)),errors.collect(cdk().propertyValidator("dbInstanceArnMap",cdk().requiredValidator)(properties.dbInstanceArnMap)),errors.collect(cdk().propertyValidator("dbInstanceArnMap",cdk().hashValidator(cdk().validateString))(properties.dbInstanceArnMap)),errors.collect(cdk().propertyValidator("externalId",cdk().validateString)(properties.externalId)),errors.collect(cdk().propertyValidator("timeoutMinutes",cdk().validateNumber)(properties.timeoutMinutes)),errors.wrap('supplied properties not correct for "RdsCreateCrossRegionReplicaConfigurationProperty"')}function convertCfnPlanRdsCreateCrossRegionReplicaConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanRdsCreateCrossRegionReplicaConfigurationPropertyValidator(properties).assertSuccess(),{CrossAccountRole:cdk().stringToCloudFormation(properties.crossAccountRole),DbInstanceArnMap:cdk().hashMapper(cdk().stringToCloudFormation)(properties.dbInstanceArnMap),ExternalId:cdk().stringToCloudFormation(properties.externalId),TimeoutMinutes:cdk().numberToCloudFormation(properties.timeoutMinutes)}):properties}function CfnPlanRdsCreateCrossRegionReplicaConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("crossAccountRole","CrossAccountRole",properties.CrossAccountRole!=null?cfn_parse().FromCloudFormation.getString(properties.CrossAccountRole):void 0),ret.addPropertyResult("dbInstanceArnMap","DbInstanceArnMap",properties.DbInstanceArnMap!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.DbInstanceArnMap):void 0),ret.addPropertyResult("externalId","ExternalId",properties.ExternalId!=null?cfn_parse().FromCloudFormation.getString(properties.ExternalId):void 0),ret.addPropertyResult("timeoutMinutes","TimeoutMinutes",properties.TimeoutMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutMinutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanExecutionBlockConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("arcRoutingControlConfig",CfnPlanArcRoutingControlConfigurationPropertyValidator)(properties.arcRoutingControlConfig)),errors.collect(cdk().propertyValidator("customActionLambdaConfig",CfnPlanCustomActionLambdaConfigurationPropertyValidator)(properties.customActionLambdaConfig)),errors.collect(cdk().propertyValidator("documentDbConfig",CfnPlanDocumentDbConfigurationPropertyValidator)(properties.documentDbConfig)),errors.collect(cdk().propertyValidator("ec2AsgCapacityIncreaseConfig",CfnPlanEc2AsgCapacityIncreaseConfigurationPropertyValidator)(properties.ec2AsgCapacityIncreaseConfig)),errors.collect(cdk().propertyValidator("ecsCapacityIncreaseConfig",CfnPlanEcsCapacityIncreaseConfigurationPropertyValidator)(properties.ecsCapacityIncreaseConfig)),errors.collect(cdk().propertyValidator("eksResourceScalingConfig",CfnPlanEksResourceScalingConfigurationPropertyValidator)(properties.eksResourceScalingConfig)),errors.collect(cdk().propertyValidator("executionApprovalConfig",CfnPlanExecutionApprovalConfigurationPropertyValidator)(properties.executionApprovalConfig)),errors.collect(cdk().propertyValidator("globalAuroraConfig",CfnPlanGlobalAuroraConfigurationPropertyValidator)(properties.globalAuroraConfig)),errors.collect(cdk().propertyValidator("parallelConfig",CfnPlanParallelExecutionBlockConfigurationPropertyValidator)(properties.parallelConfig)),errors.collect(cdk().propertyValidator("rdsCreateCrossRegionReadReplicaConfig",CfnPlanRdsCreateCrossRegionReplicaConfigurationPropertyValidator)(properties.rdsCreateCrossRegionReadReplicaConfig)),errors.collect(cdk().propertyValidator("rdsPromoteReadReplicaConfig",CfnPlanRdsPromoteReadReplicaConfigurationPropertyValidator)(properties.rdsPromoteReadReplicaConfig)),errors.collect(cdk().propertyValidator("regionSwitchPlanConfig",CfnPlanRegionSwitchPlanConfigurationPropertyValidator)(properties.regionSwitchPlanConfig)),errors.collect(cdk().propertyValidator("route53HealthCheckConfig",CfnPlanRoute53HealthCheckConfigurationPropertyValidator)(properties.route53HealthCheckConfig)),errors.wrap('supplied properties not correct for "ExecutionBlockConfigurationProperty"')}function convertCfnPlanExecutionBlockConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanExecutionBlockConfigurationPropertyValidator(properties).assertSuccess(),{ArcRoutingControlConfig:convertCfnPlanArcRoutingControlConfigurationPropertyToCloudFormation(properties.arcRoutingControlConfig),CustomActionLambdaConfig:convertCfnPlanCustomActionLambdaConfigurationPropertyToCloudFormation(properties.customActionLambdaConfig),DocumentDbConfig:convertCfnPlanDocumentDbConfigurationPropertyToCloudFormation(properties.documentDbConfig),Ec2AsgCapacityIncreaseConfig:convertCfnPlanEc2AsgCapacityIncreaseConfigurationPropertyToCloudFormation(properties.ec2AsgCapacityIncreaseConfig),EcsCapacityIncreaseConfig:convertCfnPlanEcsCapacityIncreaseConfigurationPropertyToCloudFormation(properties.ecsCapacityIncreaseConfig),EksResourceScalingConfig:convertCfnPlanEksResourceScalingConfigurationPropertyToCloudFormation(properties.eksResourceScalingConfig),ExecutionApprovalConfig:convertCfnPlanExecutionApprovalConfigurationPropertyToCloudFormation(properties.executionApprovalConfig),GlobalAuroraConfig:convertCfnPlanGlobalAuroraConfigurationPropertyToCloudFormation(properties.globalAuroraConfig),ParallelConfig:convertCfnPlanParallelExecutionBlockConfigurationPropertyToCloudFormation(properties.parallelConfig),RdsCreateCrossRegionReadReplicaConfig:convertCfnPlanRdsCreateCrossRegionReplicaConfigurationPropertyToCloudFormation(properties.rdsCreateCrossRegionReadReplicaConfig),RdsPromoteReadReplicaConfig:convertCfnPlanRdsPromoteReadReplicaConfigurationPropertyToCloudFormation(properties.rdsPromoteReadReplicaConfig),RegionSwitchPlanConfig:convertCfnPlanRegionSwitchPlanConfigurationPropertyToCloudFormation(properties.regionSwitchPlanConfig),Route53HealthCheckConfig:convertCfnPlanRoute53HealthCheckConfigurationPropertyToCloudFormation(properties.route53HealthCheckConfig)}):properties}function CfnPlanExecutionBlockConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("arcRoutingControlConfig","ArcRoutingControlConfig",properties.ArcRoutingControlConfig!=null?CfnPlanArcRoutingControlConfigurationPropertyFromCloudFormation(properties.ArcRoutingControlConfig):void 0),ret.addPropertyResult("customActionLambdaConfig","CustomActionLambdaConfig",properties.CustomActionLambdaConfig!=null?CfnPlanCustomActionLambdaConfigurationPropertyFromCloudFormation(properties.CustomActionLambdaConfig):void 0),ret.addPropertyResult("documentDbConfig","DocumentDbConfig",properties.DocumentDbConfig!=null?CfnPlanDocumentDbConfigurationPropertyFromCloudFormation(properties.DocumentDbConfig):void 0),ret.addPropertyResult("ec2AsgCapacityIncreaseConfig","Ec2AsgCapacityIncreaseConfig",properties.Ec2AsgCapacityIncreaseConfig!=null?CfnPlanEc2AsgCapacityIncreaseConfigurationPropertyFromCloudFormation(properties.Ec2AsgCapacityIncreaseConfig):void 0),ret.addPropertyResult("ecsCapacityIncreaseConfig","EcsCapacityIncreaseConfig",properties.EcsCapacityIncreaseConfig!=null?CfnPlanEcsCapacityIncreaseConfigurationPropertyFromCloudFormation(properties.EcsCapacityIncreaseConfig):void 0),ret.addPropertyResult("eksResourceScalingConfig","EksResourceScalingConfig",properties.EksResourceScalingConfig!=null?CfnPlanEksResourceScalingConfigurationPropertyFromCloudFormation(properties.EksResourceScalingConfig):void 0),ret.addPropertyResult("executionApprovalConfig","ExecutionApprovalConfig",properties.ExecutionApprovalConfig!=null?CfnPlanExecutionApprovalConfigurationPropertyFromCloudFormation(properties.ExecutionApprovalConfig):void 0),ret.addPropertyResult("globalAuroraConfig","GlobalAuroraConfig",properties.GlobalAuroraConfig!=null?CfnPlanGlobalAuroraConfigurationPropertyFromCloudFormation(properties.GlobalAuroraConfig):void 0),ret.addPropertyResult("parallelConfig","ParallelConfig",properties.ParallelConfig!=null?CfnPlanParallelExecutionBlockConfigurationPropertyFromCloudFormation(properties.ParallelConfig):void 0),ret.addPropertyResult("rdsCreateCrossRegionReadReplicaConfig","RdsCreateCrossRegionReadReplicaConfig",properties.RdsCreateCrossRegionReadReplicaConfig!=null?CfnPlanRdsCreateCrossRegionReplicaConfigurationPropertyFromCloudFormation(properties.RdsCreateCrossRegionReadReplicaConfig):void 0),ret.addPropertyResult("rdsPromoteReadReplicaConfig","RdsPromoteReadReplicaConfig",properties.RdsPromoteReadReplicaConfig!=null?CfnPlanRdsPromoteReadReplicaConfigurationPropertyFromCloudFormation(properties.RdsPromoteReadReplicaConfig):void 0),ret.addPropertyResult("regionSwitchPlanConfig","RegionSwitchPlanConfig",properties.RegionSwitchPlanConfig!=null?CfnPlanRegionSwitchPlanConfigurationPropertyFromCloudFormation(properties.RegionSwitchPlanConfig):void 0),ret.addPropertyResult("route53HealthCheckConfig","Route53HealthCheckConfig",properties.Route53HealthCheckConfig!=null?CfnPlanRoute53HealthCheckConfigurationPropertyFromCloudFormation(properties.Route53HealthCheckConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanStepPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("executionBlockConfiguration",cdk().requiredValidator)(properties.executionBlockConfiguration)),errors.collect(cdk().propertyValidator("executionBlockConfiguration",CfnPlanExecutionBlockConfigurationPropertyValidator)(properties.executionBlockConfiguration)),errors.collect(cdk().propertyValidator("executionBlockType",cdk().requiredValidator)(properties.executionBlockType)),errors.collect(cdk().propertyValidator("executionBlockType",cdk().validateString)(properties.executionBlockType)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "StepProperty"')}function convertCfnPlanStepPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanStepPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),ExecutionBlockConfiguration:convertCfnPlanExecutionBlockConfigurationPropertyToCloudFormation(properties.executionBlockConfiguration),ExecutionBlockType:cdk().stringToCloudFormation(properties.executionBlockType),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnPlanStepPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("executionBlockConfiguration","ExecutionBlockConfiguration",properties.ExecutionBlockConfiguration!=null?CfnPlanExecutionBlockConfigurationPropertyFromCloudFormation(properties.ExecutionBlockConfiguration):void 0),ret.addPropertyResult("executionBlockType","ExecutionBlockType",properties.ExecutionBlockType!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutionBlockType):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanWorkflowPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("steps",cdk().listValidator(CfnPlanStepPropertyValidator))(properties.steps)),errors.collect(cdk().propertyValidator("workflowDescription",cdk().validateString)(properties.workflowDescription)),errors.collect(cdk().propertyValidator("workflowTargetAction",cdk().requiredValidator)(properties.workflowTargetAction)),errors.collect(cdk().propertyValidator("workflowTargetAction",cdk().validateString)(properties.workflowTargetAction)),errors.collect(cdk().propertyValidator("workflowTargetRegion",cdk().validateString)(properties.workflowTargetRegion)),errors.wrap('supplied properties not correct for "WorkflowProperty"')}function convertCfnPlanWorkflowPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanWorkflowPropertyValidator(properties).assertSuccess(),{Steps:cdk().listMapper(convertCfnPlanStepPropertyToCloudFormation)(properties.steps),WorkflowDescription:cdk().stringToCloudFormation(properties.workflowDescription),WorkflowTargetAction:cdk().stringToCloudFormation(properties.workflowTargetAction),WorkflowTargetRegion:cdk().stringToCloudFormation(properties.workflowTargetRegion)}):properties}function CfnPlanWorkflowPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("steps","Steps",properties.Steps!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanStepPropertyFromCloudFormation)(properties.Steps):void 0),ret.addPropertyResult("workflowDescription","WorkflowDescription",properties.WorkflowDescription!=null?cfn_parse().FromCloudFormation.getString(properties.WorkflowDescription):void 0),ret.addPropertyResult("workflowTargetAction","WorkflowTargetAction",properties.WorkflowTargetAction!=null?cfn_parse().FromCloudFormation.getString(properties.WorkflowTargetAction):void 0),ret.addPropertyResult("workflowTargetRegion","WorkflowTargetRegion",properties.WorkflowTargetRegion!=null?cfn_parse().FromCloudFormation.getString(properties.WorkflowTargetRegion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanHealthCheckStatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("healthCheckId",cdk().validateString)(properties.healthCheckId)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.wrap('supplied properties not correct for "HealthCheckStateProperty"')}function convertCfnPlanHealthCheckStatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanHealthCheckStatePropertyValidator(properties).assertSuccess(),{HealthCheckId:cdk().stringToCloudFormation(properties.healthCheckId),Region:cdk().stringToCloudFormation(properties.region)}):properties}function CfnPlanHealthCheckStatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("healthCheckId","HealthCheckId",properties.HealthCheckId!=null?cfn_parse().FromCloudFormation.getString(properties.HealthCheckId):void 0),ret.addPropertyResult("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanRoute53HealthChecksPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("healthCheckIds",cdk().listValidator(cdk().validateString))(properties.healthCheckIds)),errors.collect(cdk().propertyValidator("hostedZoneIds",cdk().listValidator(cdk().validateString))(properties.hostedZoneIds)),errors.collect(cdk().propertyValidator("recordNames",cdk().listValidator(cdk().validateString))(properties.recordNames)),errors.collect(cdk().propertyValidator("regions",cdk().listValidator(cdk().validateString))(properties.regions)),errors.wrap('supplied properties not correct for "Route53HealthChecksProperty"')}function convertCfnPlanRoute53HealthChecksPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanRoute53HealthChecksPropertyValidator(properties).assertSuccess(),{HealthCheckIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.healthCheckIds),HostedZoneIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.hostedZoneIds),RecordNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.recordNames),Regions:cdk().listMapper(cdk().stringToCloudFormation)(properties.regions)}):properties}function CfnPlanRoute53HealthChecksPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("healthCheckIds","HealthCheckIds",properties.HealthCheckIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.HealthCheckIds):void 0),ret.addPropertyResult("hostedZoneIds","HostedZoneIds",properties.HostedZoneIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.HostedZoneIds):void 0),ret.addPropertyResult("recordNames","RecordNames",properties.RecordNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RecordNames):void 0),ret.addPropertyResult("regions","Regions",properties.Regions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Regions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("associatedAlarms",cdk().hashValidator(CfnPlanAssociatedAlarmPropertyValidator))(properties.associatedAlarms)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("executionRole",cdk().requiredValidator)(properties.executionRole)),errors.collect(cdk().propertyValidator("executionRole",cdk().validateString)(properties.executionRole)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("primaryRegion",cdk().validateString)(properties.primaryRegion)),errors.collect(cdk().propertyValidator("recoveryApproach",cdk().requiredValidator)(properties.recoveryApproach)),errors.collect(cdk().propertyValidator("recoveryApproach",cdk().validateString)(properties.recoveryApproach)),errors.collect(cdk().propertyValidator("recoveryTimeObjectiveMinutes",cdk().validateNumber)(properties.recoveryTimeObjectiveMinutes)),errors.collect(cdk().propertyValidator("regions",cdk().requiredValidator)(properties.regions)),errors.collect(cdk().propertyValidator("regions",cdk().listValidator(cdk().validateString))(properties.regions)),errors.collect(cdk().propertyValidator("reportConfiguration",CfnPlanReportConfigurationPropertyValidator)(properties.reportConfiguration)),errors.collect(cdk().propertyValidator("tags",cdk().hashValidator(cdk().validateString))(properties.tags)),errors.collect(cdk().propertyValidator("triggers",cdk().listValidator(CfnPlanTriggerPropertyValidator))(properties.triggers)),errors.collect(cdk().propertyValidator("workflows",cdk().requiredValidator)(properties.workflows)),errors.collect(cdk().propertyValidator("workflows",cdk().listValidator(CfnPlanWorkflowPropertyValidator))(properties.workflows)),errors.wrap('supplied properties not correct for "CfnPlanProps"')}function convertCfnPlanPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanPropsValidator(properties).assertSuccess(),{AssociatedAlarms:cdk().hashMapper(convertCfnPlanAssociatedAlarmPropertyToCloudFormation)(properties.associatedAlarms),Description:cdk().stringToCloudFormation(properties.description),ExecutionRole:cdk().stringToCloudFormation(properties.executionRole),Name:cdk().stringToCloudFormation(properties.name),PrimaryRegion:cdk().stringToCloudFormation(properties.primaryRegion),RecoveryApproach:cdk().stringToCloudFormation(properties.recoveryApproach),RecoveryTimeObjectiveMinutes:cdk().numberToCloudFormation(properties.recoveryTimeObjectiveMinutes),Regions:cdk().listMapper(cdk().stringToCloudFormation)(properties.regions),ReportConfiguration:convertCfnPlanReportConfigurationPropertyToCloudFormation(properties.reportConfiguration),Tags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tags),Triggers:cdk().listMapper(convertCfnPlanTriggerPropertyToCloudFormation)(properties.triggers),Workflows:cdk().listMapper(convertCfnPlanWorkflowPropertyToCloudFormation)(properties.workflows)}):properties}function CfnPlanPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("associatedAlarms","AssociatedAlarms",properties.AssociatedAlarms!=null?cfn_parse().FromCloudFormation.getMap(CfnPlanAssociatedAlarmPropertyFromCloudFormation)(properties.AssociatedAlarms):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("executionRole","ExecutionRole",properties.ExecutionRole!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutionRole):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("primaryRegion","PrimaryRegion",properties.PrimaryRegion!=null?cfn_parse().FromCloudFormation.getString(properties.PrimaryRegion):void 0),ret.addPropertyResult("recoveryApproach","RecoveryApproach",properties.RecoveryApproach!=null?cfn_parse().FromCloudFormation.getString(properties.RecoveryApproach):void 0),ret.addPropertyResult("recoveryTimeObjectiveMinutes","RecoveryTimeObjectiveMinutes",properties.RecoveryTimeObjectiveMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.RecoveryTimeObjectiveMinutes):void 0),ret.addPropertyResult("regions","Regions",properties.Regions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Regions):void 0),ret.addPropertyResult("reportConfiguration","ReportConfiguration",properties.ReportConfiguration!=null?CfnPlanReportConfigurationPropertyFromCloudFormation(properties.ReportConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.Tags):void 0),ret.addPropertyResult("triggers","Triggers",properties.Triggers!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanTriggerPropertyFromCloudFormation)(properties.Triggers):void 0),ret.addPropertyResult("workflows","Workflows",properties.Workflows!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanWorkflowPropertyFromCloudFormation)(properties.Workflows):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}
|