Class WarmPoolConfig

java.lang.Object
software.amazon.awssdk.services.eks.model.WarmPoolConfig
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<WarmPoolConfig.Builder,WarmPoolConfig>

@Generated("software.amazon.awssdk:codegen") public final class WarmPoolConfig extends Object implements SdkPojo, Serializable, ToCopyableBuilder<WarmPoolConfig.Builder,WarmPoolConfig>

The configuration for an Amazon EC2 Auto Scaling warm pool attached to an Amazon EKS managed node group. Warm pools maintain pre-initialized EC2 instances alongside your Auto Scaling group that have already completed the bootup initialization process and can be kept in a Stopped, Running, or Hibernated state.

See Also:
  • Method Details

    • enabled

      public final Boolean enabled()

      Specifies whether to attach warm pools on the managed node group. Set to true to enable the warm pool, or false to disable and remove it. If not specified during an update, the current value is preserved.

      Returns:
      Specifies whether to attach warm pools on the managed node group. Set to true to enable the warm pool, or false to disable and remove it. If not specified during an update, the current value is preserved.
    • minSize

      public final Integer minSize()

      The minimum number of instances to maintain in the warm pool. Default: 0. Size your warm pool based on scaling patterns to balance cost and availability. Start with 10-20% of expected peak capacity.

      Returns:
      The minimum number of instances to maintain in the warm pool. Default: 0. Size your warm pool based on scaling patterns to balance cost and availability. Start with 10-20% of expected peak capacity.
    • maxGroupPreparedCapacity

      public final Integer maxGroupPreparedCapacity()

      The maximum total number of instances across the warm pool and Auto Scaling group combined. This value controls the total prepared capacity available for your node group.

      Returns:
      The maximum total number of instances across the warm pool and Auto Scaling group combined. This value controls the total prepared capacity available for your node group.
    • poolState

      public final WarmPoolState poolState()

      The desired state for warm pool instances. Default: Stopped. Valid values are Stopped (most cost-effective with EBS storage costs only), Running (fastest transition time with full EC2 costs), and Hibernated (balance between cost and speed, only supported on specific instance types). Warm pool instances in the Hibernated state are not supported with Bottlerocket AMIs.

      If the service returns an enum value that is not available in the current SDK version, poolState will return WarmPoolState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from poolStateAsString().

      Returns:
      The desired state for warm pool instances. Default: Stopped. Valid values are Stopped (most cost-effective with EBS storage costs only), Running (fastest transition time with full EC2 costs), and Hibernated (balance between cost and speed, only supported on specific instance types). Warm pool instances in the Hibernated state are not supported with Bottlerocket AMIs.
      See Also:
    • poolStateAsString

      public final String poolStateAsString()

      The desired state for warm pool instances. Default: Stopped. Valid values are Stopped (most cost-effective with EBS storage costs only), Running (fastest transition time with full EC2 costs), and Hibernated (balance between cost and speed, only supported on specific instance types). Warm pool instances in the Hibernated state are not supported with Bottlerocket AMIs.

      If the service returns an enum value that is not available in the current SDK version, poolState will return WarmPoolState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from poolStateAsString().

      Returns:
      The desired state for warm pool instances. Default: Stopped. Valid values are Stopped (most cost-effective with EBS storage costs only), Running (fastest transition time with full EC2 costs), and Hibernated (balance between cost and speed, only supported on specific instance types). Warm pool instances in the Hibernated state are not supported with Bottlerocket AMIs.
      See Also:
    • reuseOnScaleIn

      public final Boolean reuseOnScaleIn()

      Indicates whether instances should return to the warm pool during scale-in events instead of being terminated. Default: false. Enable this to reduce costs by reusing instances. This feature is not supported for Bottlerocket AMIs.

      Returns:
      Indicates whether instances should return to the warm pool during scale-in events instead of being terminated. Default: false. Enable this to reduce costs by reusing instances. This feature is not supported for Bottlerocket AMIs.
    • toBuilder

      public WarmPoolConfig.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<WarmPoolConfig.Builder,WarmPoolConfig>
      Returns:
      a builder for type T
    • builder

      public static WarmPoolConfig.Builder builder()
    • serializableBuilderClass

      public static Class<? extends WarmPoolConfig.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.