/** * 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 attribute details on a specific Savings Plan.

See Also:

* AWS * API Reference

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

A collection of Amazon Web Services resources in a geographic area. Each * Amazon Web Services Region is isolated and independent of the other Regions.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

A collection of Amazon Web Services resources in a geographic area. Each * Amazon Web Services Region is isolated and independent of the other Regions.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

A collection of Amazon Web Services resources in a geographic area. Each * Amazon Web Services Region is isolated and independent of the other Regions.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

A collection of Amazon Web Services resources in a geographic area. Each * Amazon Web Services Region is isolated and independent of the other Regions.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

A collection of Amazon Web Services resources in a geographic area. Each * Amazon Web Services Region is isolated and independent of the other Regions.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

A collection of Amazon Web Services resources in a geographic area. Each * Amazon Web Services Region is isolated and independent of the other Regions.

*/ inline SavingsPlansDetails& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

A collection of Amazon Web Services resources in a geographic area. Each * Amazon Web Services Region is isolated and independent of the other Regions.

*/ inline SavingsPlansDetails& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

A collection of Amazon Web Services resources in a geographic area. Each * Amazon Web Services Region is isolated and independent of the other Regions.

*/ inline SavingsPlansDetails& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

A group of instance types that Savings Plans applies to.

*/ inline const Aws::String& GetInstanceFamily() const{ return m_instanceFamily; } /** *

A group of instance types that Savings Plans applies to.

*/ inline bool InstanceFamilyHasBeenSet() const { return m_instanceFamilyHasBeenSet; } /** *

A group of instance types that Savings Plans applies to.

*/ inline void SetInstanceFamily(const Aws::String& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = value; } /** *

A group of instance types that Savings Plans applies to.

*/ inline void SetInstanceFamily(Aws::String&& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = std::move(value); } /** *

A group of instance types that Savings Plans applies to.

*/ inline void SetInstanceFamily(const char* value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily.assign(value); } /** *

A group of instance types that Savings Plans applies to.

*/ inline SavingsPlansDetails& WithInstanceFamily(const Aws::String& value) { SetInstanceFamily(value); return *this;} /** *

A group of instance types that Savings Plans applies to.

*/ inline SavingsPlansDetails& WithInstanceFamily(Aws::String&& value) { SetInstanceFamily(std::move(value)); return *this;} /** *

A group of instance types that Savings Plans applies to.

*/ inline SavingsPlansDetails& WithInstanceFamily(const char* value) { SetInstanceFamily(value); return *this;} /** *

The unique ID that's used to distinguish Savings Plans from one another.

*/ inline const Aws::String& GetOfferingId() const{ return m_offeringId; } /** *

The unique ID that's used to distinguish Savings Plans from one another.

*/ inline bool OfferingIdHasBeenSet() const { return m_offeringIdHasBeenSet; } /** *

The unique ID that's used to distinguish Savings Plans from one another.

*/ inline void SetOfferingId(const Aws::String& value) { m_offeringIdHasBeenSet = true; m_offeringId = value; } /** *

The unique ID that's used to distinguish Savings Plans from one another.

*/ inline void SetOfferingId(Aws::String&& value) { m_offeringIdHasBeenSet = true; m_offeringId = std::move(value); } /** *

The unique ID that's used to distinguish Savings Plans from one another.

*/ inline void SetOfferingId(const char* value) { m_offeringIdHasBeenSet = true; m_offeringId.assign(value); } /** *

The unique ID that's used to distinguish Savings Plans from one another.

*/ inline SavingsPlansDetails& WithOfferingId(const Aws::String& value) { SetOfferingId(value); return *this;} /** *

The unique ID that's used to distinguish Savings Plans from one another.

*/ inline SavingsPlansDetails& WithOfferingId(Aws::String&& value) { SetOfferingId(std::move(value)); return *this;} /** *

The unique ID that's used to distinguish Savings Plans from one another.

*/ inline SavingsPlansDetails& WithOfferingId(const char* value) { SetOfferingId(value); return *this;} private: Aws::String m_region; bool m_regionHasBeenSet = false; Aws::String m_instanceFamily; bool m_instanceFamilyHasBeenSet = false; Aws::String m_offeringId; bool m_offeringIdHasBeenSet = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws