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/elasticache/ElastiCache_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/elasticache/model/RecurringCharge.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Xml 19 { 20 class XmlNode; 21 } // namespace Xml 22 } // namespace Utils 23 namespace ElastiCache 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Describes all of the attributes of a reserved cache node 30 * offering.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReservedCacheNodesOffering">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_ELASTICACHE_API ReservedCacheNodesOffering 35 { 36 public: 37 ReservedCacheNodesOffering(); 38 ReservedCacheNodesOffering(const Aws::Utils::Xml::XmlNode& xmlNode); 39 ReservedCacheNodesOffering& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 40 41 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 42 void OutputToStream(Aws::OStream& oStream, const char* location) const; 43 44 45 /** 46 * <p>A unique identifier for the reserved cache node offering.</p> 47 */ GetReservedCacheNodesOfferingId()48 inline const Aws::String& GetReservedCacheNodesOfferingId() const{ return m_reservedCacheNodesOfferingId; } 49 50 /** 51 * <p>A unique identifier for the reserved cache node offering.</p> 52 */ ReservedCacheNodesOfferingIdHasBeenSet()53 inline bool ReservedCacheNodesOfferingIdHasBeenSet() const { return m_reservedCacheNodesOfferingIdHasBeenSet; } 54 55 /** 56 * <p>A unique identifier for the reserved cache node offering.</p> 57 */ SetReservedCacheNodesOfferingId(const Aws::String & value)58 inline void SetReservedCacheNodesOfferingId(const Aws::String& value) { m_reservedCacheNodesOfferingIdHasBeenSet = true; m_reservedCacheNodesOfferingId = value; } 59 60 /** 61 * <p>A unique identifier for the reserved cache node offering.</p> 62 */ SetReservedCacheNodesOfferingId(Aws::String && value)63 inline void SetReservedCacheNodesOfferingId(Aws::String&& value) { m_reservedCacheNodesOfferingIdHasBeenSet = true; m_reservedCacheNodesOfferingId = std::move(value); } 64 65 /** 66 * <p>A unique identifier for the reserved cache node offering.</p> 67 */ SetReservedCacheNodesOfferingId(const char * value)68 inline void SetReservedCacheNodesOfferingId(const char* value) { m_reservedCacheNodesOfferingIdHasBeenSet = true; m_reservedCacheNodesOfferingId.assign(value); } 69 70 /** 71 * <p>A unique identifier for the reserved cache node offering.</p> 72 */ WithReservedCacheNodesOfferingId(const Aws::String & value)73 inline ReservedCacheNodesOffering& WithReservedCacheNodesOfferingId(const Aws::String& value) { SetReservedCacheNodesOfferingId(value); return *this;} 74 75 /** 76 * <p>A unique identifier for the reserved cache node offering.</p> 77 */ WithReservedCacheNodesOfferingId(Aws::String && value)78 inline ReservedCacheNodesOffering& WithReservedCacheNodesOfferingId(Aws::String&& value) { SetReservedCacheNodesOfferingId(std::move(value)); return *this;} 79 80 /** 81 * <p>A unique identifier for the reserved cache node offering.</p> 82 */ WithReservedCacheNodesOfferingId(const char * value)83 inline ReservedCacheNodesOffering& WithReservedCacheNodesOfferingId(const char* value) { SetReservedCacheNodesOfferingId(value); return *this;} 84 85 86 /** 87 * <p>The cache node type for the reserved cache node.</p> <p>The following node 88 * types are supported by ElastiCache. Generally speaking, the current generation 89 * types provide more memory and computational power at lower cost when compared to 90 * their equivalent previous generation counterparts.</p> <ul> <li> <p>General 91 * purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M6g node types</b> 92 * (available only for Redis engine version 5.0.6 onward and for Memcached engine 93 * version 1.5.16 onward).</p> <p> <code>cache.m6g.large</code>, 94 * <code>cache.m6g.xlarge</code>, <code>cache.m6g.2xlarge</code>, 95 * <code>cache.m6g.4xlarge</code>, <code>cache.m6g.8xlarge</code>, 96 * <code>cache.m6g.12xlarge</code>, <code>cache.m6g.16xlarge</code> </p> 97 * <p>For region availability, see <a 98 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 99 * Node Types</a> </p> <p> <b>M5 node types:</b> 100 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 101 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 102 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 103 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 104 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 105 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 106 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 107 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 108 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 109 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 110 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 111 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 112 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 113 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 114 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 115 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 116 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 117 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 118 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 119 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 120 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 121 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 122 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 123 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 124 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 125 * Node Types</a> </p> <p> <b>R5 node types:</b> 126 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 127 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 128 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 129 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 130 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 131 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 132 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 133 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 134 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 135 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 136 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 137 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 138 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 139 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 140 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 141 * with automatic failover is not supported on T1 instances.</p> </li> <li> 142 * <p>Redis configuration variables <code>appendonly</code> and 143 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 144 * later.</p> </li> </ul> 145 */ GetCacheNodeType()146 inline const Aws::String& GetCacheNodeType() const{ return m_cacheNodeType; } 147 148 /** 149 * <p>The cache node type for the reserved cache node.</p> <p>The following node 150 * types are supported by ElastiCache. Generally speaking, the current generation 151 * types provide more memory and computational power at lower cost when compared to 152 * their equivalent previous generation counterparts.</p> <ul> <li> <p>General 153 * purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M6g node types</b> 154 * (available only for Redis engine version 5.0.6 onward and for Memcached engine 155 * version 1.5.16 onward).</p> <p> <code>cache.m6g.large</code>, 156 * <code>cache.m6g.xlarge</code>, <code>cache.m6g.2xlarge</code>, 157 * <code>cache.m6g.4xlarge</code>, <code>cache.m6g.8xlarge</code>, 158 * <code>cache.m6g.12xlarge</code>, <code>cache.m6g.16xlarge</code> </p> 159 * <p>For region availability, see <a 160 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 161 * Node Types</a> </p> <p> <b>M5 node types:</b> 162 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 163 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 164 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 165 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 166 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 167 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 168 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 169 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 170 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 171 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 172 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 173 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 174 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 175 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 176 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 177 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 178 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 179 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 180 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 181 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 182 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 183 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 184 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 185 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 186 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 187 * Node Types</a> </p> <p> <b>R5 node types:</b> 188 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 189 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 190 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 191 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 192 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 193 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 194 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 195 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 196 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 197 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 198 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 199 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 200 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 201 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 202 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 203 * with automatic failover is not supported on T1 instances.</p> </li> <li> 204 * <p>Redis configuration variables <code>appendonly</code> and 205 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 206 * later.</p> </li> </ul> 207 */ CacheNodeTypeHasBeenSet()208 inline bool CacheNodeTypeHasBeenSet() const { return m_cacheNodeTypeHasBeenSet; } 209 210 /** 211 * <p>The cache node type for the reserved cache node.</p> <p>The following node 212 * types are supported by ElastiCache. Generally speaking, the current generation 213 * types provide more memory and computational power at lower cost when compared to 214 * their equivalent previous generation counterparts.</p> <ul> <li> <p>General 215 * purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M6g node types</b> 216 * (available only for Redis engine version 5.0.6 onward and for Memcached engine 217 * version 1.5.16 onward).</p> <p> <code>cache.m6g.large</code>, 218 * <code>cache.m6g.xlarge</code>, <code>cache.m6g.2xlarge</code>, 219 * <code>cache.m6g.4xlarge</code>, <code>cache.m6g.8xlarge</code>, 220 * <code>cache.m6g.12xlarge</code>, <code>cache.m6g.16xlarge</code> </p> 221 * <p>For region availability, see <a 222 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 223 * Node Types</a> </p> <p> <b>M5 node types:</b> 224 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 225 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 226 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 227 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 228 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 229 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 230 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 231 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 232 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 233 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 234 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 235 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 236 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 237 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 238 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 239 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 240 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 241 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 242 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 243 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 244 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 245 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 246 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 247 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 248 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 249 * Node Types</a> </p> <p> <b>R5 node types:</b> 250 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 251 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 252 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 253 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 254 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 255 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 256 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 257 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 258 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 259 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 260 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 261 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 262 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 263 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 264 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 265 * with automatic failover is not supported on T1 instances.</p> </li> <li> 266 * <p>Redis configuration variables <code>appendonly</code> and 267 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 268 * later.</p> </li> </ul> 269 */ SetCacheNodeType(const Aws::String & value)270 inline void SetCacheNodeType(const Aws::String& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = value; } 271 272 /** 273 * <p>The cache node type for the reserved cache node.</p> <p>The following node 274 * types are supported by ElastiCache. Generally speaking, the current generation 275 * types provide more memory and computational power at lower cost when compared to 276 * their equivalent previous generation counterparts.</p> <ul> <li> <p>General 277 * purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M6g node types</b> 278 * (available only for Redis engine version 5.0.6 onward and for Memcached engine 279 * version 1.5.16 onward).</p> <p> <code>cache.m6g.large</code>, 280 * <code>cache.m6g.xlarge</code>, <code>cache.m6g.2xlarge</code>, 281 * <code>cache.m6g.4xlarge</code>, <code>cache.m6g.8xlarge</code>, 282 * <code>cache.m6g.12xlarge</code>, <code>cache.m6g.16xlarge</code> </p> 283 * <p>For region availability, see <a 284 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 285 * Node Types</a> </p> <p> <b>M5 node types:</b> 286 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 287 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 288 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 289 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 290 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 291 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 292 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 293 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 294 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 295 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 296 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 297 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 298 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 299 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 300 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 301 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 302 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 303 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 304 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 305 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 306 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 307 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 308 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 309 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 310 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 311 * Node Types</a> </p> <p> <b>R5 node types:</b> 312 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 313 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 314 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 315 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 316 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 317 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 318 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 319 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 320 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 321 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 322 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 323 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 324 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 325 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 326 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 327 * with automatic failover is not supported on T1 instances.</p> </li> <li> 328 * <p>Redis configuration variables <code>appendonly</code> and 329 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 330 * later.</p> </li> </ul> 331 */ SetCacheNodeType(Aws::String && value)332 inline void SetCacheNodeType(Aws::String&& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = std::move(value); } 333 334 /** 335 * <p>The cache node type for the reserved cache node.</p> <p>The following node 336 * types are supported by ElastiCache. Generally speaking, the current generation 337 * types provide more memory and computational power at lower cost when compared to 338 * their equivalent previous generation counterparts.</p> <ul> <li> <p>General 339 * purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M6g node types</b> 340 * (available only for Redis engine version 5.0.6 onward and for Memcached engine 341 * version 1.5.16 onward).</p> <p> <code>cache.m6g.large</code>, 342 * <code>cache.m6g.xlarge</code>, <code>cache.m6g.2xlarge</code>, 343 * <code>cache.m6g.4xlarge</code>, <code>cache.m6g.8xlarge</code>, 344 * <code>cache.m6g.12xlarge</code>, <code>cache.m6g.16xlarge</code> </p> 345 * <p>For region availability, see <a 346 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 347 * Node Types</a> </p> <p> <b>M5 node types:</b> 348 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 349 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 350 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 351 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 352 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 353 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 354 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 355 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 356 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 357 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 358 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 359 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 360 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 361 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 362 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 363 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 364 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 365 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 366 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 367 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 368 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 369 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 370 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 371 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 372 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 373 * Node Types</a> </p> <p> <b>R5 node types:</b> 374 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 375 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 376 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 377 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 378 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 379 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 380 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 381 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 382 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 383 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 384 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 385 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 386 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 387 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 388 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 389 * with automatic failover is not supported on T1 instances.</p> </li> <li> 390 * <p>Redis configuration variables <code>appendonly</code> and 391 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 392 * later.</p> </li> </ul> 393 */ SetCacheNodeType(const char * value)394 inline void SetCacheNodeType(const char* value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType.assign(value); } 395 396 /** 397 * <p>The cache node type for the reserved cache node.</p> <p>The following node 398 * types are supported by ElastiCache. Generally speaking, the current generation 399 * types provide more memory and computational power at lower cost when compared to 400 * their equivalent previous generation counterparts.</p> <ul> <li> <p>General 401 * purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M6g node types</b> 402 * (available only for Redis engine version 5.0.6 onward and for Memcached engine 403 * version 1.5.16 onward).</p> <p> <code>cache.m6g.large</code>, 404 * <code>cache.m6g.xlarge</code>, <code>cache.m6g.2xlarge</code>, 405 * <code>cache.m6g.4xlarge</code>, <code>cache.m6g.8xlarge</code>, 406 * <code>cache.m6g.12xlarge</code>, <code>cache.m6g.16xlarge</code> </p> 407 * <p>For region availability, see <a 408 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 409 * Node Types</a> </p> <p> <b>M5 node types:</b> 410 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 411 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 412 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 413 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 414 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 415 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 416 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 417 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 418 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 419 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 420 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 421 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 422 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 423 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 424 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 425 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 426 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 427 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 428 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 429 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 430 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 431 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 432 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 433 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 434 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 435 * Node Types</a> </p> <p> <b>R5 node types:</b> 436 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 437 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 438 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 439 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 440 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 441 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 442 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 443 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 444 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 445 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 446 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 447 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 448 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 449 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 450 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 451 * with automatic failover is not supported on T1 instances.</p> </li> <li> 452 * <p>Redis configuration variables <code>appendonly</code> and 453 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 454 * later.</p> </li> </ul> 455 */ WithCacheNodeType(const Aws::String & value)456 inline ReservedCacheNodesOffering& WithCacheNodeType(const Aws::String& value) { SetCacheNodeType(value); return *this;} 457 458 /** 459 * <p>The cache node type for the reserved cache node.</p> <p>The following node 460 * types are supported by ElastiCache. Generally speaking, the current generation 461 * types provide more memory and computational power at lower cost when compared to 462 * their equivalent previous generation counterparts.</p> <ul> <li> <p>General 463 * purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M6g node types</b> 464 * (available only for Redis engine version 5.0.6 onward and for Memcached engine 465 * version 1.5.16 onward).</p> <p> <code>cache.m6g.large</code>, 466 * <code>cache.m6g.xlarge</code>, <code>cache.m6g.2xlarge</code>, 467 * <code>cache.m6g.4xlarge</code>, <code>cache.m6g.8xlarge</code>, 468 * <code>cache.m6g.12xlarge</code>, <code>cache.m6g.16xlarge</code> </p> 469 * <p>For region availability, see <a 470 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 471 * Node Types</a> </p> <p> <b>M5 node types:</b> 472 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 473 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 474 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 475 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 476 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 477 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 478 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 479 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 480 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 481 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 482 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 483 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 484 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 485 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 486 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 487 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 488 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 489 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 490 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 491 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 492 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 493 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 494 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 495 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 496 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 497 * Node Types</a> </p> <p> <b>R5 node types:</b> 498 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 499 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 500 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 501 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 502 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 503 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 504 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 505 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 506 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 507 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 508 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 509 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 510 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 511 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 512 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 513 * with automatic failover is not supported on T1 instances.</p> </li> <li> 514 * <p>Redis configuration variables <code>appendonly</code> and 515 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 516 * later.</p> </li> </ul> 517 */ WithCacheNodeType(Aws::String && value)518 inline ReservedCacheNodesOffering& WithCacheNodeType(Aws::String&& value) { SetCacheNodeType(std::move(value)); return *this;} 519 520 /** 521 * <p>The cache node type for the reserved cache node.</p> <p>The following node 522 * types are supported by ElastiCache. Generally speaking, the current generation 523 * types provide more memory and computational power at lower cost when compared to 524 * their equivalent previous generation counterparts.</p> <ul> <li> <p>General 525 * purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M6g node types</b> 526 * (available only for Redis engine version 5.0.6 onward and for Memcached engine 527 * version 1.5.16 onward).</p> <p> <code>cache.m6g.large</code>, 528 * <code>cache.m6g.xlarge</code>, <code>cache.m6g.2xlarge</code>, 529 * <code>cache.m6g.4xlarge</code>, <code>cache.m6g.8xlarge</code>, 530 * <code>cache.m6g.12xlarge</code>, <code>cache.m6g.16xlarge</code> </p> 531 * <p>For region availability, see <a 532 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 533 * Node Types</a> </p> <p> <b>M5 node types:</b> 534 * <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>, 535 * <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>, 536 * <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4 537 * node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>, 538 * <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>, 539 * <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b> 540 * <code>cache.t3.micro</code>, <code>cache.t3.small</code>, 541 * <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b> 542 * <code>cache.t2.micro</code>, <code>cache.t2.small</code>, 543 * <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not 544 * recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p> 545 * <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>, 546 * <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node 547 * types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>, 548 * <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul> 549 * </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not 550 * recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p> 551 * </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation: 552 * </p> <p> <b>R6g node types</b> (available only for Redis engine version 5.0.6 553 * onward and for Memcached engine version 1.5.16 onward).</p> <p> 554 * <code>cache.r6g.large</code>, <code>cache.r6g.xlarge</code>, 555 * <code>cache.r6g.2xlarge</code>, <code>cache.r6g.4xlarge</code>, 556 * <code>cache.r6g.8xlarge</code>, <code>cache.r6g.12xlarge</code>, 557 * <code>cache.r6g.16xlarge</code> </p> <p>For region availability, see <a 558 * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion">Supported 559 * Node Types</a> </p> <p> <b>R5 node types:</b> 560 * <code>cache.r5.large</code>, <code>cache.r5.xlarge</code>, 561 * <code>cache.r5.2xlarge</code>, <code>cache.r5.4xlarge</code>, 562 * <code>cache.r5.12xlarge</code>, <code>cache.r5.24xlarge</code> </p> <p> <b>R4 563 * node types:</b> <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>, 564 * <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>, 565 * <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li> 566 * <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b> 567 * <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>, 568 * <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b> 569 * <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>, 570 * <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>, 571 * <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional 572 * node type info</b> </p> <ul> <li> <p>All current generation instance types are 573 * created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files 574 * (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ 575 * with automatic failover is not supported on T1 instances.</p> </li> <li> 576 * <p>Redis configuration variables <code>appendonly</code> and 577 * <code>appendfsync</code> are not supported on Redis version 2.8.22 and 578 * later.</p> </li> </ul> 579 */ WithCacheNodeType(const char * value)580 inline ReservedCacheNodesOffering& WithCacheNodeType(const char* value) { SetCacheNodeType(value); return *this;} 581 582 583 /** 584 * <p>The duration of the offering. in seconds.</p> 585 */ GetDuration()586 inline int GetDuration() const{ return m_duration; } 587 588 /** 589 * <p>The duration of the offering. in seconds.</p> 590 */ DurationHasBeenSet()591 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } 592 593 /** 594 * <p>The duration of the offering. in seconds.</p> 595 */ SetDuration(int value)596 inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; } 597 598 /** 599 * <p>The duration of the offering. in seconds.</p> 600 */ WithDuration(int value)601 inline ReservedCacheNodesOffering& WithDuration(int value) { SetDuration(value); return *this;} 602 603 604 /** 605 * <p>The fixed price charged for this offering.</p> 606 */ GetFixedPrice()607 inline double GetFixedPrice() const{ return m_fixedPrice; } 608 609 /** 610 * <p>The fixed price charged for this offering.</p> 611 */ FixedPriceHasBeenSet()612 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; } 613 614 /** 615 * <p>The fixed price charged for this offering.</p> 616 */ SetFixedPrice(double value)617 inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; } 618 619 /** 620 * <p>The fixed price charged for this offering.</p> 621 */ WithFixedPrice(double value)622 inline ReservedCacheNodesOffering& WithFixedPrice(double value) { SetFixedPrice(value); return *this;} 623 624 625 /** 626 * <p>The hourly price charged for this offering.</p> 627 */ GetUsagePrice()628 inline double GetUsagePrice() const{ return m_usagePrice; } 629 630 /** 631 * <p>The hourly price charged for this offering.</p> 632 */ UsagePriceHasBeenSet()633 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; } 634 635 /** 636 * <p>The hourly price charged for this offering.</p> 637 */ SetUsagePrice(double value)638 inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; } 639 640 /** 641 * <p>The hourly price charged for this offering.</p> 642 */ WithUsagePrice(double value)643 inline ReservedCacheNodesOffering& WithUsagePrice(double value) { SetUsagePrice(value); return *this;} 644 645 646 /** 647 * <p>The cache engine used by the offering.</p> 648 */ GetProductDescription()649 inline const Aws::String& GetProductDescription() const{ return m_productDescription; } 650 651 /** 652 * <p>The cache engine used by the offering.</p> 653 */ ProductDescriptionHasBeenSet()654 inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; } 655 656 /** 657 * <p>The cache engine used by the offering.</p> 658 */ SetProductDescription(const Aws::String & value)659 inline void SetProductDescription(const Aws::String& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; } 660 661 /** 662 * <p>The cache engine used by the offering.</p> 663 */ SetProductDescription(Aws::String && value)664 inline void SetProductDescription(Aws::String&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = std::move(value); } 665 666 /** 667 * <p>The cache engine used by the offering.</p> 668 */ SetProductDescription(const char * value)669 inline void SetProductDescription(const char* value) { m_productDescriptionHasBeenSet = true; m_productDescription.assign(value); } 670 671 /** 672 * <p>The cache engine used by the offering.</p> 673 */ WithProductDescription(const Aws::String & value)674 inline ReservedCacheNodesOffering& WithProductDescription(const Aws::String& value) { SetProductDescription(value); return *this;} 675 676 /** 677 * <p>The cache engine used by the offering.</p> 678 */ WithProductDescription(Aws::String && value)679 inline ReservedCacheNodesOffering& WithProductDescription(Aws::String&& value) { SetProductDescription(std::move(value)); return *this;} 680 681 /** 682 * <p>The cache engine used by the offering.</p> 683 */ WithProductDescription(const char * value)684 inline ReservedCacheNodesOffering& WithProductDescription(const char* value) { SetProductDescription(value); return *this;} 685 686 687 /** 688 * <p>The offering type.</p> 689 */ GetOfferingType()690 inline const Aws::String& GetOfferingType() const{ return m_offeringType; } 691 692 /** 693 * <p>The offering type.</p> 694 */ OfferingTypeHasBeenSet()695 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; } 696 697 /** 698 * <p>The offering type.</p> 699 */ SetOfferingType(const Aws::String & value)700 inline void SetOfferingType(const Aws::String& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; } 701 702 /** 703 * <p>The offering type.</p> 704 */ SetOfferingType(Aws::String && value)705 inline void SetOfferingType(Aws::String&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::move(value); } 706 707 /** 708 * <p>The offering type.</p> 709 */ SetOfferingType(const char * value)710 inline void SetOfferingType(const char* value) { m_offeringTypeHasBeenSet = true; m_offeringType.assign(value); } 711 712 /** 713 * <p>The offering type.</p> 714 */ WithOfferingType(const Aws::String & value)715 inline ReservedCacheNodesOffering& WithOfferingType(const Aws::String& value) { SetOfferingType(value); return *this;} 716 717 /** 718 * <p>The offering type.</p> 719 */ WithOfferingType(Aws::String && value)720 inline ReservedCacheNodesOffering& WithOfferingType(Aws::String&& value) { SetOfferingType(std::move(value)); return *this;} 721 722 /** 723 * <p>The offering type.</p> 724 */ WithOfferingType(const char * value)725 inline ReservedCacheNodesOffering& WithOfferingType(const char* value) { SetOfferingType(value); return *this;} 726 727 728 /** 729 * <p>The recurring price charged to run this reserved cache node.</p> 730 */ GetRecurringCharges()731 inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const{ return m_recurringCharges; } 732 733 /** 734 * <p>The recurring price charged to run this reserved cache node.</p> 735 */ RecurringChargesHasBeenSet()736 inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; } 737 738 /** 739 * <p>The recurring price charged to run this reserved cache node.</p> 740 */ SetRecurringCharges(const Aws::Vector<RecurringCharge> & value)741 inline void SetRecurringCharges(const Aws::Vector<RecurringCharge>& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = value; } 742 743 /** 744 * <p>The recurring price charged to run this reserved cache node.</p> 745 */ SetRecurringCharges(Aws::Vector<RecurringCharge> && value)746 inline void SetRecurringCharges(Aws::Vector<RecurringCharge>&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = std::move(value); } 747 748 /** 749 * <p>The recurring price charged to run this reserved cache node.</p> 750 */ WithRecurringCharges(const Aws::Vector<RecurringCharge> & value)751 inline ReservedCacheNodesOffering& WithRecurringCharges(const Aws::Vector<RecurringCharge>& value) { SetRecurringCharges(value); return *this;} 752 753 /** 754 * <p>The recurring price charged to run this reserved cache node.</p> 755 */ WithRecurringCharges(Aws::Vector<RecurringCharge> && value)756 inline ReservedCacheNodesOffering& WithRecurringCharges(Aws::Vector<RecurringCharge>&& value) { SetRecurringCharges(std::move(value)); return *this;} 757 758 /** 759 * <p>The recurring price charged to run this reserved cache node.</p> 760 */ AddRecurringCharges(const RecurringCharge & value)761 inline ReservedCacheNodesOffering& AddRecurringCharges(const RecurringCharge& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; } 762 763 /** 764 * <p>The recurring price charged to run this reserved cache node.</p> 765 */ AddRecurringCharges(RecurringCharge && value)766 inline ReservedCacheNodesOffering& AddRecurringCharges(RecurringCharge&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(std::move(value)); return *this; } 767 768 private: 769 770 Aws::String m_reservedCacheNodesOfferingId; 771 bool m_reservedCacheNodesOfferingIdHasBeenSet; 772 773 Aws::String m_cacheNodeType; 774 bool m_cacheNodeTypeHasBeenSet; 775 776 int m_duration; 777 bool m_durationHasBeenSet; 778 779 double m_fixedPrice; 780 bool m_fixedPriceHasBeenSet; 781 782 double m_usagePrice; 783 bool m_usagePriceHasBeenSet; 784 785 Aws::String m_productDescription; 786 bool m_productDescriptionHasBeenSet; 787 788 Aws::String m_offeringType; 789 bool m_offeringTypeHasBeenSet; 790 791 Aws::Vector<RecurringCharge> m_recurringCharges; 792 bool m_recurringChargesHasBeenSet; 793 }; 794 795 } // namespace Model 796 } // namespace ElastiCache 797 } // namespace Aws 798