"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.PoolState=exports.WarmPool=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var autoscaling_generated_1=()=>{var tmp=require("./autoscaling.generated");return autoscaling_generated_1=()=>tmp,tmp},core_1=()=>{var tmp=require("../../core");return core_1=()=>tmp,tmp};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.148.1"};var PoolState;(function(PoolState2){PoolState2.HIBERNATED="Hibernated",PoolState2.RUNNING="Running",PoolState2.STOPPED="Stopped"})(PoolState||(exports.PoolState=PoolState={}));
