Class FleetSpotCapacityRebalanceRequest

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

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

The Spot Instance replacement strategy to use when Amazon EC2 emits a rebalance notification signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

See Also:
  • Method Details

    • replacementStrategy

      public final FleetReplacementStrategy replacementStrategy()

      The replacement strategy to use. Only available for fleets of type maintain.

      launch - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.

      launch-before-terminate - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in TerminationDelay), terminates the instances that received a rebalance notification.

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

      Returns:
      The replacement strategy to use. Only available for fleets of type maintain.

      launch - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.

      launch-before-terminate - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in TerminationDelay), terminates the instances that received a rebalance notification.

      See Also:
    • replacementStrategyAsString

      public final String replacementStrategyAsString()

      The replacement strategy to use. Only available for fleets of type maintain.

      launch - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.

      launch-before-terminate - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in TerminationDelay), terminates the instances that received a rebalance notification.

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

      Returns:
      The replacement strategy to use. Only available for fleets of type maintain.

      launch - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not terminate the instances that receive a rebalance notification. You can terminate the old instances, or you can leave them running. You are charged for all instances while they are running.

      launch-before-terminate - EC2 Fleet launches a replacement Spot Instance when a rebalance notification is emitted for an existing Spot Instance in the fleet, and then, after a delay that you specify (in TerminationDelay), terminates the instances that received a rebalance notification.

      See Also:
    • terminationDelay

      public final Integer terminationDelay()

      The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.

      Required when ReplacementStrategy is set to launch-before-terminate.

      Not valid when ReplacementStrategy is set to launch.

      Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

      Returns:
      The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot Instance after launching a new replacement Spot Instance.

      Required when ReplacementStrategy is set to launch-before-terminate.

      Not valid when ReplacementStrategy is set to launch.

      Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

    • 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<FleetSpotCapacityRebalanceRequest.Builder,FleetSpotCapacityRebalanceRequest>
      Returns:
      a builder for type T
    • builder

    • serializableBuilderClass

      public static Class<? extends FleetSpotCapacityRebalanceRequest.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.