/** * 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 Amazon Web Services to * provide recommendations for.

See Also:

AWS * API Reference

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

Indicates whether you want a recommendation for standard or convertible * reservations.

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

Indicates whether you want a recommendation for standard or convertible * reservations.

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

Indicates whether you want a recommendation for standard or convertible * reservations.

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

Indicates whether you want a recommendation for standard or convertible * reservations.

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

Indicates whether you want a recommendation for standard or convertible * reservations.

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

Indicates 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 = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws