UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 84.4 kB
"use strict";var _a;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");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 _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("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}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.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrHealthChecksForPlan=this.getAtt("HealthChecksForPlan"),this.attrOwner=cdk().Token.asString(this.getAtt("Owner",cdk().ResolutionTypeHint.STRING)),this.attrVersion=cdk().Token.asString(this.getAtt("Version",cdk().ResolutionTypeHint.STRING)),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.tags=props.tags,this.triggers=props.triggers,this.workflows=props.workflows}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,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:props",this.cfnProperties)}renderProperties(props){return convertCfnPlanPropsToCloudFormation(props)}}exports.CfnPlan=CfnPlan,_a=JSII_RTTI_SYMBOL_1,CfnPlan[_a]={fqn:"aws-cdk-lib.aws_arcregionswitch.CfnPlan",version:"2.211.0"},CfnPlan.CFN_RESOURCE_TYPE_NAME="AWS::ARCRegionSwitch::Plan";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 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(prope