/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes the strategy for using unused Capacity Reservations for fulfilling * On-Demand capacity.

This strategy can only be used if the EC2 * Fleet is of type instant.

For more information about * Capacity Reservations, see On-Demand * Capacity Reservations in the Amazon EC2 User Guide. For examples of * using Capacity Reservations in an EC2 Fleet, see EC2 * Fleet example configurations in the Amazon EC2 User * Guide.

See Also:

AWS * API Reference

*/ class CapacityReservationOptionsRequest { public: AWS_EC2_API CapacityReservationOptionsRequest(); AWS_EC2_API CapacityReservationOptionsRequest(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API CapacityReservationOptionsRequest& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

Indicates whether to use unused Capacity Reservations for fulfilling * On-Demand capacity.

If you specify * use-capacity-reservations-first, the fleet uses unused Capacity * Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. * If multiple instance pools have unused Capacity Reservations, the On-Demand * allocation strategy (lowest-price or prioritized) is * applied. If the number of unused Capacity Reservations is less than the * On-Demand target capacity, the remaining On-Demand target capacity is launched * according to the On-Demand allocation strategy (lowest-price or * prioritized).

If you do not specify a value, the fleet * fulfils the On-Demand capacity according to the chosen On-Demand allocation * strategy.

*/ inline const FleetCapacityReservationUsageStrategy& GetUsageStrategy() const{ return m_usageStrategy; } /** *

Indicates whether to use unused Capacity Reservations for fulfilling * On-Demand capacity.

If you specify * use-capacity-reservations-first, the fleet uses unused Capacity * Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. * If multiple instance pools have unused Capacity Reservations, the On-Demand * allocation strategy (lowest-price or prioritized) is * applied. If the number of unused Capacity Reservations is less than the * On-Demand target capacity, the remaining On-Demand target capacity is launched * according to the On-Demand allocation strategy (lowest-price or * prioritized).

If you do not specify a value, the fleet * fulfils the On-Demand capacity according to the chosen On-Demand allocation * strategy.

*/ inline bool UsageStrategyHasBeenSet() const { return m_usageStrategyHasBeenSet; } /** *

Indicates whether to use unused Capacity Reservations for fulfilling * On-Demand capacity.

If you specify * use-capacity-reservations-first, the fleet uses unused Capacity * Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. * If multiple instance pools have unused Capacity Reservations, the On-Demand * allocation strategy (lowest-price or prioritized) is * applied. If the number of unused Capacity Reservations is less than the * On-Demand target capacity, the remaining On-Demand target capacity is launched * according to the On-Demand allocation strategy (lowest-price or * prioritized).

If you do not specify a value, the fleet * fulfils the On-Demand capacity according to the chosen On-Demand allocation * strategy.

*/ inline void SetUsageStrategy(const FleetCapacityReservationUsageStrategy& value) { m_usageStrategyHasBeenSet = true; m_usageStrategy = value; } /** *

Indicates whether to use unused Capacity Reservations for fulfilling * On-Demand capacity.

If you specify * use-capacity-reservations-first, the fleet uses unused Capacity * Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. * If multiple instance pools have unused Capacity Reservations, the On-Demand * allocation strategy (lowest-price or prioritized) is * applied. If the number of unused Capacity Reservations is less than the * On-Demand target capacity, the remaining On-Demand target capacity is launched * according to the On-Demand allocation strategy (lowest-price or * prioritized).

If you do not specify a value, the fleet * fulfils the On-Demand capacity according to the chosen On-Demand allocation * strategy.

*/ inline void SetUsageStrategy(FleetCapacityReservationUsageStrategy&& value) { m_usageStrategyHasBeenSet = true; m_usageStrategy = std::move(value); } /** *

Indicates whether to use unused Capacity Reservations for fulfilling * On-Demand capacity.

If you specify * use-capacity-reservations-first, the fleet uses unused Capacity * Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. * If multiple instance pools have unused Capacity Reservations, the On-Demand * allocation strategy (lowest-price or prioritized) is * applied. If the number of unused Capacity Reservations is less than the * On-Demand target capacity, the remaining On-Demand target capacity is launched * according to the On-Demand allocation strategy (lowest-price or * prioritized).

If you do not specify a value, the fleet * fulfils the On-Demand capacity according to the chosen On-Demand allocation * strategy.

*/ inline CapacityReservationOptionsRequest& WithUsageStrategy(const FleetCapacityReservationUsageStrategy& value) { SetUsageStrategy(value); return *this;} /** *

Indicates whether to use unused Capacity Reservations for fulfilling * On-Demand capacity.

If you specify * use-capacity-reservations-first, the fleet uses unused Capacity * Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. * If multiple instance pools have unused Capacity Reservations, the On-Demand * allocation strategy (lowest-price or prioritized) is * applied. If the number of unused Capacity Reservations is less than the * On-Demand target capacity, the remaining On-Demand target capacity is launched * according to the On-Demand allocation strategy (lowest-price or * prioritized).

If you do not specify a value, the fleet * fulfils the On-Demand capacity according to the chosen On-Demand allocation * strategy.

*/ inline CapacityReservationOptionsRequest& WithUsageStrategy(FleetCapacityReservationUsageStrategy&& value) { SetUsageStrategy(std::move(value)); return *this;} private: FleetCapacityReservationUsageStrategy m_usageStrategy; bool m_usageStrategyHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws