/** * 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 CostExplorer { namespace Model { /** *

The Amazon EC2 hardware specifications that you want AWS to provide * recommendations for.

See Also:

AWS * API Reference

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

Whether you want a recommendation for standard or convertible * reservations.

*/ inline const OfferingClass& GetOfferingClass() const{ return m_offeringClass; } /** *

Whether you want a recommendation for standard or convertible * reservations.

*/ inline bool OfferingClassHasBeenSet() const { return m_offeringClassHasBeenSet; } /** *

Whether you want a recommendation for standard or convertible * reservations.

*/ inline void SetOfferingClass(const OfferingClass& value) { m_offeringClassHasBeenSet = true; m_offeringClass = value; } /** *

Whether you want a recommendation for standard or convertible * reservations.

*/ inline void SetOfferingClass(OfferingClass&& value) { m_offeringClassHasBeenSet = true; m_offeringClass = std::move(value); } /** *

Whether you want a recommendation for standard or convertible * reservations.

*/ inline EC2Specification& WithOfferingClass(const OfferingClass& value) { SetOfferingClass(value); return *this;} /** *

Whether you want a recommendation for standard or convertible * reservations.

*/ inline EC2Specification& WithOfferingClass(OfferingClass&& value) { SetOfferingClass(std::move(value)); return *this;} private: OfferingClass m_offeringClass; bool m_offeringClassHasBeenSet; }; } // namespace Model } // namespace CostExplorer } // namespace Aws