/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace EMR { namespace Model { /** *

Configuration parameters for an instance fleet modification request.

*

The instance fleet configuration is available only in Amazon EMR * releases 4.8.0 and later, excluding 5.0.x versions.

See * Also:

AWS * API Reference

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

A unique identifier for the instance fleet.

*/ inline const Aws::String& GetInstanceFleetId() const{ return m_instanceFleetId; } /** *

A unique identifier for the instance fleet.

*/ inline bool InstanceFleetIdHasBeenSet() const { return m_instanceFleetIdHasBeenSet; } /** *

A unique identifier for the instance fleet.

*/ inline void SetInstanceFleetId(const Aws::String& value) { m_instanceFleetIdHasBeenSet = true; m_instanceFleetId = value; } /** *

A unique identifier for the instance fleet.

*/ inline void SetInstanceFleetId(Aws::String&& value) { m_instanceFleetIdHasBeenSet = true; m_instanceFleetId = std::move(value); } /** *

A unique identifier for the instance fleet.

*/ inline void SetInstanceFleetId(const char* value) { m_instanceFleetIdHasBeenSet = true; m_instanceFleetId.assign(value); } /** *

A unique identifier for the instance fleet.

*/ inline InstanceFleetModifyConfig& WithInstanceFleetId(const Aws::String& value) { SetInstanceFleetId(value); return *this;} /** *

A unique identifier for the instance fleet.

*/ inline InstanceFleetModifyConfig& WithInstanceFleetId(Aws::String&& value) { SetInstanceFleetId(std::move(value)); return *this;} /** *

A unique identifier for the instance fleet.

*/ inline InstanceFleetModifyConfig& WithInstanceFleetId(const char* value) { SetInstanceFleetId(value); return *this;} /** *

The target capacity of On-Demand units for the instance fleet. For more * information see InstanceFleetConfig$TargetOnDemandCapacity.

*/ inline int GetTargetOnDemandCapacity() const{ return m_targetOnDemandCapacity; } /** *

The target capacity of On-Demand units for the instance fleet. For more * information see InstanceFleetConfig$TargetOnDemandCapacity.

*/ inline bool TargetOnDemandCapacityHasBeenSet() const { return m_targetOnDemandCapacityHasBeenSet; } /** *

The target capacity of On-Demand units for the instance fleet. For more * information see InstanceFleetConfig$TargetOnDemandCapacity.

*/ inline void SetTargetOnDemandCapacity(int value) { m_targetOnDemandCapacityHasBeenSet = true; m_targetOnDemandCapacity = value; } /** *

The target capacity of On-Demand units for the instance fleet. For more * information see InstanceFleetConfig$TargetOnDemandCapacity.

*/ inline InstanceFleetModifyConfig& WithTargetOnDemandCapacity(int value) { SetTargetOnDemandCapacity(value); return *this;} /** *

The target capacity of Spot units for the instance fleet. For more * information, see InstanceFleetConfig$TargetSpotCapacity.

*/ inline int GetTargetSpotCapacity() const{ return m_targetSpotCapacity; } /** *

The target capacity of Spot units for the instance fleet. For more * information, see InstanceFleetConfig$TargetSpotCapacity.

*/ inline bool TargetSpotCapacityHasBeenSet() const { return m_targetSpotCapacityHasBeenSet; } /** *

The target capacity of Spot units for the instance fleet. For more * information, see InstanceFleetConfig$TargetSpotCapacity.

*/ inline void SetTargetSpotCapacity(int value) { m_targetSpotCapacityHasBeenSet = true; m_targetSpotCapacity = value; } /** *

The target capacity of Spot units for the instance fleet. For more * information, see InstanceFleetConfig$TargetSpotCapacity.

*/ inline InstanceFleetModifyConfig& WithTargetSpotCapacity(int value) { SetTargetSpotCapacity(value); return *this;} /** *

The resize specification for the instance fleet.

*/ inline const InstanceFleetResizingSpecifications& GetResizeSpecifications() const{ return m_resizeSpecifications; } /** *

The resize specification for the instance fleet.

*/ inline bool ResizeSpecificationsHasBeenSet() const { return m_resizeSpecificationsHasBeenSet; } /** *

The resize specification for the instance fleet.

*/ inline void SetResizeSpecifications(const InstanceFleetResizingSpecifications& value) { m_resizeSpecificationsHasBeenSet = true; m_resizeSpecifications = value; } /** *

The resize specification for the instance fleet.

*/ inline void SetResizeSpecifications(InstanceFleetResizingSpecifications&& value) { m_resizeSpecificationsHasBeenSet = true; m_resizeSpecifications = std::move(value); } /** *

The resize specification for the instance fleet.

*/ inline InstanceFleetModifyConfig& WithResizeSpecifications(const InstanceFleetResizingSpecifications& value) { SetResizeSpecifications(value); return *this;} /** *

The resize specification for the instance fleet.

*/ inline InstanceFleetModifyConfig& WithResizeSpecifications(InstanceFleetResizingSpecifications&& value) { SetResizeSpecifications(std::move(value)); return *this;} private: Aws::String m_instanceFleetId; bool m_instanceFleetIdHasBeenSet = false; int m_targetOnDemandCapacity; bool m_targetOnDemandCapacityHasBeenSet = false; int m_targetSpotCapacity; bool m_targetSpotCapacityHasBeenSet = false; InstanceFleetResizingSpecifications m_resizeSpecifications; bool m_resizeSpecificationsHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws