/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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.See Also:
AWS
* API Reference
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 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 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 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 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 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 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 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 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
*/ inline int GetOnDemandBaseCapacity() const{ return m_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
*/ inline bool OnDemandBaseCapacityHasBeenSet() const { return m_onDemandBaseCapacityHasBeenSet; } /** *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
*/ inline void SetOnDemandBaseCapacity(int value) { m_onDemandBaseCapacityHasBeenSet = true; m_onDemandBaseCapacity = value; } /** *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
*/ inline InstancesDistribution& WithOnDemandBaseCapacity(int value) { SetOnDemandBaseCapacity(value); return *this;} /** *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
*/ inline int GetOnDemandPercentageAboveBaseCapacity() const{ return m_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
*/ inline bool OnDemandPercentageAboveBaseCapacityHasBeenSet() const { return m_onDemandPercentageAboveBaseCapacityHasBeenSet; } /** *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
*/ inline void SetOnDemandPercentageAboveBaseCapacity(int value) { m_onDemandPercentageAboveBaseCapacityHasBeenSet = true; m_onDemandPercentageAboveBaseCapacity = value; } /** *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
*/ inline InstancesDistribution& WithOnDemandPercentageAboveBaseCapacity(int value) { SetOnDemandPercentageAboveBaseCapacity(value); return *this;} /** *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 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 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 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 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 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 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 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 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
*/ inline int GetSpotInstancePools() const{ return m_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
*/ inline bool SpotInstancePoolsHasBeenSet() const { return m_spotInstancePoolsHasBeenSet; } /** *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
*/ inline void SetSpotInstancePools(int value) { m_spotInstancePoolsHasBeenSet = true; m_spotInstancePools = value; } /** *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
*/ inline InstancesDistribution& WithSpotInstancePools(int value) { SetSpotInstancePools(value); return *this;} /** *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
*/ inline const Aws::String& GetSpotMaxPrice() const{ return m_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
*/ inline bool SpotMaxPriceHasBeenSet() const { return m_spotMaxPriceHasBeenSet; } /** *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
*/ inline void SetSpotMaxPrice(const Aws::String& value) { m_spotMaxPriceHasBeenSet = true; m_spotMaxPrice = value; } /** *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
*/ inline void SetSpotMaxPrice(Aws::String&& value) { m_spotMaxPriceHasBeenSet = true; m_spotMaxPrice = std::move(value); } /** *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
*/ inline void SetSpotMaxPrice(const char* value) { m_spotMaxPriceHasBeenSet = true; m_spotMaxPrice.assign(value); } /** *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
*/ inline InstancesDistribution& WithSpotMaxPrice(const Aws::String& value) { SetSpotMaxPrice(value); return *this;} /** *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
*/ inline InstancesDistribution& WithSpotMaxPrice(Aws::String&& value) { SetSpotMaxPrice(std::move(value)); return *this;} /** *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
*/ inline InstancesDistribution& WithSpotMaxPrice(const char* value) { SetSpotMaxPrice(value); return *this;} private: Aws::String m_onDemandAllocationStrategy; bool m_onDemandAllocationStrategyHasBeenSet = false; int m_onDemandBaseCapacity; bool m_onDemandBaseCapacityHasBeenSet = false; int m_onDemandPercentageAboveBaseCapacity; bool m_onDemandPercentageAboveBaseCapacityHasBeenSet = false; Aws::String m_spotAllocationStrategy; bool m_spotAllocationStrategyHasBeenSet = false; int m_spotInstancePools; bool m_spotInstancePoolsHasBeenSet = false; Aws::String m_spotMaxPrice; bool m_spotMaxPriceHasBeenSet = false; }; } // namespace Model } // namespace AutoScaling } // namespace Aws