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>Details about the Amazon ElastiCache instances that Amazon Web Services 28 * recommends that you purchase.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ElastiCacheInstanceDetails">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_COSTEXPLORER_API ElastiCacheInstanceDetails 33 { 34 public: 35 ElastiCacheInstanceDetails(); 36 ElastiCacheInstanceDetails(Aws::Utils::Json::JsonView jsonValue); 37 ElastiCacheInstanceDetails& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>The instance family of the recommended reservation.</p> 43 */ GetFamily()44 inline const Aws::String& GetFamily() const{ return m_family; } 45 46 /** 47 * <p>The instance family of the recommended reservation.</p> 48 */ FamilyHasBeenSet()49 inline bool FamilyHasBeenSet() const { return m_familyHasBeenSet; } 50 51 /** 52 * <p>The instance family of the recommended reservation.</p> 53 */ SetFamily(const Aws::String & value)54 inline void SetFamily(const Aws::String& value) { m_familyHasBeenSet = true; m_family = value; } 55 56 /** 57 * <p>The instance family of the recommended reservation.</p> 58 */ SetFamily(Aws::String && value)59 inline void SetFamily(Aws::String&& value) { m_familyHasBeenSet = true; m_family = std::move(value); } 60 61 /** 62 * <p>The instance family of the recommended reservation.</p> 63 */ SetFamily(const char * value)64 inline void SetFamily(const char* value) { m_familyHasBeenSet = true; m_family.assign(value); } 65 66 /** 67 * <p>The instance family of the recommended reservation.</p> 68 */ WithFamily(const Aws::String & value)69 inline ElastiCacheInstanceDetails& WithFamily(const Aws::String& value) { SetFamily(value); return *this;} 70 71 /** 72 * <p>The instance family of the recommended reservation.</p> 73 */ WithFamily(Aws::String && value)74 inline ElastiCacheInstanceDetails& WithFamily(Aws::String&& value) { SetFamily(std::move(value)); return *this;} 75 76 /** 77 * <p>The instance family of the recommended reservation.</p> 78 */ WithFamily(const char * value)79 inline ElastiCacheInstanceDetails& WithFamily(const char* value) { SetFamily(value); return *this;} 80 81 82 /** 83 * <p>The type of node that Amazon Web Services recommends.</p> 84 */ GetNodeType()85 inline const Aws::String& GetNodeType() const{ return m_nodeType; } 86 87 /** 88 * <p>The type of node that Amazon Web Services recommends.</p> 89 */ NodeTypeHasBeenSet()90 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } 91 92 /** 93 * <p>The type of node that Amazon Web Services recommends.</p> 94 */ SetNodeType(const Aws::String & value)95 inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } 96 97 /** 98 * <p>The type of node that Amazon Web Services recommends.</p> 99 */ SetNodeType(Aws::String && value)100 inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } 101 102 /** 103 * <p>The type of node that Amazon Web Services recommends.</p> 104 */ SetNodeType(const char * value)105 inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } 106 107 /** 108 * <p>The type of node that Amazon Web Services recommends.</p> 109 */ WithNodeType(const Aws::String & value)110 inline ElastiCacheInstanceDetails& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} 111 112 /** 113 * <p>The type of node that Amazon Web Services recommends.</p> 114 */ WithNodeType(Aws::String && value)115 inline ElastiCacheInstanceDetails& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} 116 117 /** 118 * <p>The type of node that Amazon Web Services recommends.</p> 119 */ WithNodeType(const char * value)120 inline ElastiCacheInstanceDetails& WithNodeType(const char* value) { SetNodeType(value); return *this;} 121 122 123 /** 124 * <p>The Amazon Web Services Region of the recommended reservation.</p> 125 */ GetRegion()126 inline const Aws::String& GetRegion() const{ return m_region; } 127 128 /** 129 * <p>The Amazon Web Services Region of the recommended reservation.</p> 130 */ RegionHasBeenSet()131 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } 132 133 /** 134 * <p>The Amazon Web Services Region of the recommended reservation.</p> 135 */ SetRegion(const Aws::String & value)136 inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } 137 138 /** 139 * <p>The Amazon Web Services Region of the recommended reservation.</p> 140 */ SetRegion(Aws::String && value)141 inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } 142 143 /** 144 * <p>The Amazon Web Services Region of the recommended reservation.</p> 145 */ SetRegion(const char * value)146 inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } 147 148 /** 149 * <p>The Amazon Web Services Region of the recommended reservation.</p> 150 */ WithRegion(const Aws::String & value)151 inline ElastiCacheInstanceDetails& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} 152 153 /** 154 * <p>The Amazon Web Services Region of the recommended reservation.</p> 155 */ WithRegion(Aws::String && value)156 inline ElastiCacheInstanceDetails& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} 157 158 /** 159 * <p>The Amazon Web Services Region of the recommended reservation.</p> 160 */ WithRegion(const char * value)161 inline ElastiCacheInstanceDetails& WithRegion(const char* value) { SetRegion(value); return *this;} 162 163 164 /** 165 * <p>The description of the recommended reservation.</p> 166 */ GetProductDescription()167 inline const Aws::String& GetProductDescription() const{ return m_productDescription; } 168 169 /** 170 * <p>The description of the recommended reservation.</p> 171 */ ProductDescriptionHasBeenSet()172 inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; } 173 174 /** 175 * <p>The description of the recommended reservation.</p> 176 */ SetProductDescription(const Aws::String & value)177 inline void SetProductDescription(const Aws::String& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; } 178 179 /** 180 * <p>The description of the recommended reservation.</p> 181 */ SetProductDescription(Aws::String && value)182 inline void SetProductDescription(Aws::String&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = std::move(value); } 183 184 /** 185 * <p>The description of the recommended reservation.</p> 186 */ SetProductDescription(const char * value)187 inline void SetProductDescription(const char* value) { m_productDescriptionHasBeenSet = true; m_productDescription.assign(value); } 188 189 /** 190 * <p>The description of the recommended reservation.</p> 191 */ WithProductDescription(const Aws::String & value)192 inline ElastiCacheInstanceDetails& WithProductDescription(const Aws::String& value) { SetProductDescription(value); return *this;} 193 194 /** 195 * <p>The description of the recommended reservation.</p> 196 */ WithProductDescription(Aws::String && value)197 inline ElastiCacheInstanceDetails& WithProductDescription(Aws::String&& value) { SetProductDescription(std::move(value)); return *this;} 198 199 /** 200 * <p>The description of the recommended reservation.</p> 201 */ WithProductDescription(const char * value)202 inline ElastiCacheInstanceDetails& WithProductDescription(const char* value) { SetProductDescription(value); return *this;} 203 204 205 /** 206 * <p>Determines whether the recommendation is for a current generation 207 * instance.</p> 208 */ GetCurrentGeneration()209 inline bool GetCurrentGeneration() const{ return m_currentGeneration; } 210 211 /** 212 * <p>Determines whether the recommendation is for a current generation 213 * instance.</p> 214 */ CurrentGenerationHasBeenSet()215 inline bool CurrentGenerationHasBeenSet() const { return m_currentGenerationHasBeenSet; } 216 217 /** 218 * <p>Determines whether the recommendation is for a current generation 219 * instance.</p> 220 */ SetCurrentGeneration(bool value)221 inline void SetCurrentGeneration(bool value) { m_currentGenerationHasBeenSet = true; m_currentGeneration = value; } 222 223 /** 224 * <p>Determines whether the recommendation is for a current generation 225 * instance.</p> 226 */ WithCurrentGeneration(bool value)227 inline ElastiCacheInstanceDetails& WithCurrentGeneration(bool value) { SetCurrentGeneration(value); return *this;} 228 229 230 /** 231 * <p>Determines whether the recommended reservation is size flexible.</p> 232 */ GetSizeFlexEligible()233 inline bool GetSizeFlexEligible() const{ return m_sizeFlexEligible; } 234 235 /** 236 * <p>Determines whether the recommended reservation is size flexible.</p> 237 */ SizeFlexEligibleHasBeenSet()238 inline bool SizeFlexEligibleHasBeenSet() const { return m_sizeFlexEligibleHasBeenSet; } 239 240 /** 241 * <p>Determines whether the recommended reservation is size flexible.</p> 242 */ SetSizeFlexEligible(bool value)243 inline void SetSizeFlexEligible(bool value) { m_sizeFlexEligibleHasBeenSet = true; m_sizeFlexEligible = value; } 244 245 /** 246 * <p>Determines whether the recommended reservation is size flexible.</p> 247 */ WithSizeFlexEligible(bool value)248 inline ElastiCacheInstanceDetails& WithSizeFlexEligible(bool value) { SetSizeFlexEligible(value); return *this;} 249 250 private: 251 252 Aws::String m_family; 253 bool m_familyHasBeenSet; 254 255 Aws::String m_nodeType; 256 bool m_nodeTypeHasBeenSet; 257 258 Aws::String m_region; 259 bool m_regionHasBeenSet; 260 261 Aws::String m_productDescription; 262 bool m_productDescriptionHasBeenSet; 263 264 bool m_currentGeneration; 265 bool m_currentGenerationHasBeenSet; 266 267 bool m_sizeFlexEligible; 268 bool m_sizeFlexEligibleHasBeenSet; 269 }; 270 271 } // namespace Model 272 } // namespace CostExplorer 273 } // namespace Aws 274