@Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class SpotProvisioningSpecification extends Object implements Serializable, Cloneable, StructuredPojo
The launch specification for Spot Instances in the instance fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.
The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. Spot Instance allocation strategy is available in Amazon EMR releases 5.12.1 and later.
Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.
| Constructor and Description | 
|---|
| SpotProvisioningSpecification() | 
| Modifier and Type | Method and Description | 
|---|---|
| SpotProvisioningSpecification | clone() | 
| boolean | equals(Object obj) | 
| String | getAllocationStrategy()
 Specifies one of the following strategies to launch Spot Instance fleets:  capacity-optimized,price-capacity-optimized,lowest-price, ordiversified, andcapacity-optimized-prioritized. | 
| Integer | getBlockDurationMinutes()
 The defined duration for Spot Instances (also known as Spot blocks) in minutes. | 
| String | getTimeoutAction()
 The action to take when  TargetSpotCapacityhas not been fulfilled when theTimeoutDurationMinuteshas expired; that is, when all Spot Instances could not be provisioned within
 the Spot provisioning timeout. | 
| Integer | getTimeoutDurationMinutes()
 The Spot provisioning timeout period in minutes. | 
| int | hashCode() | 
| void | marshall(ProtocolMarshaller protocolMarshaller) | 
| void | setAllocationStrategy(SpotProvisioningAllocationStrategy allocationStrategy)
 Specifies one of the following strategies to launch Spot Instance fleets:  capacity-optimized,price-capacity-optimized,lowest-price, ordiversified, andcapacity-optimized-prioritized. | 
| void | setAllocationStrategy(String allocationStrategy)
 Specifies one of the following strategies to launch Spot Instance fleets:  capacity-optimized,price-capacity-optimized,lowest-price, ordiversified, andcapacity-optimized-prioritized. | 
| void | setBlockDurationMinutes(Integer blockDurationMinutes)
 The defined duration for Spot Instances (also known as Spot blocks) in minutes. | 
| void | setTimeoutAction(SpotProvisioningTimeoutAction timeoutAction)
 The action to take when  TargetSpotCapacityhas not been fulfilled when theTimeoutDurationMinuteshas expired; that is, when all Spot Instances could not be provisioned within
 the Spot provisioning timeout. | 
| void | setTimeoutAction(String timeoutAction)
 The action to take when  TargetSpotCapacityhas not been fulfilled when theTimeoutDurationMinuteshas expired; that is, when all Spot Instances could not be provisioned within
 the Spot provisioning timeout. | 
| void | setTimeoutDurationMinutes(Integer timeoutDurationMinutes)
 The Spot provisioning timeout period in minutes. | 
| String | toString()Returns a string representation of this object. | 
| SpotProvisioningSpecification | withAllocationStrategy(SpotProvisioningAllocationStrategy allocationStrategy)
 Specifies one of the following strategies to launch Spot Instance fleets:  capacity-optimized,price-capacity-optimized,lowest-price, ordiversified, andcapacity-optimized-prioritized. | 
| SpotProvisioningSpecification | withAllocationStrategy(String allocationStrategy)
 Specifies one of the following strategies to launch Spot Instance fleets:  capacity-optimized,price-capacity-optimized,lowest-price, ordiversified, andcapacity-optimized-prioritized. | 
| SpotProvisioningSpecification | withBlockDurationMinutes(Integer blockDurationMinutes)
 The defined duration for Spot Instances (also known as Spot blocks) in minutes. | 
| SpotProvisioningSpecification | withTimeoutAction(SpotProvisioningTimeoutAction timeoutAction)
 The action to take when  TargetSpotCapacityhas not been fulfilled when theTimeoutDurationMinuteshas expired; that is, when all Spot Instances could not be provisioned within
 the Spot provisioning timeout. | 
| SpotProvisioningSpecification | withTimeoutAction(String timeoutAction)
 The action to take when  TargetSpotCapacityhas not been fulfilled when theTimeoutDurationMinuteshas expired; that is, when all Spot Instances could not be provisioned within
 the Spot provisioning timeout. | 
| SpotProvisioningSpecification | withTimeoutDurationMinutes(Integer timeoutDurationMinutes)
 The Spot provisioning timeout period in minutes. | 
public void setTimeoutDurationMinutes(Integer timeoutDurationMinutes)
 The Spot provisioning timeout period in minutes. If Spot Instances are not provisioned within this time period,
 the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only
 during initial provisioning, when the cluster is first created.
 
timeoutDurationMinutes - The Spot provisioning timeout period in minutes. If Spot Instances are not provisioned within this time
        period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout
        applies only during initial provisioning, when the cluster is first created.public Integer getTimeoutDurationMinutes()
 The Spot provisioning timeout period in minutes. If Spot Instances are not provisioned within this time period,
 the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only
 during initial provisioning, when the cluster is first created.
 
TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The
         timeout applies only during initial provisioning, when the cluster is first created.public SpotProvisioningSpecification withTimeoutDurationMinutes(Integer timeoutDurationMinutes)
 The Spot provisioning timeout period in minutes. If Spot Instances are not provisioned within this time period,
 the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only
 during initial provisioning, when the cluster is first created.
 
timeoutDurationMinutes - The Spot provisioning timeout period in minutes. If Spot Instances are not provisioned within this time
        period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout
        applies only during initial provisioning, when the cluster is first created.public void setTimeoutAction(String timeoutAction)
 The action to take when TargetSpotCapacity has not been fulfilled when the
 TimeoutDurationMinutes has expired; that is, when all Spot Instances could not be provisioned within
 the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and
 SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot Instances are available,
 On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.
 
timeoutAction - The action to take when TargetSpotCapacity has not been fulfilled when the
        TimeoutDurationMinutes has expired; that is, when all Spot Instances could not be provisioned
        within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and
        SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot Instances are available,
        On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.SpotProvisioningTimeoutActionpublic String getTimeoutAction()
 The action to take when TargetSpotCapacity has not been fulfilled when the
 TimeoutDurationMinutes has expired; that is, when all Spot Instances could not be provisioned within
 the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and
 SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot Instances are available,
 On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.
 
TargetSpotCapacity has not been fulfilled when the
         TimeoutDurationMinutes has expired; that is, when all Spot Instances could not be
         provisioned within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and
         SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot Instances are available,
         On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.SpotProvisioningTimeoutActionpublic SpotProvisioningSpecification withTimeoutAction(String timeoutAction)
 The action to take when TargetSpotCapacity has not been fulfilled when the
 TimeoutDurationMinutes has expired; that is, when all Spot Instances could not be provisioned within
 the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and
 SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot Instances are available,
 On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.
 
timeoutAction - The action to take when TargetSpotCapacity has not been fulfilled when the
        TimeoutDurationMinutes has expired; that is, when all Spot Instances could not be provisioned
        within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and
        SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot Instances are available,
        On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.SpotProvisioningTimeoutActionpublic void setTimeoutAction(SpotProvisioningTimeoutAction timeoutAction)
 The action to take when TargetSpotCapacity has not been fulfilled when the
 TimeoutDurationMinutes has expired; that is, when all Spot Instances could not be provisioned within
 the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and
 SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot Instances are available,
 On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.
 
timeoutAction - The action to take when TargetSpotCapacity has not been fulfilled when the
        TimeoutDurationMinutes has expired; that is, when all Spot Instances could not be provisioned
        within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and
        SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot Instances are available,
        On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.SpotProvisioningTimeoutActionpublic SpotProvisioningSpecification withTimeoutAction(SpotProvisioningTimeoutAction timeoutAction)
 The action to take when TargetSpotCapacity has not been fulfilled when the
 TimeoutDurationMinutes has expired; that is, when all Spot Instances could not be provisioned within
 the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and
 SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot Instances are available,
 On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.
 
timeoutAction - The action to take when TargetSpotCapacity has not been fulfilled when the
        TimeoutDurationMinutes has expired; that is, when all Spot Instances could not be provisioned
        within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and
        SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot Instances are available,
        On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.SpotProvisioningTimeoutActionpublic void setBlockDurationMinutes(Integer blockDurationMinutes)
The defined duration for Spot Instances (also known as Spot blocks) in minutes. When specified, the Spot Instance does not terminate before the defined duration expires, and defined duration pricing for Spot Instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot Instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot Instance for termination and provides a Spot Instance termination notice, which gives the instance a two-minute warning before it terminates.
Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.
blockDurationMinutes - The defined duration for Spot Instances (also known as Spot blocks) in minutes. When specified, the Spot
        Instance does not terminate before the defined duration expires, and defined duration pricing for Spot
        Instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as
        a Spot Instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot Instance
        for termination and provides a Spot Instance termination notice, which gives the instance a two-minute
        warning before it terminates.  Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.
public Integer getBlockDurationMinutes()
The defined duration for Spot Instances (also known as Spot blocks) in minutes. When specified, the Spot Instance does not terminate before the defined duration expires, and defined duration pricing for Spot Instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot Instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot Instance for termination and provides a Spot Instance termination notice, which gives the instance a two-minute warning before it terminates.
Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.
Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.
public SpotProvisioningSpecification withBlockDurationMinutes(Integer blockDurationMinutes)
The defined duration for Spot Instances (also known as Spot blocks) in minutes. When specified, the Spot Instance does not terminate before the defined duration expires, and defined duration pricing for Spot Instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot Instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot Instance for termination and provides a Spot Instance termination notice, which gives the instance a two-minute warning before it terminates.
Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.
blockDurationMinutes - The defined duration for Spot Instances (also known as Spot blocks) in minutes. When specified, the Spot
        Instance does not terminate before the defined duration expires, and defined duration pricing for Spot
        Instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as
        a Spot Instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot Instance
        for termination and provides a Spot Instance termination notice, which gives the instance a two-minute
        warning before it terminates.  Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.
public void setAllocationStrategy(String allocationStrategy)
 Specifies one of the following strategies to launch Spot Instance fleets: capacity-optimized,
 price-capacity-optimized, lowest-price, or diversified, and
 capacity-optimized-prioritized. For more information on the provisioning strategies, see Allocation
 strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances.
 
 When you launch a Spot Instance fleet with the old console, it automatically launches with the
 capacity-optimized strategy. You can't change the allocation strategy from the old console.
 
allocationStrategy - Specifies one of the following strategies to launch Spot Instance fleets: capacity-optimized,
        price-capacity-optimized, lowest-price, or diversified, and
        capacity-optimized-prioritized. For more information on the provisioning strategies, see Allocation
        strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances. 
        When you launch a Spot Instance fleet with the old console, it automatically launches with the
        capacity-optimized strategy. You can't change the allocation strategy from the old console.
        
SpotProvisioningAllocationStrategypublic String getAllocationStrategy()
 Specifies one of the following strategies to launch Spot Instance fleets: capacity-optimized,
 price-capacity-optimized, lowest-price, or diversified, and
 capacity-optimized-prioritized. For more information on the provisioning strategies, see Allocation
 strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances.
 
 When you launch a Spot Instance fleet with the old console, it automatically launches with the
 capacity-optimized strategy. You can't change the allocation strategy from the old console.
 
capacity-optimized
         , price-capacity-optimized, lowest-price, or diversified, and
         capacity-optimized-prioritized. For more information on the provisioning strategies, see Allocation
         strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances. 
         When you launch a Spot Instance fleet with the old console, it automatically launches with the
         capacity-optimized strategy. You can't change the allocation strategy from the old console.
         
SpotProvisioningAllocationStrategypublic SpotProvisioningSpecification withAllocationStrategy(String allocationStrategy)
 Specifies one of the following strategies to launch Spot Instance fleets: capacity-optimized,
 price-capacity-optimized, lowest-price, or diversified, and
 capacity-optimized-prioritized. For more information on the provisioning strategies, see Allocation
 strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances.
 
 When you launch a Spot Instance fleet with the old console, it automatically launches with the
 capacity-optimized strategy. You can't change the allocation strategy from the old console.
 
allocationStrategy - Specifies one of the following strategies to launch Spot Instance fleets: capacity-optimized,
        price-capacity-optimized, lowest-price, or diversified, and
        capacity-optimized-prioritized. For more information on the provisioning strategies, see Allocation
        strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances. 
        When you launch a Spot Instance fleet with the old console, it automatically launches with the
        capacity-optimized strategy. You can't change the allocation strategy from the old console.
        
SpotProvisioningAllocationStrategypublic void setAllocationStrategy(SpotProvisioningAllocationStrategy allocationStrategy)
 Specifies one of the following strategies to launch Spot Instance fleets: capacity-optimized,
 price-capacity-optimized, lowest-price, or diversified, and
 capacity-optimized-prioritized. For more information on the provisioning strategies, see Allocation
 strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances.
 
 When you launch a Spot Instance fleet with the old console, it automatically launches with the
 capacity-optimized strategy. You can't change the allocation strategy from the old console.
 
allocationStrategy - Specifies one of the following strategies to launch Spot Instance fleets: capacity-optimized,
        price-capacity-optimized, lowest-price, or diversified, and
        capacity-optimized-prioritized. For more information on the provisioning strategies, see Allocation
        strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances. 
        When you launch a Spot Instance fleet with the old console, it automatically launches with the
        capacity-optimized strategy. You can't change the allocation strategy from the old console.
        
SpotProvisioningAllocationStrategypublic SpotProvisioningSpecification withAllocationStrategy(SpotProvisioningAllocationStrategy allocationStrategy)
 Specifies one of the following strategies to launch Spot Instance fleets: capacity-optimized,
 price-capacity-optimized, lowest-price, or diversified, and
 capacity-optimized-prioritized. For more information on the provisioning strategies, see Allocation
 strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances.
 
 When you launch a Spot Instance fleet with the old console, it automatically launches with the
 capacity-optimized strategy. You can't change the allocation strategy from the old console.
 
allocationStrategy - Specifies one of the following strategies to launch Spot Instance fleets: capacity-optimized,
        price-capacity-optimized, lowest-price, or diversified, and
        capacity-optimized-prioritized. For more information on the provisioning strategies, see Allocation
        strategies for Spot Instances in the Amazon EC2 User Guide for Linux Instances. 
        When you launch a Spot Instance fleet with the old console, it automatically launches with the
        capacity-optimized strategy. You can't change the allocation strategy from the old console.
        
SpotProvisioningAllocationStrategypublic String toString()
toString in class ObjectObject.toString()public SpotProvisioningSpecification clone()
public void marshall(ProtocolMarshaller protocolMarshaller)
marshall in interface StructuredPojoCopyright © 2025. All rights reserved.