UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 213 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnWarmPool=exports.CfnScheduledAction=exports.CfnScalingPolicy=exports.CfnLifecycleHook=exports.CfnLaunchConfiguration=exports.CfnAutoScalingGroup=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 CfnAutoScalingGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AutoScaling::AutoScalingGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAutoScalingGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAutoScalingGroup(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 isCfnAutoScalingGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAutoScalingGroup.CFN_RESOURCE_TYPE_NAME}static arnForAutoScalingGroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_autoscaling_IAutoScalingGroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAutoScalingGroup),error}return resource.autoScalingGroupRef.autoScalingGroupArn}_autoScalingGroupName;_availabilityZoneDistribution;_availabilityZoneIds;_availabilityZoneImpairmentPolicy;_availabilityZones;_capacityRebalance;_capacityReservationSpecification;_context;_cooldown;_defaultInstanceWarmup;_deletionProtection;_desiredCapacity;_desiredCapacityType;_healthCheckGracePeriod;_healthCheckType;_instanceId;_instanceLifecyclePolicy;_instanceMaintenancePolicy;_launchConfigurationName;_launchTemplate;_lifecycleHookSpecificationList;_loadBalancerNames;_maxInstanceLifetime;_maxSize;_metricsCollection;_minSize;_mixedInstancesPolicy;_newInstancesProtectedFromScaleIn;_notificationConfiguration;_notificationConfigurations;_placementGroup;_serviceLinkedRoleArn;_skipZonalShiftValidation;tags;_tagsRaw;_targetGroupArns;_terminationPolicies;_trafficSources;_vpcZoneIdentifier;constructor(scope,id,props){super(scope,id,{type:CfnAutoScalingGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_autoscaling_CfnAutoScalingGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAutoScalingGroup),error}cdk().requireProperty(props,"maxSize",this),cdk().requireProperty(props,"minSize",this),this._autoScalingGroupName=props.autoScalingGroupName,this._availabilityZoneDistribution=props.availabilityZoneDistribution,this._availabilityZoneIds=props.availabilityZoneIds,this._availabilityZoneImpairmentPolicy=props.availabilityZoneImpairmentPolicy,this._availabilityZones=props.availabilityZones,this._capacityRebalance=props.capacityRebalance,this._capacityReservationSpecification=props.capacityReservationSpecification,this._context=props.context,this._cooldown=props.cooldown,this._defaultInstanceWarmup=props.defaultInstanceWarmup,this._deletionProtection=props.deletionProtection,this._desiredCapacity=props.desiredCapacity,this._desiredCapacityType=props.desiredCapacityType,this._healthCheckGracePeriod=props.healthCheckGracePeriod,this._healthCheckType=props.healthCheckType,this._instanceId=props.instanceId,this._instanceLifecyclePolicy=props.instanceLifecyclePolicy,this._instanceMaintenancePolicy=props.instanceMaintenancePolicy,this._launchConfigurationName=cdk().getRefProperty(props.launchConfigurationName?.launchConfigurationRef,"launchConfigurationName")??cdk().ensureStringOrUndefined(props.launchConfigurationName,"launchConfigurationName","autoscaling.ILaunchConfigurationRef | string"),this._launchTemplate=props.launchTemplate,this._lifecycleHookSpecificationList=props.lifecycleHookSpecificationList,this._loadBalancerNames=props.loadBalancerNames,this._maxInstanceLifetime=props.maxInstanceLifetime,this._maxSize=props.maxSize,this._metricsCollection=props.metricsCollection,this._minSize=props.minSize,this._mixedInstancesPolicy=props.mixedInstancesPolicy,this._newInstancesProtectedFromScaleIn=props.newInstancesProtectedFromScaleIn,this._notificationConfiguration=props.notificationConfiguration,this._notificationConfigurations=props.notificationConfigurations,this._placementGroup=props.placementGroup,this._serviceLinkedRoleArn=cdk().getRefProperty(props.serviceLinkedRoleArn?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.serviceLinkedRoleArn,"serviceLinkedRoleArn","iam.IRoleRef | string"),this._skipZonalShiftValidation=props.skipZonalShiftValidation,this.tags=new(cdk()).TagManager(cdk().TagType.AUTOSCALING_GROUP,"AWS::AutoScaling::AutoScalingGroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._targetGroupArns=cdk().mapArrayInPlace(props.targetGroupArns,item=>cdk().getRefProperty(item?.targetGroupRef,"targetGroupArn")??cdk().ensureStringOrUndefined(item,"targetGroupArns","elasticloadbalancingv2.ITargetGroupRef | string")),this._terminationPolicies=props.terminationPolicies,this._trafficSources=props.trafficSources,this._vpcZoneIdentifier=cdk().mapArrayInPlace(props.vpcZoneIdentifier,item=>cdk().getRefProperty(item?.subnetRef,"subnetId")??cdk().ensureStringOrUndefined(item,"vpcZoneIdentifier","ec2.ISubnetRef | string"))}get autoScalingGroupRef(){return{autoScalingGroupName:this.ref,autoScalingGroupArn:this.attrAutoScalingGroupArn}}get autoScalingGroupName(){return this._autoScalingGroupName}set autoScalingGroupName(value){cdk().traceProperty(this.node,"AutoScalingGroupName"),this._autoScalingGroupName=value}get availabilityZoneDistribution(){return this._availabilityZoneDistribution}set availabilityZoneDistribution(value){cdk().traceProperty(this.node,"AvailabilityZoneDistribution"),this._availabilityZoneDistribution=value}get availabilityZoneIds(){return this._availabilityZoneIds}set availabilityZoneIds(value){cdk().traceProperty(this.node,"AvailabilityZoneIds"),this._availabilityZoneIds=value}get availabilityZoneImpairmentPolicy(){return this._availabilityZoneImpairmentPolicy}set availabilityZoneImpairmentPolicy(value){cdk().traceProperty(this.node,"AvailabilityZoneImpairmentPolicy"),this._availabilityZoneImpairmentPolicy=value}get availabilityZones(){return this._availabilityZones}set availabilityZones(value){cdk().traceProperty(this.node,"AvailabilityZones"),this._availabilityZones=value}get capacityRebalance(){return this._capacityRebalance}set capacityRebalance(value){cdk().traceProperty(this.node,"CapacityRebalance"),this._capacityRebalance=value}get capacityReservationSpecification(){return this._capacityReservationSpecification}set capacityReservationSpecification(value){cdk().traceProperty(this.node,"CapacityReservationSpecification"),this._capacityReservationSpecification=value}get context(){return this._context}set context(value){cdk().traceProperty(this.node,"Context"),this._context=value}get cooldown(){return this._cooldown}set cooldown(value){cdk().traceProperty(this.node,"Cooldown"),this._cooldown=value}get defaultInstanceWarmup(){return this._defaultInstanceWarmup}set defaultInstanceWarmup(value){cdk().traceProperty(this.node,"DefaultInstanceWarmup"),this._defaultInstanceWarmup=value}get deletionProtection(){return this._deletionProtection}set deletionProtection(value){cdk().traceProperty(this.node,"DeletionProtection"),this._deletionProtection=value}get desiredCapacity(){return this._desiredCapacity}set desiredCapacity(value){cdk().traceProperty(this.node,"DesiredCapacity"),this._desiredCapacity=value}get desiredCapacityType(){return this._desiredCapacityType}set desiredCapacityType(value){cdk().traceProperty(this.node,"DesiredCapacityType"),this._desiredCapacityType=value}get healthCheckGracePeriod(){return this._healthCheckGracePeriod}set healthCheckGracePeriod(value){cdk().traceProperty(this.node,"HealthCheckGracePeriod"),this._healthCheckGracePeriod=value}get healthCheckType(){return this._healthCheckType}set healthCheckType(value){cdk().traceProperty(this.node,"HealthCheckType"),this._healthCheckType=value}get instanceId(){return this._instanceId}set instanceId(value){cdk().traceProperty(this.node,"InstanceId"),this._instanceId=value}get instanceLifecyclePolicy(){return this._instanceLifecyclePolicy}set instanceLifecyclePolicy(value){cdk().traceProperty(this.node,"InstanceLifecyclePolicy"),this._instanceLifecyclePolicy=value}get instanceMaintenancePolicy(){return this._instanceMaintenancePolicy}set instanceMaintenancePolicy(value){cdk().traceProperty(this.node,"InstanceMaintenancePolicy"),this._instanceMaintenancePolicy=value}get launchConfigurationName(){return this._launchConfigurationName}set launchConfigurationName(value){cdk().traceProperty(this.node,"LaunchConfigurationName"),this._launchConfigurationName=value}get launchTemplate(){return this._launchTemplate}set launchTemplate(value){cdk().traceProperty(this.node,"LaunchTemplate"),this._launchTemplate=value}get lifecycleHookSpecificationList(){return this._lifecycleHookSpecificationList}set lifecycleHookSpecificationList(value){cdk().traceProperty(this.node,"LifecycleHookSpecificationList"),this._lifecycleHookSpecificationList=value}get loadBalancerNames(){return this._loadBalancerNames}set loadBalancerNames(value){cdk().traceProperty(this.node,"LoadBalancerNames"),this._loadBalancerNames=value}get maxInstanceLifetime(){return this._maxInstanceLifetime}set maxInstanceLifetime(value){cdk().traceProperty(this.node,"MaxInstanceLifetime"),this._maxInstanceLifetime=value}get maxSize(){return this._maxSize}set maxSize(value){cdk().traceProperty(this.node,"MaxSize"),this._maxSize=value}get metricsCollection(){return this._metricsCollection}set metricsCollection(value){cdk().traceProperty(this.node,"MetricsCollection"),this._metricsCollection=value}get minSize(){return this._minSize}set minSize(value){cdk().traceProperty(this.node,"MinSize"),this._minSize=value}get mixedInstancesPolicy(){return this._mixedInstancesPolicy}set mixedInstancesPolicy(value){cdk().traceProperty(this.node,"MixedInstancesPolicy"),this._mixedInstancesPolicy=value}get newInstancesProtectedFromScaleIn(){return this._newInstancesProtectedFromScaleIn}set newInstancesProtectedFromScaleIn(value){cdk().traceProperty(this.node,"NewInstancesProtectedFromScaleIn"),this._newInstancesProtectedFromScaleIn=value}get notificationConfiguration(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup#notificationConfiguration","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"notificationConfiguration").get),error}return this._notificationConfiguration}set notificationConfiguration(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_autoscaling.CfnAutoScalingGroup#notificationConfiguration","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"notificationConfiguration").set),error}cdk().traceProperty(this.node,"NotificationConfiguration"),this._notificationConfiguration=value}get notificationConfigurations(){return this._notificationConfigurations}set notificationConfigurations(value){cdk().traceProperty(this.node,"NotificationConfigurations"),this._notificationConfigurations=value}get placementGroup(){return this._placementGroup}set placementGroup(value){cdk().traceProperty(this.node,"PlacementGroup"),this._placementGroup=value}get serviceLinkedRoleArn(){return this._serviceLinkedRoleArn}set serviceLinkedRoleArn(value){cdk().traceProperty(this.node,"ServiceLinkedRoleARN"),this._serviceLinkedRoleArn=value}get skipZonalShiftValidation(){return this._skipZonalShiftValidation}set skipZonalShiftValidation(value){cdk().traceProperty(this.node,"SkipZonalShiftValidation"),this._skipZonalShiftValidation=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get targetGroupArns(){return this._targetGroupArns}set targetGroupArns(value){cdk().traceProperty(this.node,"TargetGroupARNs"),this._targetGroupArns=value}get terminationPolicies(){return this._terminationPolicies}set terminationPolicies(value){cdk().traceProperty(this.node,"TerminationPolicies"),this._terminationPolicies=value}get trafficSources(){return this._trafficSources}set trafficSources(value){cdk().traceProperty(this.node,"TrafficSources"),this._trafficSources=value}get vpcZoneIdentifier(){return this._vpcZoneIdentifier}set vpcZoneIdentifier(value){cdk().traceProperty(this.node,"VPCZoneIdentifier"),this._vpcZoneIdentifier=value}get attrAutoScalingGroupArn(){return cdk().Token.asString(this.getAtt("AutoScalingGroupARN",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{autoScalingGroupName:this._autoScalingGroupName,availabilityZoneDistribution:this._availabilityZoneDistribution,availabilityZoneIds:this._availabilityZoneIds,availabilityZoneImpairmentPolicy:this._availabilityZoneImpairmentPolicy,availabilityZones:this._availabilityZones,capacityRebalance:this._capacityRebalance,capacityReservationSpecification:this._capacityReservationSpecification,context:this._context,cooldown:this._cooldown,defaultInstanceWarmup:this._defaultInstanceWarmup,deletionProtection:this._deletionProtection,desiredCapacity:this._desiredCapacity,desiredCapacityType:this._desiredCapacityType,healthCheckGracePeriod:this._healthCheckGracePeriod,healthCheckType:this._healthCheckType,instanceId:this._instanceId,instanceLifecyclePolicy:this._instanceLifecyclePolicy,instanceMaintenancePolicy:this._instanceMaintenancePolicy,launchConfigurationName:this._launchConfigurationName,launchTemplate:this._launchTemplate,lifecycleHookSpecificationList:this._lifecycleHookSpecificationList,loadBalancerNames:this._loadBalancerNames,maxInstanceLifetime:this._maxInstanceLifetime,maxSize:this._maxSize,metricsCollection:this._metricsCollection,minSize:this._minSize,mixedInstancesPolicy:this._mixedInstancesPolicy,newInstancesProtectedFromScaleIn:this._newInstancesProtectedFromScaleIn,notificationConfiguration:this._notificationConfiguration,notificationConfigurations:this._notificationConfigurations,placementGroup:this._placementGroup,serviceLinkedRoleArn:this._serviceLinkedRoleArn,skipZonalShiftValidation:this._skipZonalShiftValidation,tags:this.tags.renderTags(),targetGroupArns:this._targetGroupArns,terminationPolicies:this._terminationPolicies,trafficSources:this._trafficSources,vpcZoneIdentifier:this._vpcZoneIdentifier}}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",CfnAutoScalingGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAutoScalingGroupPropsToCloudFormation(props)}}exports.CfnAutoScalingGroup=CfnAutoScalingGroup;function CfnAutoScalingGroupLaunchTemplateSpecificationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("launchTemplateId",cdk().validateString)(properties.launchTemplateId)),errors.collect(cdk().propertyValidator("launchTemplateName",cdk().validateString)(properties.launchTemplateName)),errors.collect(cdk().propertyValidator("version",cdk().requiredValidator)(properties.version)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "LaunchTemplateSpecificationProperty"')}function convertCfnAutoScalingGroupLaunchTemplateSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupLaunchTemplateSpecificationPropertyValidator(properties).assertSuccess(),{LaunchTemplateId:cdk().stringToCloudFormation(properties.launchTemplateId),LaunchTemplateName:cdk().stringToCloudFormation(properties.launchTemplateName),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnAutoScalingGroupLaunchTemplateSpecificationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("launchTemplateId","LaunchTemplateId",properties.LaunchTemplateId!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchTemplateId):void 0),ret.addPropertyResult("launchTemplateName","LaunchTemplateName",properties.LaunchTemplateName!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchTemplateName):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupLifecycleHookSpecificationPropertyValidator(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("defaultResult",cdk().validateString)(properties.defaultResult)),errors.collect(cdk().propertyValidator("heartbeatTimeout",cdk().validateNumber)(properties.heartbeatTimeout)),errors.collect(cdk().propertyValidator("lifecycleHookName",cdk().requiredValidator)(properties.lifecycleHookName)),errors.collect(cdk().propertyValidator("lifecycleHookName",cdk().validateString)(properties.lifecycleHookName)),errors.collect(cdk().propertyValidator("lifecycleTransition",cdk().requiredValidator)(properties.lifecycleTransition)),errors.collect(cdk().propertyValidator("lifecycleTransition",cdk().validateString)(properties.lifecycleTransition)),errors.collect(cdk().propertyValidator("notificationMetadata",cdk().validateString)(properties.notificationMetadata)),errors.collect(cdk().propertyValidator("notificationTargetArn",cdk().validateString)(properties.notificationTargetArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "LifecycleHookSpecificationProperty"')}function convertCfnAutoScalingGroupLifecycleHookSpecificationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupLifecycleHookSpecificationPropertyValidator(properties).assertSuccess(),{DefaultResult:cdk().stringToCloudFormation(properties.defaultResult),HeartbeatTimeout:cdk().numberToCloudFormation(properties.heartbeatTimeout),LifecycleHookName:cdk().stringToCloudFormation(properties.lifecycleHookName),LifecycleTransition:cdk().stringToCloudFormation(properties.lifecycleTransition),NotificationMetadata:cdk().stringToCloudFormation(properties.notificationMetadata),NotificationTargetARN:cdk().stringToCloudFormation(properties.notificationTargetArn),RoleARN:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnAutoScalingGroupLifecycleHookSpecificationPropertyFromCloudFormation(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("defaultResult","DefaultResult",properties.DefaultResult!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultResult):void 0),ret.addPropertyResult("heartbeatTimeout","HeartbeatTimeout",properties.HeartbeatTimeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.HeartbeatTimeout):void 0),ret.addPropertyResult("lifecycleHookName","LifecycleHookName",properties.LifecycleHookName!=null?cfn_parse().FromCloudFormation.getString(properties.LifecycleHookName):void 0),ret.addPropertyResult("lifecycleTransition","LifecycleTransition",properties.LifecycleTransition!=null?cfn_parse().FromCloudFormation.getString(properties.LifecycleTransition):void 0),ret.addPropertyResult("notificationMetadata","NotificationMetadata",properties.NotificationMetadata!=null?cfn_parse().FromCloudFormation.getString(properties.NotificationMetadata):void 0),ret.addPropertyResult("notificationTargetArn","NotificationTargetARN",properties.NotificationTargetARN!=null?cfn_parse().FromCloudFormation.getString(properties.NotificationTargetARN):void 0),ret.addPropertyResult("roleArn","RoleARN",properties.RoleARN!=null?cfn_parse().FromCloudFormation.getString(properties.RoleARN):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupMetricsCollectionPropertyValidator(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("granularity",cdk().requiredValidator)(properties.granularity)),errors.collect(cdk().propertyValidator("granularity",cdk().validateString)(properties.granularity)),errors.collect(cdk().propertyValidator("metrics",cdk().listValidator(cdk().validateString))(properties.metrics)),errors.wrap('supplied properties not correct for "MetricsCollectionProperty"')}function convertCfnAutoScalingGroupMetricsCollectionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupMetricsCollectionPropertyValidator(properties).assertSuccess(),{Granularity:cdk().stringToCloudFormation(properties.granularity),Metrics:cdk().listMapper(cdk().stringToCloudFormation)(properties.metrics)}):properties}function CfnAutoScalingGroupMetricsCollectionPropertyFromCloudFormation(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("granularity","Granularity",properties.Granularity!=null?cfn_parse().FromCloudFormation.getString(properties.Granularity):void 0),ret.addPropertyResult("metrics","Metrics",properties.Metrics!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Metrics):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupInstancesDistributionPropertyValidator(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("onDemandAllocationStrategy",cdk().validateString)(properties.onDemandAllocationStrategy)),errors.collect(cdk().propertyValidator("onDemandBaseCapacity",cdk().validateNumber)(properties.onDemandBaseCapacity)),errors.collect(cdk().propertyValidator("onDemandPercentageAboveBaseCapacity",cdk().validateNumber)(properties.onDemandPercentageAboveBaseCapacity)),errors.collect(cdk().propertyValidator("spotAllocationStrategy",cdk().validateString)(properties.spotAllocationStrategy)),errors.collect(cdk().propertyValidator("spotInstancePools",cdk().validateNumber)(properties.spotInstancePools)),errors.collect(cdk().propertyValidator("spotMaxPrice",cdk().validateString)(properties.spotMaxPrice)),errors.wrap('supplied properties not correct for "InstancesDistributionProperty"')}function convertCfnAutoScalingGroupInstancesDistributionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupInstancesDistributionPropertyValidator(properties).assertSuccess(),{OnDemandAllocationStrategy:cdk().stringToCloudFormation(properties.onDemandAllocationStrategy),OnDemandBaseCapacity:cdk().numberToCloudFormation(properties.onDemandBaseCapacity),OnDemandPercentageAboveBaseCapacity:cdk().numberToCloudFormation(properties.onDemandPercentageAboveBaseCapacity),SpotAllocationStrategy:cdk().stringToCloudFormation(properties.spotAllocationStrategy),SpotInstancePools:cdk().numberToCloudFormation(properties.spotInstancePools),SpotMaxPrice:cdk().stringToCloudFormation(properties.spotMaxPrice)}):properties}function CfnAutoScalingGroupInstancesDistributionPropertyFromCloudFormation(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("onDemandAllocationStrategy","OnDemandAllocationStrategy",properties.OnDemandAllocationStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.OnDemandAllocationStrategy):void 0),ret.addPropertyResult("onDemandBaseCapacity","OnDemandBaseCapacity",properties.OnDemandBaseCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.OnDemandBaseCapacity):void 0),ret.addPropertyResult("onDemandPercentageAboveBaseCapacity","OnDemandPercentageAboveBaseCapacity",properties.OnDemandPercentageAboveBaseCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.OnDemandPercentageAboveBaseCapacity):void 0),ret.addPropertyResult("spotAllocationStrategy","SpotAllocationStrategy",properties.SpotAllocationStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.SpotAllocationStrategy):void 0),ret.addPropertyResult("spotInstancePools","SpotInstancePools",properties.SpotInstancePools!=null?cfn_parse().FromCloudFormation.getNumber(properties.SpotInstancePools):void 0),ret.addPropertyResult("spotMaxPrice","SpotMaxPrice",properties.SpotMaxPrice!=null?cfn_parse().FromCloudFormation.getString(properties.SpotMaxPrice):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupAcceleratorCountRequestPropertyValidator(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("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "AcceleratorCountRequestProperty"')}function convertCfnAutoScalingGroupAcceleratorCountRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupAcceleratorCountRequestPropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnAutoScalingGroupAcceleratorCountRequestPropertyFromCloudFormation(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("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupAcceleratorTotalMemoryMiBRequestPropertyValidator(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("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "AcceleratorTotalMemoryMiBRequestProperty"')}function convertCfnAutoScalingGroupAcceleratorTotalMemoryMiBRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupAcceleratorTotalMemoryMiBRequestPropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnAutoScalingGroupAcceleratorTotalMemoryMiBRequestPropertyFromCloudFormation(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("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupBaselineEbsBandwidthMbpsRequestPropertyValidator(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("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "BaselineEbsBandwidthMbpsRequestProperty"')}function convertCfnAutoScalingGroupBaselineEbsBandwidthMbpsRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupBaselineEbsBandwidthMbpsRequestPropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnAutoScalingGroupBaselineEbsBandwidthMbpsRequestPropertyFromCloudFormation(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("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupMemoryGiBPerVCpuRequestPropertyValidator(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("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "MemoryGiBPerVCpuRequestProperty"')}function convertCfnAutoScalingGroupMemoryGiBPerVCpuRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupMemoryGiBPerVCpuRequestPropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnAutoScalingGroupMemoryGiBPerVCpuRequestPropertyFromCloudFormation(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("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupMemoryMiBRequestPropertyValidator(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("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "MemoryMiBRequestProperty"')}function convertCfnAutoScalingGroupMemoryMiBRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupMemoryMiBRequestPropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnAutoScalingGroupMemoryMiBRequestPropertyFromCloudFormation(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("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupNetworkBandwidthGbpsRequestPropertyValidator(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("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "NetworkBandwidthGbpsRequestProperty"')}function convertCfnAutoScalingGroupNetworkBandwidthGbpsRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupNetworkBandwidthGbpsRequestPropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnAutoScalingGroupNetworkBandwidthGbpsRequestPropertyFromCloudFormation(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("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupNetworkInterfaceCountRequestPropertyValidator(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("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "NetworkInterfaceCountRequestProperty"')}function convertCfnAutoScalingGroupNetworkInterfaceCountRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupNetworkInterfaceCountRequestPropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnAutoScalingGroupNetworkInterfaceCountRequestPropertyFromCloudFormation(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("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupTotalLocalStorageGBRequestPropertyValidator(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("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "TotalLocalStorageGBRequestProperty"')}function convertCfnAutoScalingGroupTotalLocalStorageGBRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupTotalLocalStorageGBRequestPropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnAutoScalingGroupTotalLocalStorageGBRequestPropertyFromCloudFormation(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("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupVCpuCountRequestPropertyValidator(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("max",cdk().validateNumber)(properties.max)),errors.collect(cdk().propertyValidator("min",cdk().validateNumber)(properties.min)),errors.wrap('supplied properties not correct for "VCpuCountRequestProperty"')}function convertCfnAutoScalingGroupVCpuCountRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupVCpuCountRequestPropertyValidator(properties).assertSuccess(),{Max:cdk().numberToCloudFormation(properties.max),Min:cdk().numberToCloudFormation(properties.min)}):properties}function CfnAutoScalingGroupVCpuCountRequestPropertyFromCloudFormation(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("max","Max",properties.Max!=null?cfn_parse().FromCloudFormation.getNumber(properties.Max):void 0),ret.addPropertyResult("min","Min",properties.Min!=null?cfn_parse().FromCloudFormation.getNumber(properties.Min):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupPerformanceFactorReferenceRequestPropertyValidator(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("instanceFamily",cdk().validateString)(properties.instanceFamily)),errors.wrap('supplied properties not correct for "PerformanceFactorReferenceRequestProperty"')}function convertCfnAutoScalingGroupPerformanceFactorReferenceRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupPerformanceFactorReferenceRequestPropertyValidator(properties).assertSuccess(),{InstanceFamily:cdk().stringToCloudFormation(properties.instanceFamily)}):properties}function CfnAutoScalingGroupPerformanceFactorReferenceRequestPropertyFromCloudFormation(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("instanceFamily","InstanceFamily",properties.InstanceFamily!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceFamily):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupCpuPerformanceFactorRequestPropertyValidator(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("references",cdk().listValidator(CfnAutoScalingGroupPerformanceFactorReferenceRequestPropertyValidator))(properties.references)),errors.wrap('supplied properties not correct for "CpuPerformanceFactorRequestProperty"')}function convertCfnAutoScalingGroupCpuPerformanceFactorRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupCpuPerformanceFactorRequestPropertyValidator(properties).assertSuccess(),{References:cdk().listMapper(convertCfnAutoScalingGroupPerformanceFactorReferenceRequestPropertyToCloudFormation)(properties.references)}):properties}function CfnAutoScalingGroupCpuPerformanceFactorRequestPropertyFromCloudFormation(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("references","References",properties.References!=null?cfn_parse().FromCloudFormation.getArray(CfnAutoScalingGroupPerformanceFactorReferenceRequestPropertyFromCloudFormation)(properties.References):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupBaselinePerformanceFactorsRequestPropertyValidator(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("cpu",CfnAutoScalingGroupCpuPerformanceFactorRequestPropertyValidator)(properties.cpu)),errors.wrap('supplied properties not correct for "BaselinePerformanceFactorsRequestProperty"')}function convertCfnAutoScalingGroupBaselinePerformanceFactorsRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutoScalingGroupBaselinePerformanceFactorsRequestPropertyValidator(properties).assertSuccess(),{Cpu:convertCfnAutoScalingGroupCpuPerformanceFactorRequestPropertyToCloudFormation(properties.cpu)}):properties}function CfnAutoScalingGroupBaselinePerformanceFactorsRequestPropertyFromCloudFormation(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("cpu","Cpu",properties.Cpu!=null?CfnAutoScalingGroupCpuPerformanceFactorRequestPropertyFromCloudFormation(properties.Cpu):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutoScalingGroupInstanceRequirementsPropertyValidator(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("acceleratorCount",CfnAutoScalingGroupAcceleratorCountRequestPropertyValidator)(properties.acceleratorCount)),errors.collect(cdk().propertyValidator("acceleratorManufacturers",cdk().listValidator(cdk().validateString))(properties.acceleratorManufacturers)),errors.collect(cdk().propertyValidator("acceleratorNames",cdk().listValidator(cdk().validateString))(properties.acceleratorNames)),errors.collect(cdk().propertyValidator("acceleratorTotalMemoryMiB",CfnAutoScalingGroupAcceleratorTotalMemoryMiBRequestPropertyValidator)(properties.acceleratorTotalMemoryMiB)),errors.collect(cdk().propertyValidator("acceleratorTypes",cdk().listValidator(cdk().validateString))(properties.acceleratorTypes)),errors.collect(cdk().propertyValidator("allowedInstanceTypes",cdk().listValidator(cdk().validateString))(properties.allowedInstanceTypes)),errors.collect(cdk().propertyValidator("bareMetal",cdk().validateString)(properties.bareMetal)),errors.collect(cdk().propertyValidator("baselineEbsBandwidthMbps",CfnAutoScalingGroupBaselineEbsBandwidthMbpsRequestPropertyValidator)(properties.baselineEbsBandwidthMbps)),errors.collect(cdk().propertyValidator("baselinePerformanceFactors",CfnAutoScalingGroupBaselinePerformanceFactorsRequestPropertyValidator)(properties.baselinePerformanceFactors)),errors.collect(cdk().propertyValidator("burstablePerformance",cdk().validateString)(properties.burstablePerformance)),errors.collect(cdk().propertyValidator("cpuManufacturers",cdk().listValidator(cdk().validateString))(properties.cpuManufacturers)),errors.collect(cdk().propertyValidator("excludedInstanceTypes",cdk().listValidator(cdk().validateString))(properties.excludedInstanceTypes)),errors.collect(cdk().propertyValidator("instanceGenerations",cdk().listValidator(cdk().validateString))(properties.instanceGenerations)),errors.collect(cdk().propertyValidator("localStorage",cdk().validateString)(properties.localStorage)),errors