@Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class InstancesDistribution extends Object implements Serializable, Cloneable
Use this structure to specify the distribution of On-Demand Instances and Spot Instances and the allocation strategies used to fulfill On-Demand and Spot capacities for a mixed instances policy.
Constructor and Description |
---|
InstancesDistribution() |
Modifier and Type | Method and Description |
---|---|
InstancesDistribution |
clone() |
boolean |
equals(Object obj) |
String |
getOnDemandAllocationStrategy()
The allocation strategy to apply to your On-Demand Instances when they are launched.
|
Integer |
getOnDemandBaseCapacity()
The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances.
|
Integer |
getOnDemandPercentageAboveBaseCapacity()
Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond
OnDemandBaseCapacity . |
String |
getSpotAllocationStrategy()
The allocation strategy to apply to your Spot Instances when they are launched.
|
Integer |
getSpotInstancePools()
The number of Spot Instance pools across which to allocate your Spot Instances.
|
String |
getSpotMaxPrice()
The maximum price per unit hour that you are willing to pay for a Spot Instance.
|
int |
hashCode() |
void |
setOnDemandAllocationStrategy(String onDemandAllocationStrategy)
The allocation strategy to apply to your On-Demand Instances when they are launched.
|
void |
setOnDemandBaseCapacity(Integer onDemandBaseCapacity)
The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances.
|
void |
setOnDemandPercentageAboveBaseCapacity(Integer onDemandPercentageAboveBaseCapacity)
Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond
OnDemandBaseCapacity . |
void |
setSpotAllocationStrategy(String spotAllocationStrategy)
The allocation strategy to apply to your Spot Instances when they are launched.
|
void |
setSpotInstancePools(Integer spotInstancePools)
The number of Spot Instance pools across which to allocate your Spot Instances.
|
void |
setSpotMaxPrice(String spotMaxPrice)
The maximum price per unit hour that you are willing to pay for a Spot Instance.
|
String |
toString()
Returns a string representation of this object.
|
InstancesDistribution |
withOnDemandAllocationStrategy(String onDemandAllocationStrategy)
The allocation strategy to apply to your On-Demand Instances when they are launched.
|
InstancesDistribution |
withOnDemandBaseCapacity(Integer onDemandBaseCapacity)
The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances.
|
InstancesDistribution |
withOnDemandPercentageAboveBaseCapacity(Integer onDemandPercentageAboveBaseCapacity)
Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond
OnDemandBaseCapacity . |
InstancesDistribution |
withSpotAllocationStrategy(String spotAllocationStrategy)
The allocation strategy to apply to your Spot Instances when they are launched.
|
InstancesDistribution |
withSpotInstancePools(Integer spotInstancePools)
The number of Spot Instance pools across which to allocate your Spot Instances.
|
InstancesDistribution |
withSpotMaxPrice(String spotMaxPrice)
The maximum price per unit hour that you are willing to pay for a Spot Instance.
|
public void setOnDemandAllocationStrategy(String onDemandAllocationStrategy)
The allocation strategy to apply to your On-Demand Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.
The following lists the valid values:
Uses price to determine which instance types are the highest priority, launching the lowest priced instance types within an Availability Zone first. This is the default value for Auto Scaling groups that specify InstanceRequirements.
You set the order of instance types for the launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling launches your highest priority instance types first. If all your On-Demand capacity cannot be fulfilled using your highest priority instance type, then Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so on. This is the default value for Auto Scaling groups that don't specify InstanceRequirements and cannot be used for groups that do.
onDemandAllocationStrategy
- The allocation strategy to apply to your On-Demand Instances when they are launched. Possible instance
types are determined by the launch template overrides that you specify.
The following lists the valid values:
Uses price to determine which instance types are the highest priority, launching the lowest priced instance types within an Availability Zone first. This is the default value for Auto Scaling groups that specify InstanceRequirements.
You set the order of instance types for the launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling launches your highest priority instance types first. If all your On-Demand capacity cannot be fulfilled using your highest priority instance type, then Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so on. This is the default value for Auto Scaling groups that don't specify InstanceRequirements and cannot be used for groups that do.
public String getOnDemandAllocationStrategy()
The allocation strategy to apply to your On-Demand Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.
The following lists the valid values:
Uses price to determine which instance types are the highest priority, launching the lowest priced instance types within an Availability Zone first. This is the default value for Auto Scaling groups that specify InstanceRequirements.
You set the order of instance types for the launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling launches your highest priority instance types first. If all your On-Demand capacity cannot be fulfilled using your highest priority instance type, then Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so on. This is the default value for Auto Scaling groups that don't specify InstanceRequirements and cannot be used for groups that do.
The following lists the valid values:
Uses price to determine which instance types are the highest priority, launching the lowest priced instance types within an Availability Zone first. This is the default value for Auto Scaling groups that specify InstanceRequirements.
You set the order of instance types for the launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling launches your highest priority instance types first. If all your On-Demand capacity cannot be fulfilled using your highest priority instance type, then Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so on. This is the default value for Auto Scaling groups that don't specify InstanceRequirements and cannot be used for groups that do.
public InstancesDistribution withOnDemandAllocationStrategy(String onDemandAllocationStrategy)
The allocation strategy to apply to your On-Demand Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.
The following lists the valid values:
Uses price to determine which instance types are the highest priority, launching the lowest priced instance types within an Availability Zone first. This is the default value for Auto Scaling groups that specify InstanceRequirements.
You set the order of instance types for the launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling launches your highest priority instance types first. If all your On-Demand capacity cannot be fulfilled using your highest priority instance type, then Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so on. This is the default value for Auto Scaling groups that don't specify InstanceRequirements and cannot be used for groups that do.
onDemandAllocationStrategy
- The allocation strategy to apply to your On-Demand Instances when they are launched. Possible instance
types are determined by the launch template overrides that you specify.
The following lists the valid values:
Uses price to determine which instance types are the highest priority, launching the lowest priced instance types within an Availability Zone first. This is the default value for Auto Scaling groups that specify InstanceRequirements.
You set the order of instance types for the launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling launches your highest priority instance types first. If all your On-Demand capacity cannot be fulfilled using your highest priority instance type, then Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so on. This is the default value for Auto Scaling groups that don't specify InstanceRequirements and cannot be used for groups that do.
public void setOnDemandBaseCapacity(Integer onDemandBaseCapacity)
The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is launched first as your group scales.
This number has the same unit of measurement as the group's desired capacity. If you change the default unit of measurement (number of instances) by specifying weighted capacity values in your launch template overrides list, or by changing the default desired capacity type setting of the group, you must specify this number using the same unit of measurement.
Default: 0
onDemandBaseCapacity
- The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances.
This base portion is launched first as your group scales.
This number has the same unit of measurement as the group's desired capacity. If you change the default unit of measurement (number of instances) by specifying weighted capacity values in your launch template overrides list, or by changing the default desired capacity type setting of the group, you must specify this number using the same unit of measurement.
Default: 0
public Integer getOnDemandBaseCapacity()
The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is launched first as your group scales.
This number has the same unit of measurement as the group's desired capacity. If you change the default unit of measurement (number of instances) by specifying weighted capacity values in your launch template overrides list, or by changing the default desired capacity type setting of the group, you must specify this number using the same unit of measurement.
Default: 0
This number has the same unit of measurement as the group's desired capacity. If you change the default unit of measurement (number of instances) by specifying weighted capacity values in your launch template overrides list, or by changing the default desired capacity type setting of the group, you must specify this number using the same unit of measurement.
Default: 0
public InstancesDistribution withOnDemandBaseCapacity(Integer onDemandBaseCapacity)
The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is launched first as your group scales.
This number has the same unit of measurement as the group's desired capacity. If you change the default unit of measurement (number of instances) by specifying weighted capacity values in your launch template overrides list, or by changing the default desired capacity type setting of the group, you must specify this number using the same unit of measurement.
Default: 0
onDemandBaseCapacity
- The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances.
This base portion is launched first as your group scales.
This number has the same unit of measurement as the group's desired capacity. If you change the default unit of measurement (number of instances) by specifying weighted capacity values in your launch template overrides list, or by changing the default desired capacity type setting of the group, you must specify this number using the same unit of measurement.
Default: 0
public void setOnDemandPercentageAboveBaseCapacity(Integer onDemandPercentageAboveBaseCapacity)
Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond
OnDemandBaseCapacity
. Expressed as a number (for example, 20 specifies 20% On-Demand Instances, 80%
Spot Instances). If set to 100, only On-Demand Instances are used.
Default: 100
onDemandPercentageAboveBaseCapacity
- Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond
OnDemandBaseCapacity
. Expressed as a number (for example, 20 specifies 20% On-Demand
Instances, 80% Spot Instances). If set to 100, only On-Demand Instances are used.
Default: 100
public Integer getOnDemandPercentageAboveBaseCapacity()
Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond
OnDemandBaseCapacity
. Expressed as a number (for example, 20 specifies 20% On-Demand Instances, 80%
Spot Instances). If set to 100, only On-Demand Instances are used.
Default: 100
OnDemandBaseCapacity
. Expressed as a number (for example, 20 specifies 20% On-Demand
Instances, 80% Spot Instances). If set to 100, only On-Demand Instances are used.
Default: 100
public InstancesDistribution withOnDemandPercentageAboveBaseCapacity(Integer onDemandPercentageAboveBaseCapacity)
Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond
OnDemandBaseCapacity
. Expressed as a number (for example, 20 specifies 20% On-Demand Instances, 80%
Spot Instances). If set to 100, only On-Demand Instances are used.
Default: 100
onDemandPercentageAboveBaseCapacity
- Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond
OnDemandBaseCapacity
. Expressed as a number (for example, 20 specifies 20% On-Demand
Instances, 80% Spot Instances). If set to 100, only On-Demand Instances are used.
Default: 100
public void setSpotAllocationStrategy(String spotAllocationStrategy)
The allocation strategy to apply to your Spot Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.
The following lists the valid values:
Requests Spot Instances using pools that are optimally chosen based on the available Spot capacity. This strategy
has the lowest risk of interruption. To give certain instance types a higher chance of launching first, use
capacity-optimized-prioritized
.
You set the order of instance types for the launch template overrides from highest to lowest priority (from first
to last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best effort basis but
optimizes for capacity first. Note that if the On-Demand allocation strategy is set to prioritized
,
the same priority is applied when fulfilling On-Demand capacity. This is not a valid value for Auto Scaling
groups that specify InstanceRequirements.
Requests Spot Instances using the lowest priced pools within an Availability Zone, across the number of Spot
pools that you specify for the SpotInstancePools
property. To ensure that your desired capacity is
met, you might receive Spot Instances from several pools. This is the default value, but it might lead to high
interruption rates because this strategy only considers instance price and not available capacity.
The price and capacity optimized allocation strategy looks at both price and capacity to select the Spot Instance pools that are the least likely to be interrupted and have the lowest possible price.
spotAllocationStrategy
- The allocation strategy to apply to your Spot Instances when they are launched. Possible instance types
are determined by the launch template overrides that you specify.
The following lists the valid values:
Requests Spot Instances using pools that are optimally chosen based on the available Spot capacity. This
strategy has the lowest risk of interruption. To give certain instance types a higher chance of launching
first, use capacity-optimized-prioritized
.
You set the order of instance types for the launch template overrides from highest to lowest priority
(from first to last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best
effort basis but optimizes for capacity first. Note that if the On-Demand allocation strategy is set to
prioritized
, the same priority is applied when fulfilling On-Demand capacity. This is not a
valid value for Auto Scaling groups that specify InstanceRequirements.
Requests Spot Instances using the lowest priced pools within an Availability Zone, across the number of
Spot pools that you specify for the SpotInstancePools
property. To ensure that your desired
capacity is met, you might receive Spot Instances from several pools. This is the default value, but it
might lead to high interruption rates because this strategy only considers instance price and not
available capacity.
The price and capacity optimized allocation strategy looks at both price and capacity to select the Spot Instance pools that are the least likely to be interrupted and have the lowest possible price.
public String getSpotAllocationStrategy()
The allocation strategy to apply to your Spot Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.
The following lists the valid values:
Requests Spot Instances using pools that are optimally chosen based on the available Spot capacity. This strategy
has the lowest risk of interruption. To give certain instance types a higher chance of launching first, use
capacity-optimized-prioritized
.
You set the order of instance types for the launch template overrides from highest to lowest priority (from first
to last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best effort basis but
optimizes for capacity first. Note that if the On-Demand allocation strategy is set to prioritized
,
the same priority is applied when fulfilling On-Demand capacity. This is not a valid value for Auto Scaling
groups that specify InstanceRequirements.
Requests Spot Instances using the lowest priced pools within an Availability Zone, across the number of Spot
pools that you specify for the SpotInstancePools
property. To ensure that your desired capacity is
met, you might receive Spot Instances from several pools. This is the default value, but it might lead to high
interruption rates because this strategy only considers instance price and not available capacity.
The price and capacity optimized allocation strategy looks at both price and capacity to select the Spot Instance pools that are the least likely to be interrupted and have the lowest possible price.
The following lists the valid values:
Requests Spot Instances using pools that are optimally chosen based on the available Spot capacity. This
strategy has the lowest risk of interruption. To give certain instance types a higher chance of launching
first, use capacity-optimized-prioritized
.
You set the order of instance types for the launch template overrides from highest to lowest priority
(from first to last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best
effort basis but optimizes for capacity first. Note that if the On-Demand allocation strategy is set to
prioritized
, the same priority is applied when fulfilling On-Demand capacity. This is not a
valid value for Auto Scaling groups that specify InstanceRequirements.
Requests Spot Instances using the lowest priced pools within an Availability Zone, across the number of
Spot pools that you specify for the SpotInstancePools
property. To ensure that your desired
capacity is met, you might receive Spot Instances from several pools. This is the default value, but it
might lead to high interruption rates because this strategy only considers instance price and not
available capacity.
The price and capacity optimized allocation strategy looks at both price and capacity to select the Spot Instance pools that are the least likely to be interrupted and have the lowest possible price.
public InstancesDistribution withSpotAllocationStrategy(String spotAllocationStrategy)
The allocation strategy to apply to your Spot Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.
The following lists the valid values:
Requests Spot Instances using pools that are optimally chosen based on the available Spot capacity. This strategy
has the lowest risk of interruption. To give certain instance types a higher chance of launching first, use
capacity-optimized-prioritized
.
You set the order of instance types for the launch template overrides from highest to lowest priority (from first
to last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best effort basis but
optimizes for capacity first. Note that if the On-Demand allocation strategy is set to prioritized
,
the same priority is applied when fulfilling On-Demand capacity. This is not a valid value for Auto Scaling
groups that specify InstanceRequirements.
Requests Spot Instances using the lowest priced pools within an Availability Zone, across the number of Spot
pools that you specify for the SpotInstancePools
property. To ensure that your desired capacity is
met, you might receive Spot Instances from several pools. This is the default value, but it might lead to high
interruption rates because this strategy only considers instance price and not available capacity.
The price and capacity optimized allocation strategy looks at both price and capacity to select the Spot Instance pools that are the least likely to be interrupted and have the lowest possible price.
spotAllocationStrategy
- The allocation strategy to apply to your Spot Instances when they are launched. Possible instance types
are determined by the launch template overrides that you specify.
The following lists the valid values:
Requests Spot Instances using pools that are optimally chosen based on the available Spot capacity. This
strategy has the lowest risk of interruption. To give certain instance types a higher chance of launching
first, use capacity-optimized-prioritized
.
You set the order of instance types for the launch template overrides from highest to lowest priority
(from first to last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best
effort basis but optimizes for capacity first. Note that if the On-Demand allocation strategy is set to
prioritized
, the same priority is applied when fulfilling On-Demand capacity. This is not a
valid value for Auto Scaling groups that specify InstanceRequirements.
Requests Spot Instances using the lowest priced pools within an Availability Zone, across the number of
Spot pools that you specify for the SpotInstancePools
property. To ensure that your desired
capacity is met, you might receive Spot Instances from several pools. This is the default value, but it
might lead to high interruption rates because this strategy only considers instance price and not
available capacity.
The price and capacity optimized allocation strategy looks at both price and capacity to select the Spot Instance pools that are the least likely to be interrupted and have the lowest possible price.
public void setSpotInstancePools(Integer spotInstancePools)
The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are determined
from the different instance types in the overrides. Valid only when the SpotAllocationStrategy
is
lowest-price
. Value must be in the range of 1–20.
Default: 2
spotInstancePools
- The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are
determined from the different instance types in the overrides. Valid only when the
SpotAllocationStrategy
is lowest-price
. Value must be in the range of 1–20.
Default: 2
public Integer getSpotInstancePools()
The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are determined
from the different instance types in the overrides. Valid only when the SpotAllocationStrategy
is
lowest-price
. Value must be in the range of 1–20.
Default: 2
SpotAllocationStrategy
is lowest-price
. Value must be in the range of 1–20.
Default: 2
public InstancesDistribution withSpotInstancePools(Integer spotInstancePools)
The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are determined
from the different instance types in the overrides. Valid only when the SpotAllocationStrategy
is
lowest-price
. Value must be in the range of 1–20.
Default: 2
spotInstancePools
- The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are
determined from the different instance types in the overrides. Valid only when the
SpotAllocationStrategy
is lowest-price
. Value must be in the range of 1–20.
Default: 2
public void setSpotMaxPrice(String spotMaxPrice)
The maximum price per unit hour that you are willing to pay for a Spot Instance. If your maximum price is lower than the Spot price for the instance types that you selected, your Spot Instances are not launched. We do not recommend specifying a maximum price because it can lead to increased interruptions. When Spot Instances launch, you pay the current Spot price. To remove a maximum price that you previously set, include the property but specify an empty string ("") for the value.
If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify one.
Valid Range: Minimum value of 0.001
spotMaxPrice
- The maximum price per unit hour that you are willing to pay for a Spot Instance. If your maximum price is
lower than the Spot price for the instance types that you selected, your Spot Instances are not launched.
We do not recommend specifying a maximum price because it can lead to increased interruptions. When Spot
Instances launch, you pay the current Spot price. To remove a maximum price that you previously set,
include the property but specify an empty string ("") for the value. If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify one.
Valid Range: Minimum value of 0.001
public String getSpotMaxPrice()
The maximum price per unit hour that you are willing to pay for a Spot Instance. If your maximum price is lower than the Spot price for the instance types that you selected, your Spot Instances are not launched. We do not recommend specifying a maximum price because it can lead to increased interruptions. When Spot Instances launch, you pay the current Spot price. To remove a maximum price that you previously set, include the property but specify an empty string ("") for the value.
If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify one.
Valid Range: Minimum value of 0.001
If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify one.
Valid Range: Minimum value of 0.001
public InstancesDistribution withSpotMaxPrice(String spotMaxPrice)
The maximum price per unit hour that you are willing to pay for a Spot Instance. If your maximum price is lower than the Spot price for the instance types that you selected, your Spot Instances are not launched. We do not recommend specifying a maximum price because it can lead to increased interruptions. When Spot Instances launch, you pay the current Spot price. To remove a maximum price that you previously set, include the property but specify an empty string ("") for the value.
If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify one.
Valid Range: Minimum value of 0.001
spotMaxPrice
- The maximum price per unit hour that you are willing to pay for a Spot Instance. If your maximum price is
lower than the Spot price for the instance types that you selected, your Spot Instances are not launched.
We do not recommend specifying a maximum price because it can lead to increased interruptions. When Spot
Instances launch, you pay the current Spot price. To remove a maximum price that you previously set,
include the property but specify an empty string ("") for the value. If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify one.
Valid Range: Minimum value of 0.001
public String toString()
toString
in class Object
Object.toString()
public InstancesDistribution clone()
Copyright © 2024. All rights reserved.