678 lines
37 KiB
C++
678 lines
37 KiB
C++
/**
|
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
* SPDX-License-Identifier: Apache-2.0.
|
|
*/
|
|
|
|
#pragma once
|
|
#include <aws/elasticache/ElastiCache_EXPORTS.h>
|
|
#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
|
|
#include <aws/core/utils/memory/stl/AWSString.h>
|
|
#include <aws/core/utils/memory/stl/AWSVector.h>
|
|
#include <aws/elasticache/model/RecurringCharge.h>
|
|
#include <utility>
|
|
|
|
namespace Aws
|
|
{
|
|
namespace Utils
|
|
{
|
|
namespace Xml
|
|
{
|
|
class XmlNode;
|
|
} // namespace Xml
|
|
} // namespace Utils
|
|
namespace ElastiCache
|
|
{
|
|
namespace Model
|
|
{
|
|
|
|
/**
|
|
* <p>Describes all of the attributes of a reserved cache node
|
|
* offering.</p><p><h3>See Also:</h3> <a
|
|
* href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReservedCacheNodesOffering">AWS
|
|
* API Reference</a></p>
|
|
*/
|
|
class AWS_ELASTICACHE_API ReservedCacheNodesOffering
|
|
{
|
|
public:
|
|
ReservedCacheNodesOffering();
|
|
ReservedCacheNodesOffering(const Aws::Utils::Xml::XmlNode& xmlNode);
|
|
ReservedCacheNodesOffering& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
|
|
|
|
void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
|
|
void OutputToStream(Aws::OStream& oStream, const char* location) const;
|
|
|
|
|
|
/**
|
|
* <p>A unique identifier for the reserved cache node offering.</p>
|
|
*/
|
|
inline const Aws::String& GetReservedCacheNodesOfferingId() const{ return m_reservedCacheNodesOfferingId; }
|
|
|
|
/**
|
|
* <p>A unique identifier for the reserved cache node offering.</p>
|
|
*/
|
|
inline bool ReservedCacheNodesOfferingIdHasBeenSet() const { return m_reservedCacheNodesOfferingIdHasBeenSet; }
|
|
|
|
/**
|
|
* <p>A unique identifier for the reserved cache node offering.</p>
|
|
*/
|
|
inline void SetReservedCacheNodesOfferingId(const Aws::String& value) { m_reservedCacheNodesOfferingIdHasBeenSet = true; m_reservedCacheNodesOfferingId = value; }
|
|
|
|
/**
|
|
* <p>A unique identifier for the reserved cache node offering.</p>
|
|
*/
|
|
inline void SetReservedCacheNodesOfferingId(Aws::String&& value) { m_reservedCacheNodesOfferingIdHasBeenSet = true; m_reservedCacheNodesOfferingId = std::move(value); }
|
|
|
|
/**
|
|
* <p>A unique identifier for the reserved cache node offering.</p>
|
|
*/
|
|
inline void SetReservedCacheNodesOfferingId(const char* value) { m_reservedCacheNodesOfferingIdHasBeenSet = true; m_reservedCacheNodesOfferingId.assign(value); }
|
|
|
|
/**
|
|
* <p>A unique identifier for the reserved cache node offering.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithReservedCacheNodesOfferingId(const Aws::String& value) { SetReservedCacheNodesOfferingId(value); return *this;}
|
|
|
|
/**
|
|
* <p>A unique identifier for the reserved cache node offering.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithReservedCacheNodesOfferingId(Aws::String&& value) { SetReservedCacheNodesOfferingId(std::move(value)); return *this;}
|
|
|
|
/**
|
|
* <p>A unique identifier for the reserved cache node offering.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithReservedCacheNodesOfferingId(const char* value) { SetReservedCacheNodesOfferingId(value); return *this;}
|
|
|
|
|
|
/**
|
|
* <p>The cache node type for the reserved cache node.</p> <p>The following node
|
|
* types are supported by ElastiCache. Generally speaking, the current generation
|
|
* types provide more memory and computational power at lower cost when compared to
|
|
* their equivalent previous generation counterparts.</p> <ul> <li> <p>General
|
|
* purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M5 node types:</b>
|
|
* <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>,
|
|
* <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>,
|
|
* <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4
|
|
* node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>,
|
|
* <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>,
|
|
* <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b>
|
|
* <code>cache.t3.micro</code>, <code>cache.t3.small</code>,
|
|
* <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b>
|
|
* <code>cache.t2.micro</code>, <code>cache.t2.small</code>,
|
|
* <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p>
|
|
* <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>,
|
|
* <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node
|
|
* types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>,
|
|
* <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul>
|
|
* </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p>
|
|
* </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation:
|
|
* </p> <p> <b>R5 node types:</b> <code>cache.r5.large</code>,
|
|
* <code>cache.r5.xlarge</code>, <code>cache.r5.2xlarge</code>,
|
|
* <code>cache.r5.4xlarge</code>, <code>cache.r5.12xlarge</code>,
|
|
* <code>cache.r5.24xlarge</code> </p> <p> <b>R4 node types:</b>
|
|
* <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>,
|
|
* <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>,
|
|
* <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li>
|
|
* <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b>
|
|
* <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>,
|
|
* <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b>
|
|
* <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>,
|
|
* <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>,
|
|
* <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional
|
|
* node type info</b> </p> <ul> <li> <p>All current generation instance types are
|
|
* created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files
|
|
* (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ
|
|
* with automatic failover is not supported on T1 instances.</p> </li> <li>
|
|
* <p>Redis configuration variables <code>appendonly</code> and
|
|
* <code>appendfsync</code> are not supported on Redis version 2.8.22 and
|
|
* later.</p> </li> </ul>
|
|
*/
|
|
inline const Aws::String& GetCacheNodeType() const{ return m_cacheNodeType; }
|
|
|
|
/**
|
|
* <p>The cache node type for the reserved cache node.</p> <p>The following node
|
|
* types are supported by ElastiCache. Generally speaking, the current generation
|
|
* types provide more memory and computational power at lower cost when compared to
|
|
* their equivalent previous generation counterparts.</p> <ul> <li> <p>General
|
|
* purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M5 node types:</b>
|
|
* <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>,
|
|
* <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>,
|
|
* <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4
|
|
* node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>,
|
|
* <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>,
|
|
* <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b>
|
|
* <code>cache.t3.micro</code>, <code>cache.t3.small</code>,
|
|
* <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b>
|
|
* <code>cache.t2.micro</code>, <code>cache.t2.small</code>,
|
|
* <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p>
|
|
* <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>,
|
|
* <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node
|
|
* types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>,
|
|
* <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul>
|
|
* </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p>
|
|
* </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation:
|
|
* </p> <p> <b>R5 node types:</b> <code>cache.r5.large</code>,
|
|
* <code>cache.r5.xlarge</code>, <code>cache.r5.2xlarge</code>,
|
|
* <code>cache.r5.4xlarge</code>, <code>cache.r5.12xlarge</code>,
|
|
* <code>cache.r5.24xlarge</code> </p> <p> <b>R4 node types:</b>
|
|
* <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>,
|
|
* <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>,
|
|
* <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li>
|
|
* <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b>
|
|
* <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>,
|
|
* <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b>
|
|
* <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>,
|
|
* <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>,
|
|
* <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional
|
|
* node type info</b> </p> <ul> <li> <p>All current generation instance types are
|
|
* created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files
|
|
* (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ
|
|
* with automatic failover is not supported on T1 instances.</p> </li> <li>
|
|
* <p>Redis configuration variables <code>appendonly</code> and
|
|
* <code>appendfsync</code> are not supported on Redis version 2.8.22 and
|
|
* later.</p> </li> </ul>
|
|
*/
|
|
inline bool CacheNodeTypeHasBeenSet() const { return m_cacheNodeTypeHasBeenSet; }
|
|
|
|
/**
|
|
* <p>The cache node type for the reserved cache node.</p> <p>The following node
|
|
* types are supported by ElastiCache. Generally speaking, the current generation
|
|
* types provide more memory and computational power at lower cost when compared to
|
|
* their equivalent previous generation counterparts.</p> <ul> <li> <p>General
|
|
* purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M5 node types:</b>
|
|
* <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>,
|
|
* <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>,
|
|
* <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4
|
|
* node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>,
|
|
* <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>,
|
|
* <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b>
|
|
* <code>cache.t3.micro</code>, <code>cache.t3.small</code>,
|
|
* <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b>
|
|
* <code>cache.t2.micro</code>, <code>cache.t2.small</code>,
|
|
* <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p>
|
|
* <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>,
|
|
* <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node
|
|
* types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>,
|
|
* <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul>
|
|
* </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p>
|
|
* </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation:
|
|
* </p> <p> <b>R5 node types:</b> <code>cache.r5.large</code>,
|
|
* <code>cache.r5.xlarge</code>, <code>cache.r5.2xlarge</code>,
|
|
* <code>cache.r5.4xlarge</code>, <code>cache.r5.12xlarge</code>,
|
|
* <code>cache.r5.24xlarge</code> </p> <p> <b>R4 node types:</b>
|
|
* <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>,
|
|
* <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>,
|
|
* <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li>
|
|
* <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b>
|
|
* <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>,
|
|
* <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b>
|
|
* <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>,
|
|
* <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>,
|
|
* <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional
|
|
* node type info</b> </p> <ul> <li> <p>All current generation instance types are
|
|
* created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files
|
|
* (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ
|
|
* with automatic failover is not supported on T1 instances.</p> </li> <li>
|
|
* <p>Redis configuration variables <code>appendonly</code> and
|
|
* <code>appendfsync</code> are not supported on Redis version 2.8.22 and
|
|
* later.</p> </li> </ul>
|
|
*/
|
|
inline void SetCacheNodeType(const Aws::String& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = value; }
|
|
|
|
/**
|
|
* <p>The cache node type for the reserved cache node.</p> <p>The following node
|
|
* types are supported by ElastiCache. Generally speaking, the current generation
|
|
* types provide more memory and computational power at lower cost when compared to
|
|
* their equivalent previous generation counterparts.</p> <ul> <li> <p>General
|
|
* purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M5 node types:</b>
|
|
* <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>,
|
|
* <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>,
|
|
* <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4
|
|
* node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>,
|
|
* <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>,
|
|
* <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b>
|
|
* <code>cache.t3.micro</code>, <code>cache.t3.small</code>,
|
|
* <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b>
|
|
* <code>cache.t2.micro</code>, <code>cache.t2.small</code>,
|
|
* <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p>
|
|
* <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>,
|
|
* <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node
|
|
* types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>,
|
|
* <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul>
|
|
* </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p>
|
|
* </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation:
|
|
* </p> <p> <b>R5 node types:</b> <code>cache.r5.large</code>,
|
|
* <code>cache.r5.xlarge</code>, <code>cache.r5.2xlarge</code>,
|
|
* <code>cache.r5.4xlarge</code>, <code>cache.r5.12xlarge</code>,
|
|
* <code>cache.r5.24xlarge</code> </p> <p> <b>R4 node types:</b>
|
|
* <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>,
|
|
* <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>,
|
|
* <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li>
|
|
* <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b>
|
|
* <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>,
|
|
* <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b>
|
|
* <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>,
|
|
* <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>,
|
|
* <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional
|
|
* node type info</b> </p> <ul> <li> <p>All current generation instance types are
|
|
* created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files
|
|
* (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ
|
|
* with automatic failover is not supported on T1 instances.</p> </li> <li>
|
|
* <p>Redis configuration variables <code>appendonly</code> and
|
|
* <code>appendfsync</code> are not supported on Redis version 2.8.22 and
|
|
* later.</p> </li> </ul>
|
|
*/
|
|
inline void SetCacheNodeType(Aws::String&& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = std::move(value); }
|
|
|
|
/**
|
|
* <p>The cache node type for the reserved cache node.</p> <p>The following node
|
|
* types are supported by ElastiCache. Generally speaking, the current generation
|
|
* types provide more memory and computational power at lower cost when compared to
|
|
* their equivalent previous generation counterparts.</p> <ul> <li> <p>General
|
|
* purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M5 node types:</b>
|
|
* <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>,
|
|
* <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>,
|
|
* <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4
|
|
* node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>,
|
|
* <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>,
|
|
* <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b>
|
|
* <code>cache.t3.micro</code>, <code>cache.t3.small</code>,
|
|
* <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b>
|
|
* <code>cache.t2.micro</code>, <code>cache.t2.small</code>,
|
|
* <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p>
|
|
* <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>,
|
|
* <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node
|
|
* types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>,
|
|
* <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul>
|
|
* </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p>
|
|
* </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation:
|
|
* </p> <p> <b>R5 node types:</b> <code>cache.r5.large</code>,
|
|
* <code>cache.r5.xlarge</code>, <code>cache.r5.2xlarge</code>,
|
|
* <code>cache.r5.4xlarge</code>, <code>cache.r5.12xlarge</code>,
|
|
* <code>cache.r5.24xlarge</code> </p> <p> <b>R4 node types:</b>
|
|
* <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>,
|
|
* <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>,
|
|
* <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li>
|
|
* <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b>
|
|
* <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>,
|
|
* <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b>
|
|
* <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>,
|
|
* <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>,
|
|
* <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional
|
|
* node type info</b> </p> <ul> <li> <p>All current generation instance types are
|
|
* created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files
|
|
* (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ
|
|
* with automatic failover is not supported on T1 instances.</p> </li> <li>
|
|
* <p>Redis configuration variables <code>appendonly</code> and
|
|
* <code>appendfsync</code> are not supported on Redis version 2.8.22 and
|
|
* later.</p> </li> </ul>
|
|
*/
|
|
inline void SetCacheNodeType(const char* value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType.assign(value); }
|
|
|
|
/**
|
|
* <p>The cache node type for the reserved cache node.</p> <p>The following node
|
|
* types are supported by ElastiCache. Generally speaking, the current generation
|
|
* types provide more memory and computational power at lower cost when compared to
|
|
* their equivalent previous generation counterparts.</p> <ul> <li> <p>General
|
|
* purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M5 node types:</b>
|
|
* <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>,
|
|
* <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>,
|
|
* <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4
|
|
* node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>,
|
|
* <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>,
|
|
* <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b>
|
|
* <code>cache.t3.micro</code>, <code>cache.t3.small</code>,
|
|
* <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b>
|
|
* <code>cache.t2.micro</code>, <code>cache.t2.small</code>,
|
|
* <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p>
|
|
* <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>,
|
|
* <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node
|
|
* types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>,
|
|
* <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul>
|
|
* </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p>
|
|
* </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation:
|
|
* </p> <p> <b>R5 node types:</b> <code>cache.r5.large</code>,
|
|
* <code>cache.r5.xlarge</code>, <code>cache.r5.2xlarge</code>,
|
|
* <code>cache.r5.4xlarge</code>, <code>cache.r5.12xlarge</code>,
|
|
* <code>cache.r5.24xlarge</code> </p> <p> <b>R4 node types:</b>
|
|
* <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>,
|
|
* <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>,
|
|
* <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li>
|
|
* <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b>
|
|
* <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>,
|
|
* <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b>
|
|
* <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>,
|
|
* <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>,
|
|
* <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional
|
|
* node type info</b> </p> <ul> <li> <p>All current generation instance types are
|
|
* created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files
|
|
* (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ
|
|
* with automatic failover is not supported on T1 instances.</p> </li> <li>
|
|
* <p>Redis configuration variables <code>appendonly</code> and
|
|
* <code>appendfsync</code> are not supported on Redis version 2.8.22 and
|
|
* later.</p> </li> </ul>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithCacheNodeType(const Aws::String& value) { SetCacheNodeType(value); return *this;}
|
|
|
|
/**
|
|
* <p>The cache node type for the reserved cache node.</p> <p>The following node
|
|
* types are supported by ElastiCache. Generally speaking, the current generation
|
|
* types provide more memory and computational power at lower cost when compared to
|
|
* their equivalent previous generation counterparts.</p> <ul> <li> <p>General
|
|
* purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M5 node types:</b>
|
|
* <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>,
|
|
* <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>,
|
|
* <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4
|
|
* node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>,
|
|
* <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>,
|
|
* <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b>
|
|
* <code>cache.t3.micro</code>, <code>cache.t3.small</code>,
|
|
* <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b>
|
|
* <code>cache.t2.micro</code>, <code>cache.t2.small</code>,
|
|
* <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p>
|
|
* <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>,
|
|
* <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node
|
|
* types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>,
|
|
* <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul>
|
|
* </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p>
|
|
* </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation:
|
|
* </p> <p> <b>R5 node types:</b> <code>cache.r5.large</code>,
|
|
* <code>cache.r5.xlarge</code>, <code>cache.r5.2xlarge</code>,
|
|
* <code>cache.r5.4xlarge</code>, <code>cache.r5.12xlarge</code>,
|
|
* <code>cache.r5.24xlarge</code> </p> <p> <b>R4 node types:</b>
|
|
* <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>,
|
|
* <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>,
|
|
* <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li>
|
|
* <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b>
|
|
* <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>,
|
|
* <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b>
|
|
* <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>,
|
|
* <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>,
|
|
* <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional
|
|
* node type info</b> </p> <ul> <li> <p>All current generation instance types are
|
|
* created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files
|
|
* (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ
|
|
* with automatic failover is not supported on T1 instances.</p> </li> <li>
|
|
* <p>Redis configuration variables <code>appendonly</code> and
|
|
* <code>appendfsync</code> are not supported on Redis version 2.8.22 and
|
|
* later.</p> </li> </ul>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithCacheNodeType(Aws::String&& value) { SetCacheNodeType(std::move(value)); return *this;}
|
|
|
|
/**
|
|
* <p>The cache node type for the reserved cache node.</p> <p>The following node
|
|
* types are supported by ElastiCache. Generally speaking, the current generation
|
|
* types provide more memory and computational power at lower cost when compared to
|
|
* their equivalent previous generation counterparts.</p> <ul> <li> <p>General
|
|
* purpose:</p> <ul> <li> <p>Current generation: </p> <p> <b>M5 node types:</b>
|
|
* <code>cache.m5.large</code>, <code>cache.m5.xlarge</code>,
|
|
* <code>cache.m5.2xlarge</code>, <code>cache.m5.4xlarge</code>,
|
|
* <code>cache.m5.12xlarge</code>, <code>cache.m5.24xlarge</code> </p> <p> <b>M4
|
|
* node types:</b> <code>cache.m4.large</code>, <code>cache.m4.xlarge</code>,
|
|
* <code>cache.m4.2xlarge</code>, <code>cache.m4.4xlarge</code>,
|
|
* <code>cache.m4.10xlarge</code> </p> <p> <b>T3 node types:</b>
|
|
* <code>cache.t3.micro</code>, <code>cache.t3.small</code>,
|
|
* <code>cache.t3.medium</code> </p> <p> <b>T2 node types:</b>
|
|
* <code>cache.t2.micro</code>, <code>cache.t2.small</code>,
|
|
* <code>cache.t2.medium</code> </p> </li> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>T1 node types:</b> <code>cache.t1.micro</code> </p> <p>
|
|
* <b>M1 node types:</b> <code>cache.m1.small</code>, <code>cache.m1.medium</code>,
|
|
* <code>cache.m1.large</code>, <code>cache.m1.xlarge</code> </p> <p> <b>M3 node
|
|
* types:</b> <code>cache.m3.medium</code>, <code>cache.m3.large</code>,
|
|
* <code>cache.m3.xlarge</code>, <code>cache.m3.2xlarge</code> </p> </li> </ul>
|
|
* </li> <li> <p>Compute optimized:</p> <ul> <li> <p>Previous generation: (not
|
|
* recommended)</p> <p> <b>C1 node types:</b> <code>cache.c1.xlarge</code> </p>
|
|
* </li> </ul> </li> <li> <p>Memory optimized:</p> <ul> <li> <p>Current generation:
|
|
* </p> <p> <b>R5 node types:</b> <code>cache.r5.large</code>,
|
|
* <code>cache.r5.xlarge</code>, <code>cache.r5.2xlarge</code>,
|
|
* <code>cache.r5.4xlarge</code>, <code>cache.r5.12xlarge</code>,
|
|
* <code>cache.r5.24xlarge</code> </p> <p> <b>R4 node types:</b>
|
|
* <code>cache.r4.large</code>, <code>cache.r4.xlarge</code>,
|
|
* <code>cache.r4.2xlarge</code>, <code>cache.r4.4xlarge</code>,
|
|
* <code>cache.r4.8xlarge</code>, <code>cache.r4.16xlarge</code> </p> </li> <li>
|
|
* <p>Previous generation: (not recommended)</p> <p> <b>M2 node types:</b>
|
|
* <code>cache.m2.xlarge</code>, <code>cache.m2.2xlarge</code>,
|
|
* <code>cache.m2.4xlarge</code> </p> <p> <b>R3 node types:</b>
|
|
* <code>cache.r3.large</code>, <code>cache.r3.xlarge</code>,
|
|
* <code>cache.r3.2xlarge</code>, <code>cache.r3.4xlarge</code>,
|
|
* <code>cache.r3.8xlarge</code> </p> </li> </ul> </li> </ul> <p> <b>Additional
|
|
* node type info</b> </p> <ul> <li> <p>All current generation instance types are
|
|
* created in Amazon VPC by default.</p> </li> <li> <p>Redis append-only files
|
|
* (AOF) are not supported for T1 or T2 instances.</p> </li> <li> <p>Redis Multi-AZ
|
|
* with automatic failover is not supported on T1 instances.</p> </li> <li>
|
|
* <p>Redis configuration variables <code>appendonly</code> and
|
|
* <code>appendfsync</code> are not supported on Redis version 2.8.22 and
|
|
* later.</p> </li> </ul>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithCacheNodeType(const char* value) { SetCacheNodeType(value); return *this;}
|
|
|
|
|
|
/**
|
|
* <p>The duration of the offering. in seconds.</p>
|
|
*/
|
|
inline int GetDuration() const{ return m_duration; }
|
|
|
|
/**
|
|
* <p>The duration of the offering. in seconds.</p>
|
|
*/
|
|
inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
|
|
|
|
/**
|
|
* <p>The duration of the offering. in seconds.</p>
|
|
*/
|
|
inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; }
|
|
|
|
/**
|
|
* <p>The duration of the offering. in seconds.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithDuration(int value) { SetDuration(value); return *this;}
|
|
|
|
|
|
/**
|
|
* <p>The fixed price charged for this offering.</p>
|
|
*/
|
|
inline double GetFixedPrice() const{ return m_fixedPrice; }
|
|
|
|
/**
|
|
* <p>The fixed price charged for this offering.</p>
|
|
*/
|
|
inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
|
|
|
|
/**
|
|
* <p>The fixed price charged for this offering.</p>
|
|
*/
|
|
inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
|
|
|
|
/**
|
|
* <p>The fixed price charged for this offering.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
|
|
|
|
|
|
/**
|
|
* <p>The hourly price charged for this offering.</p>
|
|
*/
|
|
inline double GetUsagePrice() const{ return m_usagePrice; }
|
|
|
|
/**
|
|
* <p>The hourly price charged for this offering.</p>
|
|
*/
|
|
inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
|
|
|
|
/**
|
|
* <p>The hourly price charged for this offering.</p>
|
|
*/
|
|
inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
|
|
|
|
/**
|
|
* <p>The hourly price charged for this offering.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
|
|
|
|
|
|
/**
|
|
* <p>The cache engine used by the offering.</p>
|
|
*/
|
|
inline const Aws::String& GetProductDescription() const{ return m_productDescription; }
|
|
|
|
/**
|
|
* <p>The cache engine used by the offering.</p>
|
|
*/
|
|
inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; }
|
|
|
|
/**
|
|
* <p>The cache engine used by the offering.</p>
|
|
*/
|
|
inline void SetProductDescription(const Aws::String& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; }
|
|
|
|
/**
|
|
* <p>The cache engine used by the offering.</p>
|
|
*/
|
|
inline void SetProductDescription(Aws::String&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = std::move(value); }
|
|
|
|
/**
|
|
* <p>The cache engine used by the offering.</p>
|
|
*/
|
|
inline void SetProductDescription(const char* value) { m_productDescriptionHasBeenSet = true; m_productDescription.assign(value); }
|
|
|
|
/**
|
|
* <p>The cache engine used by the offering.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithProductDescription(const Aws::String& value) { SetProductDescription(value); return *this;}
|
|
|
|
/**
|
|
* <p>The cache engine used by the offering.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithProductDescription(Aws::String&& value) { SetProductDescription(std::move(value)); return *this;}
|
|
|
|
/**
|
|
* <p>The cache engine used by the offering.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithProductDescription(const char* value) { SetProductDescription(value); return *this;}
|
|
|
|
|
|
/**
|
|
* <p>The offering type.</p>
|
|
*/
|
|
inline const Aws::String& GetOfferingType() const{ return m_offeringType; }
|
|
|
|
/**
|
|
* <p>The offering type.</p>
|
|
*/
|
|
inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
|
|
|
|
/**
|
|
* <p>The offering type.</p>
|
|
*/
|
|
inline void SetOfferingType(const Aws::String& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; }
|
|
|
|
/**
|
|
* <p>The offering type.</p>
|
|
*/
|
|
inline void SetOfferingType(Aws::String&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::move(value); }
|
|
|
|
/**
|
|
* <p>The offering type.</p>
|
|
*/
|
|
inline void SetOfferingType(const char* value) { m_offeringTypeHasBeenSet = true; m_offeringType.assign(value); }
|
|
|
|
/**
|
|
* <p>The offering type.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithOfferingType(const Aws::String& value) { SetOfferingType(value); return *this;}
|
|
|
|
/**
|
|
* <p>The offering type.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithOfferingType(Aws::String&& value) { SetOfferingType(std::move(value)); return *this;}
|
|
|
|
/**
|
|
* <p>The offering type.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithOfferingType(const char* value) { SetOfferingType(value); return *this;}
|
|
|
|
|
|
/**
|
|
* <p>The recurring price charged to run this reserved cache node.</p>
|
|
*/
|
|
inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const{ return m_recurringCharges; }
|
|
|
|
/**
|
|
* <p>The recurring price charged to run this reserved cache node.</p>
|
|
*/
|
|
inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
|
|
|
|
/**
|
|
* <p>The recurring price charged to run this reserved cache node.</p>
|
|
*/
|
|
inline void SetRecurringCharges(const Aws::Vector<RecurringCharge>& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = value; }
|
|
|
|
/**
|
|
* <p>The recurring price charged to run this reserved cache node.</p>
|
|
*/
|
|
inline void SetRecurringCharges(Aws::Vector<RecurringCharge>&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = std::move(value); }
|
|
|
|
/**
|
|
* <p>The recurring price charged to run this reserved cache node.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithRecurringCharges(const Aws::Vector<RecurringCharge>& value) { SetRecurringCharges(value); return *this;}
|
|
|
|
/**
|
|
* <p>The recurring price charged to run this reserved cache node.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& WithRecurringCharges(Aws::Vector<RecurringCharge>&& value) { SetRecurringCharges(std::move(value)); return *this;}
|
|
|
|
/**
|
|
* <p>The recurring price charged to run this reserved cache node.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& AddRecurringCharges(const RecurringCharge& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(value); return *this; }
|
|
|
|
/**
|
|
* <p>The recurring price charged to run this reserved cache node.</p>
|
|
*/
|
|
inline ReservedCacheNodesOffering& AddRecurringCharges(RecurringCharge&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.push_back(std::move(value)); return *this; }
|
|
|
|
private:
|
|
|
|
Aws::String m_reservedCacheNodesOfferingId;
|
|
bool m_reservedCacheNodesOfferingIdHasBeenSet;
|
|
|
|
Aws::String m_cacheNodeType;
|
|
bool m_cacheNodeTypeHasBeenSet;
|
|
|
|
int m_duration;
|
|
bool m_durationHasBeenSet;
|
|
|
|
double m_fixedPrice;
|
|
bool m_fixedPriceHasBeenSet;
|
|
|
|
double m_usagePrice;
|
|
bool m_usagePriceHasBeenSet;
|
|
|
|
Aws::String m_productDescription;
|
|
bool m_productDescriptionHasBeenSet;
|
|
|
|
Aws::String m_offeringType;
|
|
bool m_offeringTypeHasBeenSet;
|
|
|
|
Aws::Vector<RecurringCharge> m_recurringCharges;
|
|
bool m_recurringChargesHasBeenSet;
|
|
};
|
|
|
|
} // namespace Model
|
|
} // namespace ElastiCache
|
|
} // namespace Aws
|