/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Details about the Amazon ES instances that AWS recommends that you
* purchase.See Also:
AWS
* API Reference
The class of instance that AWS recommends.
*/ inline const Aws::String& GetInstanceClass() const{ return m_instanceClass; } /** *The class of instance that AWS recommends.
*/ inline bool InstanceClassHasBeenSet() const { return m_instanceClassHasBeenSet; } /** *The class of instance that AWS recommends.
*/ inline void SetInstanceClass(const Aws::String& value) { m_instanceClassHasBeenSet = true; m_instanceClass = value; } /** *The class of instance that AWS recommends.
*/ inline void SetInstanceClass(Aws::String&& value) { m_instanceClassHasBeenSet = true; m_instanceClass = std::move(value); } /** *The class of instance that AWS recommends.
*/ inline void SetInstanceClass(const char* value) { m_instanceClassHasBeenSet = true; m_instanceClass.assign(value); } /** *The class of instance that AWS recommends.
*/ inline ESInstanceDetails& WithInstanceClass(const Aws::String& value) { SetInstanceClass(value); return *this;} /** *The class of instance that AWS recommends.
*/ inline ESInstanceDetails& WithInstanceClass(Aws::String&& value) { SetInstanceClass(std::move(value)); return *this;} /** *The class of instance that AWS recommends.
*/ inline ESInstanceDetails& WithInstanceClass(const char* value) { SetInstanceClass(value); return *this;} /** *The size of instance that AWS recommends.
*/ inline const Aws::String& GetInstanceSize() const{ return m_instanceSize; } /** *The size of instance that AWS recommends.
*/ inline bool InstanceSizeHasBeenSet() const { return m_instanceSizeHasBeenSet; } /** *The size of instance that AWS recommends.
*/ inline void SetInstanceSize(const Aws::String& value) { m_instanceSizeHasBeenSet = true; m_instanceSize = value; } /** *The size of instance that AWS recommends.
*/ inline void SetInstanceSize(Aws::String&& value) { m_instanceSizeHasBeenSet = true; m_instanceSize = std::move(value); } /** *The size of instance that AWS recommends.
*/ inline void SetInstanceSize(const char* value) { m_instanceSizeHasBeenSet = true; m_instanceSize.assign(value); } /** *The size of instance that AWS recommends.
*/ inline ESInstanceDetails& WithInstanceSize(const Aws::String& value) { SetInstanceSize(value); return *this;} /** *The size of instance that AWS recommends.
*/ inline ESInstanceDetails& WithInstanceSize(Aws::String&& value) { SetInstanceSize(std::move(value)); return *this;} /** *The size of instance that AWS recommends.
*/ inline ESInstanceDetails& WithInstanceSize(const char* value) { SetInstanceSize(value); return *this;} /** *The AWS Region of the recommended reservation.
*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *The AWS Region of the recommended reservation.
*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *The AWS Region of the recommended reservation.
*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *The AWS Region of the recommended reservation.
*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *The AWS Region of the recommended reservation.
*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *The AWS Region of the recommended reservation.
*/ inline ESInstanceDetails& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *The AWS Region of the recommended reservation.
*/ inline ESInstanceDetails& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *The AWS Region of the recommended reservation.
*/ inline ESInstanceDetails& WithRegion(const char* value) { SetRegion(value); return *this;} /** *Whether the recommendation is for a current-generation instance.
*/ inline bool GetCurrentGeneration() const{ return m_currentGeneration; } /** *Whether the recommendation is for a current-generation instance.
*/ inline bool CurrentGenerationHasBeenSet() const { return m_currentGenerationHasBeenSet; } /** *Whether the recommendation is for a current-generation instance.
*/ inline void SetCurrentGeneration(bool value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = value; } /** *Whether the recommendation is for a current-generation instance.
*/ inline ESInstanceDetails& WithCurrentGeneration(bool value) { SetCurrentGeneration(value); return *this;} /** *Whether the recommended reservation is size flexible.
*/ inline bool GetSizeFlexEligible() const{ return m_sizeFlexEligible; } /** *Whether the recommended reservation is size flexible.
*/ inline bool SizeFlexEligibleHasBeenSet() const { return m_sizeFlexEligibleHasBeenSet; } /** *Whether the recommended reservation is size flexible.
*/ inline void SetSizeFlexEligible(bool value) { m_sizeFlexEligibleHasBeenSet = true; m_sizeFlexEligible = value; } /** *Whether the recommended reservation is size flexible.
*/ inline ESInstanceDetails& WithSizeFlexEligible(bool value) { SetSizeFlexEligible(value); return *this;} private: Aws::String m_instanceClass; bool m_instanceClassHasBeenSet; Aws::String m_instanceSize; bool m_instanceSizeHasBeenSet; Aws::String m_region; bool m_regionHasBeenSet; bool m_currentGeneration; bool m_currentGenerationHasBeenSet; bool m_sizeFlexEligible; bool m_sizeFlexEligibleHasBeenSet; }; } // namespace Model } // namespace CostExplorer } // namespace Aws