java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.Mixin
software.amazon.awscdk.cfnpropertymixins.services.autoscaling.CfnWarmPoolPropsMixin
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable, software.constructs.IMixin

@Generated(value="jsii-pacmak/1.127.0 (build 2117ad5)", date="2026-03-11T13:19:56.217Z") @Stability(Stable) public class CfnWarmPoolPropsMixin extends Mixin implements software.constructs.IMixin
The AWS::AutoScaling::WarmPool resource creates a pool of pre-initialized EC2 instances that sits alongside the Auto Scaling group.

Whenever your application needs to scale out, the Auto Scaling group can draw on the warm pool to meet its new desired capacity.

When you create a warm pool, you can define a minimum size. When your Auto Scaling group scales out and the size of the warm pool shrinks, Amazon EC2 Auto Scaling launches new instances into the warm pool to maintain its minimum size.

For more information, see Warm pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide .

CloudFormation supports the UpdatePolicy attribute for Auto Scaling groups. During an update, if UpdatePolicy is set to AutoScalingRollingUpdate , CloudFormation replaces InService instances only. Instances in the warm pool are not replaced. The difference in which instances are replaced can potentially result in different instance configurations after the stack update completes. If UpdatePolicy is set to AutoScalingReplacingUpdate , you do not encounter this issue because CloudFormation replaces both the Auto Scaling group and the warm pool.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.cfnpropertymixins.services.autoscaling.*;
 import software.amazon.awscdk.*;
 IMergeStrategy mergeStrategy;
 CfnWarmPoolPropsMixin cfnWarmPoolPropsMixin = CfnWarmPoolPropsMixin.Builder.create(CfnWarmPoolMixinProps.builder()
         .autoScalingGroupName("autoScalingGroupName")
         .instanceReusePolicy(InstanceReusePolicyProperty.builder()
                 .reuseOnScaleIn(false)
                 .build())
         .maxGroupPreparedCapacity(123)
         .minSize(123)
         .poolState("poolState")
         .build())
 .strategy(mergeStrategy)
 .build();
 

See Also:
  • Field Details

    • CFN_PROPERTY_KEYS

      @Stability(Stable) protected static final List<String> CFN_PROPERTY_KEYS
  • Constructor Details

    • CfnWarmPoolPropsMixin

      protected CfnWarmPoolPropsMixin(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnWarmPoolPropsMixin

      protected CfnWarmPoolPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnWarmPoolPropsMixin

      @Stability(Stable) public CfnWarmPoolPropsMixin(@NotNull CfnWarmPoolMixinProps props, @Nullable CfnPropertyMixinOptions options)
      Create a mixin to apply properties to AWS::AutoScaling::WarmPool.

      Parameters:
      props - L1 properties to apply. This parameter is required.
      options - Mixin options.
    • CfnWarmPoolPropsMixin

      @Stability(Stable) public CfnWarmPoolPropsMixin(@NotNull CfnWarmPoolMixinProps props)
      Create a mixin to apply properties to AWS::AutoScaling::WarmPool.

      Parameters:
      props - L1 properties to apply. This parameter is required.
  • Method Details

    • applyTo

      @Stability(Stable) public void applyTo(@NotNull software.constructs.IConstruct construct)
      Apply the mixin properties to the construct.

      Specified by:
      applyTo in interface software.constructs.IMixin
      Specified by:
      applyTo in class Mixin
      Parameters:
      construct - This parameter is required.
    • supports

      @Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct)
      Check if this mixin supports the given construct.

      Specified by:
      supports in interface software.constructs.IMixin
      Overrides:
      supports in class Mixin
      Parameters:
      construct - This parameter is required.
    • getProps

      @Stability(Stable) @NotNull protected CfnWarmPoolMixinProps getProps()
    • getStrategy

      @Stability(Stable) @NotNull protected IMergeStrategy getStrategy()