/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The resize specification for On-Demand and Spot Instances in the
* fleet.See Also:
AWS
* API Reference
The resize specification for Spot Instances in the instance fleet, which * contains the resize timeout period.
*/ inline const SpotResizingSpecification& GetSpotResizeSpecification() const{ return m_spotResizeSpecification; } /** *The resize specification for Spot Instances in the instance fleet, which * contains the resize timeout period.
*/ inline bool SpotResizeSpecificationHasBeenSet() const { return m_spotResizeSpecificationHasBeenSet; } /** *The resize specification for Spot Instances in the instance fleet, which * contains the resize timeout period.
*/ inline void SetSpotResizeSpecification(const SpotResizingSpecification& value) { m_spotResizeSpecificationHasBeenSet = true; m_spotResizeSpecification = value; } /** *The resize specification for Spot Instances in the instance fleet, which * contains the resize timeout period.
*/ inline void SetSpotResizeSpecification(SpotResizingSpecification&& value) { m_spotResizeSpecificationHasBeenSet = true; m_spotResizeSpecification = std::move(value); } /** *The resize specification for Spot Instances in the instance fleet, which * contains the resize timeout period.
*/ inline InstanceFleetResizingSpecifications& WithSpotResizeSpecification(const SpotResizingSpecification& value) { SetSpotResizeSpecification(value); return *this;} /** *The resize specification for Spot Instances in the instance fleet, which * contains the resize timeout period.
*/ inline InstanceFleetResizingSpecifications& WithSpotResizeSpecification(SpotResizingSpecification&& value) { SetSpotResizeSpecification(std::move(value)); return *this;} /** *The resize specification for On-Demand Instances in the instance fleet, which * contains the resize timeout period.
*/ inline const OnDemandResizingSpecification& GetOnDemandResizeSpecification() const{ return m_onDemandResizeSpecification; } /** *The resize specification for On-Demand Instances in the instance fleet, which * contains the resize timeout period.
*/ inline bool OnDemandResizeSpecificationHasBeenSet() const { return m_onDemandResizeSpecificationHasBeenSet; } /** *The resize specification for On-Demand Instances in the instance fleet, which * contains the resize timeout period.
*/ inline void SetOnDemandResizeSpecification(const OnDemandResizingSpecification& value) { m_onDemandResizeSpecificationHasBeenSet = true; m_onDemandResizeSpecification = value; } /** *The resize specification for On-Demand Instances in the instance fleet, which * contains the resize timeout period.
*/ inline void SetOnDemandResizeSpecification(OnDemandResizingSpecification&& value) { m_onDemandResizeSpecificationHasBeenSet = true; m_onDemandResizeSpecification = std::move(value); } /** *The resize specification for On-Demand Instances in the instance fleet, which * contains the resize timeout period.
*/ inline InstanceFleetResizingSpecifications& WithOnDemandResizeSpecification(const OnDemandResizingSpecification& value) { SetOnDemandResizeSpecification(value); return *this;} /** *The resize specification for On-Demand Instances in the instance fleet, which * contains the resize timeout period.
*/ inline InstanceFleetResizingSpecifications& WithOnDemandResizeSpecification(OnDemandResizingSpecification&& value) { SetOnDemandResizeSpecification(std::move(value)); return *this;} private: SpotResizingSpecification m_spotResizeSpecification; bool m_spotResizeSpecificationHasBeenSet = false; OnDemandResizingSpecification m_onDemandResizeSpecification; bool m_onDemandResizeSpecificationHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws