"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.PoolState=exports.WarmPool=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),autoscaling_generated_1=require("./autoscaling.generated"),core_1=require("../../core");class WarmPool extends core_1.Resource{constructor(scope,id,props){super(scope,id,{physicalName:core_1.Lazy.string({produce:()=>core_1.Names.uniqueId(this)})});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_autoscaling_WarmPoolProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,WarmPool),error}if(props.maxGroupPreparedCapacity&&props.maxGroupPreparedCapacity<-1)throw new Error("'maxGroupPreparedCapacity' parameter should be greater than or equal to -1");if(props.minSize&&props.minSize<0)throw new Error("'minSize' parameter should be greater than or equal to 0");new autoscaling_generated_1.CfnWarmPool(this,"Resource",{autoScalingGroupName:props.autoScalingGroup.autoScalingGroupName,instanceReusePolicy:props.reuseOnScaleIn!==void 0?{reuseOnScaleIn:props.reuseOnScaleIn}:void 0,maxGroupPreparedCapacity:props.maxGroupPreparedCapacity,minSize:props.minSize,poolState:props.poolState})}}exports.WarmPool=WarmPool,_a=JSII_RTTI_SYMBOL_1,WarmPool[_a]={fqn:"aws-cdk-lib.aws_autoscaling.WarmPool",version:"2.96.1"};var PoolState;(function(PoolState2){PoolState2.HIBERNATED="Hibernated",PoolState2.RUNNING="Running",PoolState2.STOPPED="Stopped"})(PoolState||(exports.PoolState=PoolState={}));
