/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the configuration of Spot Instances in an EC2 Fleet
* request.See Also:
AWS
* API Reference
Indicates how to allocate the target Spot Instance capacity across the Spot * Instance pools specified by the EC2 Fleet.
If the allocation strategy is
* lowest-price, EC2 Fleet launches instances from the Spot Instance
* pools with the lowest price. This is the default allocation strategy.
If
* the allocation strategy is diversified, EC2 Fleet launches
* instances from all of the Spot Instance pools that you specify.
If the
* allocation strategy is capacity-optimized, EC2 Fleet launches
* instances from Spot Instance pools with optimal capacity for the number of
* instances that are launching.
Indicates how to allocate the target Spot Instance capacity across the Spot * Instance pools specified by the EC2 Fleet.
If the allocation strategy is
* lowest-price, EC2 Fleet launches instances from the Spot Instance
* pools with the lowest price. This is the default allocation strategy.
If
* the allocation strategy is diversified, EC2 Fleet launches
* instances from all of the Spot Instance pools that you specify.
If the
* allocation strategy is capacity-optimized, EC2 Fleet launches
* instances from Spot Instance pools with optimal capacity for the number of
* instances that are launching.
Indicates how to allocate the target Spot Instance capacity across the Spot * Instance pools specified by the EC2 Fleet.
If the allocation strategy is
* lowest-price, EC2 Fleet launches instances from the Spot Instance
* pools with the lowest price. This is the default allocation strategy.
If
* the allocation strategy is diversified, EC2 Fleet launches
* instances from all of the Spot Instance pools that you specify.
If the
* allocation strategy is capacity-optimized, EC2 Fleet launches
* instances from Spot Instance pools with optimal capacity for the number of
* instances that are launching.
Indicates how to allocate the target Spot Instance capacity across the Spot * Instance pools specified by the EC2 Fleet.
If the allocation strategy is
* lowest-price, EC2 Fleet launches instances from the Spot Instance
* pools with the lowest price. This is the default allocation strategy.
If
* the allocation strategy is diversified, EC2 Fleet launches
* instances from all of the Spot Instance pools that you specify.
If the
* allocation strategy is capacity-optimized, EC2 Fleet launches
* instances from Spot Instance pools with optimal capacity for the number of
* instances that are launching.
Indicates how to allocate the target Spot Instance capacity across the Spot * Instance pools specified by the EC2 Fleet.
If the allocation strategy is
* lowest-price, EC2 Fleet launches instances from the Spot Instance
* pools with the lowest price. This is the default allocation strategy.
If
* the allocation strategy is diversified, EC2 Fleet launches
* instances from all of the Spot Instance pools that you specify.
If the
* allocation strategy is capacity-optimized, EC2 Fleet launches
* instances from Spot Instance pools with optimal capacity for the number of
* instances that are launching.
Indicates how to allocate the target Spot Instance capacity across the Spot * Instance pools specified by the EC2 Fleet.
If the allocation strategy is
* lowest-price, EC2 Fleet launches instances from the Spot Instance
* pools with the lowest price. This is the default allocation strategy.
If
* the allocation strategy is diversified, EC2 Fleet launches
* instances from all of the Spot Instance pools that you specify.
If the
* allocation strategy is capacity-optimized, EC2 Fleet launches
* instances from Spot Instance pools with optimal capacity for the number of
* instances that are launching.
The behavior when a Spot Instance is interrupted. The default is
* terminate.
The behavior when a Spot Instance is interrupted. The default is
* terminate.
The behavior when a Spot Instance is interrupted. The default is
* terminate.
The behavior when a Spot Instance is interrupted. The default is
* terminate.
The behavior when a Spot Instance is interrupted. The default is
* terminate.
The behavior when a Spot Instance is interrupted. The default is
* terminate.
The number of Spot pools across which to allocate your target Spot capacity.
* Valid only when Spot AllocationStrategy is set to
* lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly
* allocates your target Spot capacity across the number of Spot pools that you
* specify.
The number of Spot pools across which to allocate your target Spot capacity.
* Valid only when Spot AllocationStrategy is set to
* lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly
* allocates your target Spot capacity across the number of Spot pools that you
* specify.
The number of Spot pools across which to allocate your target Spot capacity.
* Valid only when Spot AllocationStrategy is set to
* lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly
* allocates your target Spot capacity across the number of Spot pools that you
* specify.
The number of Spot pools across which to allocate your target Spot capacity.
* Valid only when Spot AllocationStrategy is set to
* lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly
* allocates your target Spot capacity across the number of Spot pools that you
* specify.
Indicates that the fleet uses a single instance type to launch all Spot
* Instances in the fleet. Supported only for fleets of type
* instant.
Indicates that the fleet uses a single instance type to launch all Spot
* Instances in the fleet. Supported only for fleets of type
* instant.
Indicates that the fleet uses a single instance type to launch all Spot
* Instances in the fleet. Supported only for fleets of type
* instant.
Indicates that the fleet uses a single instance type to launch all Spot
* Instances in the fleet. Supported only for fleets of type
* instant.
Indicates that the fleet launches all Spot Instances into a single
* Availability Zone. Supported only for fleets of type instant.
Indicates that the fleet launches all Spot Instances into a single
* Availability Zone. Supported only for fleets of type instant.
Indicates that the fleet launches all Spot Instances into a single
* Availability Zone. Supported only for fleets of type instant.
Indicates that the fleet launches all Spot Instances into a single
* Availability Zone. Supported only for fleets of type instant.
The minimum target capacity for Spot Instances in the fleet. If the minimum * target capacity is not reached, the fleet launches no instances.
*/ inline int GetMinTargetCapacity() const{ return m_minTargetCapacity; } /** *The minimum target capacity for Spot Instances in the fleet. If the minimum * target capacity is not reached, the fleet launches no instances.
*/ inline bool MinTargetCapacityHasBeenSet() const { return m_minTargetCapacityHasBeenSet; } /** *The minimum target capacity for Spot Instances in the fleet. If the minimum * target capacity is not reached, the fleet launches no instances.
*/ inline void SetMinTargetCapacity(int value) { m_minTargetCapacityHasBeenSet = true; m_minTargetCapacity = value; } /** *The minimum target capacity for Spot Instances in the fleet. If the minimum * target capacity is not reached, the fleet launches no instances.
*/ inline SpotOptionsRequest& WithMinTargetCapacity(int value) { SetMinTargetCapacity(value); return *this;} /** *The maximum amount per hour for Spot Instances that you're willing to * pay.
*/ inline const Aws::String& GetMaxTotalPrice() const{ return m_maxTotalPrice; } /** *The maximum amount per hour for Spot Instances that you're willing to * pay.
*/ inline bool MaxTotalPriceHasBeenSet() const { return m_maxTotalPriceHasBeenSet; } /** *The maximum amount per hour for Spot Instances that you're willing to * pay.
*/ inline void SetMaxTotalPrice(const Aws::String& value) { m_maxTotalPriceHasBeenSet = true; m_maxTotalPrice = value; } /** *The maximum amount per hour for Spot Instances that you're willing to * pay.
*/ inline void SetMaxTotalPrice(Aws::String&& value) { m_maxTotalPriceHasBeenSet = true; m_maxTotalPrice = std::move(value); } /** *The maximum amount per hour for Spot Instances that you're willing to * pay.
*/ inline void SetMaxTotalPrice(const char* value) { m_maxTotalPriceHasBeenSet = true; m_maxTotalPrice.assign(value); } /** *The maximum amount per hour for Spot Instances that you're willing to * pay.
*/ inline SpotOptionsRequest& WithMaxTotalPrice(const Aws::String& value) { SetMaxTotalPrice(value); return *this;} /** *The maximum amount per hour for Spot Instances that you're willing to * pay.
*/ inline SpotOptionsRequest& WithMaxTotalPrice(Aws::String&& value) { SetMaxTotalPrice(std::move(value)); return *this;} /** *The maximum amount per hour for Spot Instances that you're willing to * pay.
*/ inline SpotOptionsRequest& WithMaxTotalPrice(const char* value) { SetMaxTotalPrice(value); return *this;} private: SpotAllocationStrategy m_allocationStrategy; bool m_allocationStrategyHasBeenSet; SpotInstanceInterruptionBehavior m_instanceInterruptionBehavior; bool m_instanceInterruptionBehaviorHasBeenSet; int m_instancePoolsToUseCount; bool m_instancePoolsToUseCountHasBeenSet; bool m_singleInstanceType; bool m_singleInstanceTypeHasBeenSet; bool m_singleAvailabilityZone; bool m_singleAvailabilityZoneHasBeenSet; int m_minTargetCapacity; bool m_minTargetCapacityHasBeenSet; Aws::String m_maxTotalPrice; bool m_maxTotalPriceHasBeenSet; }; } // namespace Model } // namespace EC2 } // namespace Aws