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

The launch specification for On-Demand instances in the instance fleet, * which determines the allocation strategy.

The instance fleet * configuration is available only in Amazon EMR versions 4.8.0 and later, * excluding 5.0.x versions. On-Demand instances allocation strategy is available * in Amazon EMR version 5.12.1 and later.

See Also:

AWS * API Reference

*/ class AWS_EMR_API OnDemandProvisioningSpecification { public: OnDemandProvisioningSpecification(); OnDemandProvisioningSpecification(Aws::Utils::Json::JsonView jsonValue); OnDemandProvisioningSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies the strategy to use in launching On-Demand instance fleets. * Currently, the only option is lowest-price (the default), which launches the * lowest price first.

*/ inline const OnDemandProvisioningAllocationStrategy& GetAllocationStrategy() const{ return m_allocationStrategy; } /** *

Specifies the strategy to use in launching On-Demand instance fleets. * Currently, the only option is lowest-price (the default), which launches the * lowest price first.

*/ inline bool AllocationStrategyHasBeenSet() const { return m_allocationStrategyHasBeenSet; } /** *

Specifies the strategy to use in launching On-Demand instance fleets. * Currently, the only option is lowest-price (the default), which launches the * lowest price first.

*/ inline void SetAllocationStrategy(const OnDemandProvisioningAllocationStrategy& value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy = value; } /** *

Specifies the strategy to use in launching On-Demand instance fleets. * Currently, the only option is lowest-price (the default), which launches the * lowest price first.

*/ inline void SetAllocationStrategy(OnDemandProvisioningAllocationStrategy&& value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy = std::move(value); } /** *

Specifies the strategy to use in launching On-Demand instance fleets. * Currently, the only option is lowest-price (the default), which launches the * lowest price first.

*/ inline OnDemandProvisioningSpecification& WithAllocationStrategy(const OnDemandProvisioningAllocationStrategy& value) { SetAllocationStrategy(value); return *this;} /** *

Specifies the strategy to use in launching On-Demand instance fleets. * Currently, the only option is lowest-price (the default), which launches the * lowest price first.

*/ inline OnDemandProvisioningSpecification& WithAllocationStrategy(OnDemandProvisioningAllocationStrategy&& value) { SetAllocationStrategy(std::move(value)); return *this;} private: OnDemandProvisioningAllocationStrategy m_allocationStrategy; bool m_allocationStrategyHasBeenSet; }; } // namespace Model } // namespace EMR } // namespace Aws