1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/ce/CostExplorer_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace CostExplorer 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>The attribute details on a specific Savings Plan.</p><p><h3>See Also:</h3> 28 * <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/SavingsPlansDetails">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_COSTEXPLORER_API SavingsPlansDetails 33 { 34 public: 35 SavingsPlansDetails(); 36 SavingsPlansDetails(Aws::Utils::Json::JsonView jsonValue); 37 SavingsPlansDetails& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>A collection of Amazon Web Services resources in a geographic area. Each 43 * Amazon Web Services Region is isolated and independent of the other Regions.</p> 44 */ GetRegion()45 inline const Aws::String& GetRegion() const{ return m_region; } 46 47 /** 48 * <p>A collection of Amazon Web Services resources in a geographic area. Each 49 * Amazon Web Services Region is isolated and independent of the other Regions.</p> 50 */ RegionHasBeenSet()51 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } 52 53 /** 54 * <p>A collection of Amazon Web Services resources in a geographic area. Each 55 * Amazon Web Services Region is isolated and independent of the other Regions.</p> 56 */ SetRegion(const Aws::String & value)57 inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } 58 59 /** 60 * <p>A collection of Amazon Web Services resources in a geographic area. Each 61 * Amazon Web Services Region is isolated and independent of the other Regions.</p> 62 */ SetRegion(Aws::String && value)63 inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } 64 65 /** 66 * <p>A collection of Amazon Web Services resources in a geographic area. Each 67 * Amazon Web Services Region is isolated and independent of the other Regions.</p> 68 */ SetRegion(const char * value)69 inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } 70 71 /** 72 * <p>A collection of Amazon Web Services resources in a geographic area. Each 73 * Amazon Web Services Region is isolated and independent of the other Regions.</p> 74 */ WithRegion(const Aws::String & value)75 inline SavingsPlansDetails& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} 76 77 /** 78 * <p>A collection of Amazon Web Services resources in a geographic area. Each 79 * Amazon Web Services Region is isolated and independent of the other Regions.</p> 80 */ WithRegion(Aws::String && value)81 inline SavingsPlansDetails& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} 82 83 /** 84 * <p>A collection of Amazon Web Services resources in a geographic area. Each 85 * Amazon Web Services Region is isolated and independent of the other Regions.</p> 86 */ WithRegion(const char * value)87 inline SavingsPlansDetails& WithRegion(const char* value) { SetRegion(value); return *this;} 88 89 90 /** 91 * <p>A group of instance types that Savings Plans applies to.</p> 92 */ GetInstanceFamily()93 inline const Aws::String& GetInstanceFamily() const{ return m_instanceFamily; } 94 95 /** 96 * <p>A group of instance types that Savings Plans applies to.</p> 97 */ InstanceFamilyHasBeenSet()98 inline bool InstanceFamilyHasBeenSet() const { return m_instanceFamilyHasBeenSet; } 99 100 /** 101 * <p>A group of instance types that Savings Plans applies to.</p> 102 */ SetInstanceFamily(const Aws::String & value)103 inline void SetInstanceFamily(const Aws::String& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = value; } 104 105 /** 106 * <p>A group of instance types that Savings Plans applies to.</p> 107 */ SetInstanceFamily(Aws::String && value)108 inline void SetInstanceFamily(Aws::String&& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = std::move(value); } 109 110 /** 111 * <p>A group of instance types that Savings Plans applies to.</p> 112 */ SetInstanceFamily(const char * value)113 inline void SetInstanceFamily(const char* value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily.assign(value); } 114 115 /** 116 * <p>A group of instance types that Savings Plans applies to.</p> 117 */ WithInstanceFamily(const Aws::String & value)118 inline SavingsPlansDetails& WithInstanceFamily(const Aws::String& value) { SetInstanceFamily(value); return *this;} 119 120 /** 121 * <p>A group of instance types that Savings Plans applies to.</p> 122 */ WithInstanceFamily(Aws::String && value)123 inline SavingsPlansDetails& WithInstanceFamily(Aws::String&& value) { SetInstanceFamily(std::move(value)); return *this;} 124 125 /** 126 * <p>A group of instance types that Savings Plans applies to.</p> 127 */ WithInstanceFamily(const char * value)128 inline SavingsPlansDetails& WithInstanceFamily(const char* value) { SetInstanceFamily(value); return *this;} 129 130 131 /** 132 * <p>The unique ID that's used to distinguish Savings Plans from one another.</p> 133 */ GetOfferingId()134 inline const Aws::String& GetOfferingId() const{ return m_offeringId; } 135 136 /** 137 * <p>The unique ID that's used to distinguish Savings Plans from one another.</p> 138 */ OfferingIdHasBeenSet()139 inline bool OfferingIdHasBeenSet() const { return m_offeringIdHasBeenSet; } 140 141 /** 142 * <p>The unique ID that's used to distinguish Savings Plans from one another.</p> 143 */ SetOfferingId(const Aws::String & value)144 inline void SetOfferingId(const Aws::String& value) { m_offeringIdHasBeenSet = true; m_offeringId = value; } 145 146 /** 147 * <p>The unique ID that's used to distinguish Savings Plans from one another.</p> 148 */ SetOfferingId(Aws::String && value)149 inline void SetOfferingId(Aws::String&& value) { m_offeringIdHasBeenSet = true; m_offeringId = std::move(value); } 150 151 /** 152 * <p>The unique ID that's used to distinguish Savings Plans from one another.</p> 153 */ SetOfferingId(const char * value)154 inline void SetOfferingId(const char* value) { m_offeringIdHasBeenSet = true; m_offeringId.assign(value); } 155 156 /** 157 * <p>The unique ID that's used to distinguish Savings Plans from one another.</p> 158 */ WithOfferingId(const Aws::String & value)159 inline SavingsPlansDetails& WithOfferingId(const Aws::String& value) { SetOfferingId(value); return *this;} 160 161 /** 162 * <p>The unique ID that's used to distinguish Savings Plans from one another.</p> 163 */ WithOfferingId(Aws::String && value)164 inline SavingsPlansDetails& WithOfferingId(Aws::String&& value) { SetOfferingId(std::move(value)); return *this;} 165 166 /** 167 * <p>The unique ID that's used to distinguish Savings Plans from one another.</p> 168 */ WithOfferingId(const char * value)169 inline SavingsPlansDetails& WithOfferingId(const char* value) { SetOfferingId(value); return *this;} 170 171 private: 172 173 Aws::String m_region; 174 bool m_regionHasBeenSet; 175 176 Aws::String m_instanceFamily; 177 bool m_instanceFamilyHasBeenSet; 178 179 Aws::String m_offeringId; 180 bool m_offeringIdHasBeenSet; 181 }; 182 183 } // namespace Model 184 } // namespace CostExplorer 185 } // namespace Aws 186