/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The launch specification for Spot instances in the fleet, which determines
* the defined duration, provisioning timeout behavior, and 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 and
* Spot instance allocation strategies are available in Amazon EMR version 5.12.1
* and later.See Also:
AWS
* API Reference
The launch specification for Spot instances in the fleet, which determines * the defined duration, provisioning timeout behavior, and allocation * strategy.
*/ inline const SpotProvisioningSpecification& GetSpotSpecification() const{ return m_spotSpecification; } /** *The launch specification for Spot instances in the fleet, which determines * the defined duration, provisioning timeout behavior, and allocation * strategy.
*/ inline bool SpotSpecificationHasBeenSet() const { return m_spotSpecificationHasBeenSet; } /** *The launch specification for Spot instances in the fleet, which determines * the defined duration, provisioning timeout behavior, and allocation * strategy.
*/ inline void SetSpotSpecification(const SpotProvisioningSpecification& value) { m_spotSpecificationHasBeenSet = true; m_spotSpecification = value; } /** *The launch specification for Spot instances in the fleet, which determines * the defined duration, provisioning timeout behavior, and allocation * strategy.
*/ inline void SetSpotSpecification(SpotProvisioningSpecification&& value) { m_spotSpecificationHasBeenSet = true; m_spotSpecification = std::move(value); } /** *The launch specification for Spot instances in the fleet, which determines * the defined duration, provisioning timeout behavior, and allocation * strategy.
*/ inline InstanceFleetProvisioningSpecifications& WithSpotSpecification(const SpotProvisioningSpecification& value) { SetSpotSpecification(value); return *this;} /** *The launch specification for Spot instances in the fleet, which determines * the defined duration, provisioning timeout behavior, and allocation * strategy.
*/ inline InstanceFleetProvisioningSpecifications& WithSpotSpecification(SpotProvisioningSpecification&& value) { SetSpotSpecification(std::move(value)); return *this;} /** *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.
*/ inline const OnDemandProvisioningSpecification& GetOnDemandSpecification() const{ return m_onDemandSpecification; } /** *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.
*/ inline bool OnDemandSpecificationHasBeenSet() const { return m_onDemandSpecificationHasBeenSet; } /** *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.
*/ inline void SetOnDemandSpecification(const OnDemandProvisioningSpecification& value) { m_onDemandSpecificationHasBeenSet = true; m_onDemandSpecification = value; } /** *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.
*/ inline void SetOnDemandSpecification(OnDemandProvisioningSpecification&& value) { m_onDemandSpecificationHasBeenSet = true; m_onDemandSpecification = std::move(value); } /** *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.
*/ inline InstanceFleetProvisioningSpecifications& WithOnDemandSpecification(const OnDemandProvisioningSpecification& value) { SetOnDemandSpecification(value); return *this;} /** *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.
*/ inline InstanceFleetProvisioningSpecifications& WithOnDemandSpecification(OnDemandProvisioningSpecification&& value) { SetOnDemandSpecification(std::move(value)); return *this;} private: SpotProvisioningSpecification m_spotSpecification; bool m_spotSpecificationHasBeenSet; OnDemandProvisioningSpecification m_onDemandSpecification; bool m_onDemandSpecificationHasBeenSet; }; } // namespace Model } // namespace EMR } // namespace Aws