/** * 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 { /** *

Configuration parameters for an instance fleet modification request.

*

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

See * Also:

AWS * API Reference

*/ class AWS_EMR_API InstanceFleetModifyConfig { public: InstanceFleetModifyConfig(); InstanceFleetModifyConfig(Aws::Utils::Json::JsonView jsonValue); InstanceFleetModifyConfig& operator=(Aws::Utils::Json::JsonView jsonValue); 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;} private: Aws::String m_instanceFleetId; bool m_instanceFleetIdHasBeenSet; int m_targetOnDemandCapacity; bool m_targetOnDemandCapacityHasBeenSet; int m_targetSpotCapacity; bool m_targetSpotCapacityHasBeenSet; }; } // namespace Model } // namespace EMR } // namespace Aws