/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace ElastiCache { namespace Model { /** *

Represents the input of a DescribeReservedCacheNodesOfferings * operation.

See Also:

AWS * API Reference

*/ class DescribeReservedCacheNodesOfferingsRequest : public ElastiCacheRequest { public: AWS_ELASTICACHE_API DescribeReservedCacheNodesOfferingsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DescribeReservedCacheNodesOfferings"; } AWS_ELASTICACHE_API Aws::String SerializePayload() const override; protected: AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The offering identifier filter value. Use this parameter to show only the * available offering that matches the specified reservation identifier.

*

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

*/ inline const Aws::String& GetReservedCacheNodesOfferingId() const{ return m_reservedCacheNodesOfferingId; } /** *

The offering identifier filter value. Use this parameter to show only the * available offering that matches the specified reservation identifier.

*

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

*/ inline bool ReservedCacheNodesOfferingIdHasBeenSet() const { return m_reservedCacheNodesOfferingIdHasBeenSet; } /** *

The offering identifier filter value. Use this parameter to show only the * available offering that matches the specified reservation identifier.

*

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

*/ inline void SetReservedCacheNodesOfferingId(const Aws::String& value) { m_reservedCacheNodesOfferingIdHasBeenSet = true; m_reservedCacheNodesOfferingId = value; } /** *

The offering identifier filter value. Use this parameter to show only the * available offering that matches the specified reservation identifier.

*

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

*/ inline void SetReservedCacheNodesOfferingId(Aws::String&& value) { m_reservedCacheNodesOfferingIdHasBeenSet = true; m_reservedCacheNodesOfferingId = std::move(value); } /** *

The offering identifier filter value. Use this parameter to show only the * available offering that matches the specified reservation identifier.

*

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

*/ inline void SetReservedCacheNodesOfferingId(const char* value) { m_reservedCacheNodesOfferingIdHasBeenSet = true; m_reservedCacheNodesOfferingId.assign(value); } /** *

The offering identifier filter value. Use this parameter to show only the * available offering that matches the specified reservation identifier.

*

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithReservedCacheNodesOfferingId(const Aws::String& value) { SetReservedCacheNodesOfferingId(value); return *this;} /** *

The offering identifier filter value. Use this parameter to show only the * available offering that matches the specified reservation identifier.

*

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithReservedCacheNodesOfferingId(Aws::String&& value) { SetReservedCacheNodesOfferingId(std::move(value)); return *this;} /** *

The offering identifier filter value. Use this parameter to show only the * available offering that matches the specified reservation identifier.

*

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithReservedCacheNodesOfferingId(const char* value) { SetReservedCacheNodesOfferingId(value); return *this;} /** *

The cache node type filter value. Use this parameter to show only the * available offerings matching the specified cache node type.

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.

  • *

    General purpose:

    • Current generation:

      M6g node * types (available only for Redis engine version 5.0.6 onward and for * Memcached engine version 1.5.16 onward): cache.m6g.large, * cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, * cache.m6g.12xlarge, cache.m6g.16xlarge

      *

      For region availability, see Supported * Node Types

      M5 node types: * cache.m5.large, cache.m5.xlarge, * cache.m5.2xlarge, cache.m5.4xlarge, * cache.m5.12xlarge, cache.m5.24xlarge

      M4 * node types: cache.m4.large, cache.m4.xlarge, * cache.m4.2xlarge, cache.m4.4xlarge, * cache.m4.10xlarge

      T4g node types (available only * for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 * onward): cache.t4g.micro, cache.t4g.small, * cache.t4g.medium

      T3 node types: * cache.t3.micro, cache.t3.small, * cache.t3.medium

      T2 node types: * cache.t2.micro, cache.t2.small, * cache.t2.medium

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      T1 node types: * cache.t1.micro

      M1 node types: * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge

      M3 node * types: cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge

    *
  • Compute optimized:

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      C1 node types: * cache.c1.xlarge

  • Memory * optimized:

    • Current generation:

      R6g node types * (available only for Redis engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward).

      cache.r6g.large, * cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, * cache.r6g.12xlarge, cache.r6g.16xlarge

      *

      For region availability, see Supported * Node Types

      R5 node types: * cache.r5.large, cache.r5.xlarge, * cache.r5.2xlarge, cache.r5.4xlarge, * cache.r5.12xlarge, cache.r5.24xlarge

      R4 * node types: cache.r4.large, cache.r4.xlarge, * cache.r4.2xlarge, cache.r4.4xlarge, * cache.r4.8xlarge, cache.r4.16xlarge

    • *

      Previous generation: (not recommended. Existing clusters are still supported * but creation of new clusters is not supported for these types.)

      M2 * node types: cache.m2.xlarge, cache.m2.2xlarge, * cache.m2.4xlarge

      R3 node types: * cache.r3.large, cache.r3.xlarge, * cache.r3.2xlarge, cache.r3.4xlarge, * cache.r3.8xlarge

Additional * node type info

  • All current generation instance types are * created in Amazon VPC by default.

  • Redis append-only files * (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ * with automatic failover is not supported on T1 instances.

  • *

    Redis configuration variables appendonly and * appendfsync are not supported on Redis version 2.8.22 and * later.

*/ inline const Aws::String& GetCacheNodeType() const{ return m_cacheNodeType; } /** *

The cache node type filter value. Use this parameter to show only the * available offerings matching the specified cache node type.

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.

  • *

    General purpose:

    • Current generation:

      M6g node * types (available only for Redis engine version 5.0.6 onward and for * Memcached engine version 1.5.16 onward): cache.m6g.large, * cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, * cache.m6g.12xlarge, cache.m6g.16xlarge

      *

      For region availability, see Supported * Node Types

      M5 node types: * cache.m5.large, cache.m5.xlarge, * cache.m5.2xlarge, cache.m5.4xlarge, * cache.m5.12xlarge, cache.m5.24xlarge

      M4 * node types: cache.m4.large, cache.m4.xlarge, * cache.m4.2xlarge, cache.m4.4xlarge, * cache.m4.10xlarge

      T4g node types (available only * for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 * onward): cache.t4g.micro, cache.t4g.small, * cache.t4g.medium

      T3 node types: * cache.t3.micro, cache.t3.small, * cache.t3.medium

      T2 node types: * cache.t2.micro, cache.t2.small, * cache.t2.medium

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      T1 node types: * cache.t1.micro

      M1 node types: * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge

      M3 node * types: cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge

    *
  • Compute optimized:

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      C1 node types: * cache.c1.xlarge

  • Memory * optimized:

    • Current generation:

      R6g node types * (available only for Redis engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward).

      cache.r6g.large, * cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, * cache.r6g.12xlarge, cache.r6g.16xlarge

      *

      For region availability, see Supported * Node Types

      R5 node types: * cache.r5.large, cache.r5.xlarge, * cache.r5.2xlarge, cache.r5.4xlarge, * cache.r5.12xlarge, cache.r5.24xlarge

      R4 * node types: cache.r4.large, cache.r4.xlarge, * cache.r4.2xlarge, cache.r4.4xlarge, * cache.r4.8xlarge, cache.r4.16xlarge

    • *

      Previous generation: (not recommended. Existing clusters are still supported * but creation of new clusters is not supported for these types.)

      M2 * node types: cache.m2.xlarge, cache.m2.2xlarge, * cache.m2.4xlarge

      R3 node types: * cache.r3.large, cache.r3.xlarge, * cache.r3.2xlarge, cache.r3.4xlarge, * cache.r3.8xlarge

Additional * node type info

  • All current generation instance types are * created in Amazon VPC by default.

  • Redis append-only files * (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ * with automatic failover is not supported on T1 instances.

  • *

    Redis configuration variables appendonly and * appendfsync are not supported on Redis version 2.8.22 and * later.

*/ inline bool CacheNodeTypeHasBeenSet() const { return m_cacheNodeTypeHasBeenSet; } /** *

The cache node type filter value. Use this parameter to show only the * available offerings matching the specified cache node type.

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.

  • *

    General purpose:

    • Current generation:

      M6g node * types (available only for Redis engine version 5.0.6 onward and for * Memcached engine version 1.5.16 onward): cache.m6g.large, * cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, * cache.m6g.12xlarge, cache.m6g.16xlarge

      *

      For region availability, see Supported * Node Types

      M5 node types: * cache.m5.large, cache.m5.xlarge, * cache.m5.2xlarge, cache.m5.4xlarge, * cache.m5.12xlarge, cache.m5.24xlarge

      M4 * node types: cache.m4.large, cache.m4.xlarge, * cache.m4.2xlarge, cache.m4.4xlarge, * cache.m4.10xlarge

      T4g node types (available only * for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 * onward): cache.t4g.micro, cache.t4g.small, * cache.t4g.medium

      T3 node types: * cache.t3.micro, cache.t3.small, * cache.t3.medium

      T2 node types: * cache.t2.micro, cache.t2.small, * cache.t2.medium

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      T1 node types: * cache.t1.micro

      M1 node types: * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge

      M3 node * types: cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge

    *
  • Compute optimized:

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      C1 node types: * cache.c1.xlarge

  • Memory * optimized:

    • Current generation:

      R6g node types * (available only for Redis engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward).

      cache.r6g.large, * cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, * cache.r6g.12xlarge, cache.r6g.16xlarge

      *

      For region availability, see Supported * Node Types

      R5 node types: * cache.r5.large, cache.r5.xlarge, * cache.r5.2xlarge, cache.r5.4xlarge, * cache.r5.12xlarge, cache.r5.24xlarge

      R4 * node types: cache.r4.large, cache.r4.xlarge, * cache.r4.2xlarge, cache.r4.4xlarge, * cache.r4.8xlarge, cache.r4.16xlarge

    • *

      Previous generation: (not recommended. Existing clusters are still supported * but creation of new clusters is not supported for these types.)

      M2 * node types: cache.m2.xlarge, cache.m2.2xlarge, * cache.m2.4xlarge

      R3 node types: * cache.r3.large, cache.r3.xlarge, * cache.r3.2xlarge, cache.r3.4xlarge, * cache.r3.8xlarge

Additional * node type info

  • All current generation instance types are * created in Amazon VPC by default.

  • Redis append-only files * (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ * with automatic failover is not supported on T1 instances.

  • *

    Redis configuration variables appendonly and * appendfsync are not supported on Redis version 2.8.22 and * later.

*/ inline void SetCacheNodeType(const Aws::String& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = value; } /** *

The cache node type filter value. Use this parameter to show only the * available offerings matching the specified cache node type.

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.

  • *

    General purpose:

    • Current generation:

      M6g node * types (available only for Redis engine version 5.0.6 onward and for * Memcached engine version 1.5.16 onward): cache.m6g.large, * cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, * cache.m6g.12xlarge, cache.m6g.16xlarge

      *

      For region availability, see Supported * Node Types

      M5 node types: * cache.m5.large, cache.m5.xlarge, * cache.m5.2xlarge, cache.m5.4xlarge, * cache.m5.12xlarge, cache.m5.24xlarge

      M4 * node types: cache.m4.large, cache.m4.xlarge, * cache.m4.2xlarge, cache.m4.4xlarge, * cache.m4.10xlarge

      T4g node types (available only * for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 * onward): cache.t4g.micro, cache.t4g.small, * cache.t4g.medium

      T3 node types: * cache.t3.micro, cache.t3.small, * cache.t3.medium

      T2 node types: * cache.t2.micro, cache.t2.small, * cache.t2.medium

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      T1 node types: * cache.t1.micro

      M1 node types: * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge

      M3 node * types: cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge

    *
  • Compute optimized:

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      C1 node types: * cache.c1.xlarge

  • Memory * optimized:

    • Current generation:

      R6g node types * (available only for Redis engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward).

      cache.r6g.large, * cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, * cache.r6g.12xlarge, cache.r6g.16xlarge

      *

      For region availability, see Supported * Node Types

      R5 node types: * cache.r5.large, cache.r5.xlarge, * cache.r5.2xlarge, cache.r5.4xlarge, * cache.r5.12xlarge, cache.r5.24xlarge

      R4 * node types: cache.r4.large, cache.r4.xlarge, * cache.r4.2xlarge, cache.r4.4xlarge, * cache.r4.8xlarge, cache.r4.16xlarge

    • *

      Previous generation: (not recommended. Existing clusters are still supported * but creation of new clusters is not supported for these types.)

      M2 * node types: cache.m2.xlarge, cache.m2.2xlarge, * cache.m2.4xlarge

      R3 node types: * cache.r3.large, cache.r3.xlarge, * cache.r3.2xlarge, cache.r3.4xlarge, * cache.r3.8xlarge

Additional * node type info

  • All current generation instance types are * created in Amazon VPC by default.

  • Redis append-only files * (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ * with automatic failover is not supported on T1 instances.

  • *

    Redis configuration variables appendonly and * appendfsync are not supported on Redis version 2.8.22 and * later.

*/ inline void SetCacheNodeType(Aws::String&& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = std::move(value); } /** *

The cache node type filter value. Use this parameter to show only the * available offerings matching the specified cache node type.

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.

  • *

    General purpose:

    • Current generation:

      M6g node * types (available only for Redis engine version 5.0.6 onward and for * Memcached engine version 1.5.16 onward): cache.m6g.large, * cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, * cache.m6g.12xlarge, cache.m6g.16xlarge

      *

      For region availability, see Supported * Node Types

      M5 node types: * cache.m5.large, cache.m5.xlarge, * cache.m5.2xlarge, cache.m5.4xlarge, * cache.m5.12xlarge, cache.m5.24xlarge

      M4 * node types: cache.m4.large, cache.m4.xlarge, * cache.m4.2xlarge, cache.m4.4xlarge, * cache.m4.10xlarge

      T4g node types (available only * for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 * onward): cache.t4g.micro, cache.t4g.small, * cache.t4g.medium

      T3 node types: * cache.t3.micro, cache.t3.small, * cache.t3.medium

      T2 node types: * cache.t2.micro, cache.t2.small, * cache.t2.medium

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      T1 node types: * cache.t1.micro

      M1 node types: * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge

      M3 node * types: cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge

    *
  • Compute optimized:

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      C1 node types: * cache.c1.xlarge

  • Memory * optimized:

    • Current generation:

      R6g node types * (available only for Redis engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward).

      cache.r6g.large, * cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, * cache.r6g.12xlarge, cache.r6g.16xlarge

      *

      For region availability, see Supported * Node Types

      R5 node types: * cache.r5.large, cache.r5.xlarge, * cache.r5.2xlarge, cache.r5.4xlarge, * cache.r5.12xlarge, cache.r5.24xlarge

      R4 * node types: cache.r4.large, cache.r4.xlarge, * cache.r4.2xlarge, cache.r4.4xlarge, * cache.r4.8xlarge, cache.r4.16xlarge

    • *

      Previous generation: (not recommended. Existing clusters are still supported * but creation of new clusters is not supported for these types.)

      M2 * node types: cache.m2.xlarge, cache.m2.2xlarge, * cache.m2.4xlarge

      R3 node types: * cache.r3.large, cache.r3.xlarge, * cache.r3.2xlarge, cache.r3.4xlarge, * cache.r3.8xlarge

Additional * node type info

  • All current generation instance types are * created in Amazon VPC by default.

  • Redis append-only files * (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ * with automatic failover is not supported on T1 instances.

  • *

    Redis configuration variables appendonly and * appendfsync are not supported on Redis version 2.8.22 and * later.

*/ inline void SetCacheNodeType(const char* value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType.assign(value); } /** *

The cache node type filter value. Use this parameter to show only the * available offerings matching the specified cache node type.

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.

  • *

    General purpose:

    • Current generation:

      M6g node * types (available only for Redis engine version 5.0.6 onward and for * Memcached engine version 1.5.16 onward): cache.m6g.large, * cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, * cache.m6g.12xlarge, cache.m6g.16xlarge

      *

      For region availability, see Supported * Node Types

      M5 node types: * cache.m5.large, cache.m5.xlarge, * cache.m5.2xlarge, cache.m5.4xlarge, * cache.m5.12xlarge, cache.m5.24xlarge

      M4 * node types: cache.m4.large, cache.m4.xlarge, * cache.m4.2xlarge, cache.m4.4xlarge, * cache.m4.10xlarge

      T4g node types (available only * for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 * onward): cache.t4g.micro, cache.t4g.small, * cache.t4g.medium

      T3 node types: * cache.t3.micro, cache.t3.small, * cache.t3.medium

      T2 node types: * cache.t2.micro, cache.t2.small, * cache.t2.medium

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      T1 node types: * cache.t1.micro

      M1 node types: * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge

      M3 node * types: cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge

    *
  • Compute optimized:

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      C1 node types: * cache.c1.xlarge

  • Memory * optimized:

    • Current generation:

      R6g node types * (available only for Redis engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward).

      cache.r6g.large, * cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, * cache.r6g.12xlarge, cache.r6g.16xlarge

      *

      For region availability, see Supported * Node Types

      R5 node types: * cache.r5.large, cache.r5.xlarge, * cache.r5.2xlarge, cache.r5.4xlarge, * cache.r5.12xlarge, cache.r5.24xlarge

      R4 * node types: cache.r4.large, cache.r4.xlarge, * cache.r4.2xlarge, cache.r4.4xlarge, * cache.r4.8xlarge, cache.r4.16xlarge

    • *

      Previous generation: (not recommended. Existing clusters are still supported * but creation of new clusters is not supported for these types.)

      M2 * node types: cache.m2.xlarge, cache.m2.2xlarge, * cache.m2.4xlarge

      R3 node types: * cache.r3.large, cache.r3.xlarge, * cache.r3.2xlarge, cache.r3.4xlarge, * cache.r3.8xlarge

Additional * node type info

  • All current generation instance types are * created in Amazon VPC by default.

  • Redis append-only files * (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ * with automatic failover is not supported on T1 instances.

  • *

    Redis configuration variables appendonly and * appendfsync are not supported on Redis version 2.8.22 and * later.

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithCacheNodeType(const Aws::String& value) { SetCacheNodeType(value); return *this;} /** *

The cache node type filter value. Use this parameter to show only the * available offerings matching the specified cache node type.

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.

  • *

    General purpose:

    • Current generation:

      M6g node * types (available only for Redis engine version 5.0.6 onward and for * Memcached engine version 1.5.16 onward): cache.m6g.large, * cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, * cache.m6g.12xlarge, cache.m6g.16xlarge

      *

      For region availability, see Supported * Node Types

      M5 node types: * cache.m5.large, cache.m5.xlarge, * cache.m5.2xlarge, cache.m5.4xlarge, * cache.m5.12xlarge, cache.m5.24xlarge

      M4 * node types: cache.m4.large, cache.m4.xlarge, * cache.m4.2xlarge, cache.m4.4xlarge, * cache.m4.10xlarge

      T4g node types (available only * for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 * onward): cache.t4g.micro, cache.t4g.small, * cache.t4g.medium

      T3 node types: * cache.t3.micro, cache.t3.small, * cache.t3.medium

      T2 node types: * cache.t2.micro, cache.t2.small, * cache.t2.medium

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      T1 node types: * cache.t1.micro

      M1 node types: * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge

      M3 node * types: cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge

    *
  • Compute optimized:

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      C1 node types: * cache.c1.xlarge

  • Memory * optimized:

    • Current generation:

      R6g node types * (available only for Redis engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward).

      cache.r6g.large, * cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, * cache.r6g.12xlarge, cache.r6g.16xlarge

      *

      For region availability, see Supported * Node Types

      R5 node types: * cache.r5.large, cache.r5.xlarge, * cache.r5.2xlarge, cache.r5.4xlarge, * cache.r5.12xlarge, cache.r5.24xlarge

      R4 * node types: cache.r4.large, cache.r4.xlarge, * cache.r4.2xlarge, cache.r4.4xlarge, * cache.r4.8xlarge, cache.r4.16xlarge

    • *

      Previous generation: (not recommended. Existing clusters are still supported * but creation of new clusters is not supported for these types.)

      M2 * node types: cache.m2.xlarge, cache.m2.2xlarge, * cache.m2.4xlarge

      R3 node types: * cache.r3.large, cache.r3.xlarge, * cache.r3.2xlarge, cache.r3.4xlarge, * cache.r3.8xlarge

Additional * node type info

  • All current generation instance types are * created in Amazon VPC by default.

  • Redis append-only files * (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ * with automatic failover is not supported on T1 instances.

  • *

    Redis configuration variables appendonly and * appendfsync are not supported on Redis version 2.8.22 and * later.

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithCacheNodeType(Aws::String&& value) { SetCacheNodeType(std::move(value)); return *this;} /** *

The cache node type filter value. Use this parameter to show only the * available offerings matching the specified cache node type.

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.

  • *

    General purpose:

    • Current generation:

      M6g node * types (available only for Redis engine version 5.0.6 onward and for * Memcached engine version 1.5.16 onward): cache.m6g.large, * cache.m6g.xlarge, cache.m6g.2xlarge, * cache.m6g.4xlarge, cache.m6g.8xlarge, * cache.m6g.12xlarge, cache.m6g.16xlarge

      *

      For region availability, see Supported * Node Types

      M5 node types: * cache.m5.large, cache.m5.xlarge, * cache.m5.2xlarge, cache.m5.4xlarge, * cache.m5.12xlarge, cache.m5.24xlarge

      M4 * node types: cache.m4.large, cache.m4.xlarge, * cache.m4.2xlarge, cache.m4.4xlarge, * cache.m4.10xlarge

      T4g node types (available only * for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 * onward): cache.t4g.micro, cache.t4g.small, * cache.t4g.medium

      T3 node types: * cache.t3.micro, cache.t3.small, * cache.t3.medium

      T2 node types: * cache.t2.micro, cache.t2.small, * cache.t2.medium

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      T1 node types: * cache.t1.micro

      M1 node types: * cache.m1.small, cache.m1.medium, * cache.m1.large, cache.m1.xlarge

      M3 node * types: cache.m3.medium, cache.m3.large, * cache.m3.xlarge, cache.m3.2xlarge

    *
  • Compute optimized:

    • Previous generation: (not * recommended. Existing clusters are still supported but creation of new clusters * is not supported for these types.)

      C1 node types: * cache.c1.xlarge

  • Memory * optimized:

    • Current generation:

      R6g node types * (available only for Redis engine version 5.0.6 onward and for Memcached engine * version 1.5.16 onward).

      cache.r6g.large, * cache.r6g.xlarge, cache.r6g.2xlarge, * cache.r6g.4xlarge, cache.r6g.8xlarge, * cache.r6g.12xlarge, cache.r6g.16xlarge

      *

      For region availability, see Supported * Node Types

      R5 node types: * cache.r5.large, cache.r5.xlarge, * cache.r5.2xlarge, cache.r5.4xlarge, * cache.r5.12xlarge, cache.r5.24xlarge

      R4 * node types: cache.r4.large, cache.r4.xlarge, * cache.r4.2xlarge, cache.r4.4xlarge, * cache.r4.8xlarge, cache.r4.16xlarge

    • *

      Previous generation: (not recommended. Existing clusters are still supported * but creation of new clusters is not supported for these types.)

      M2 * node types: cache.m2.xlarge, cache.m2.2xlarge, * cache.m2.4xlarge

      R3 node types: * cache.r3.large, cache.r3.xlarge, * cache.r3.2xlarge, cache.r3.4xlarge, * cache.r3.8xlarge

Additional * node type info

  • All current generation instance types are * created in Amazon VPC by default.

  • Redis append-only files * (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ * with automatic failover is not supported on T1 instances.

  • *

    Redis configuration variables appendonly and * appendfsync are not supported on Redis version 2.8.22 and * later.

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithCacheNodeType(const char* value) { SetCacheNodeType(value); return *this;} /** *

Duration filter value, specified in years or seconds. Use this parameter to * show only reservations for a given duration.

Valid Values: 1 | 3 | * 31536000 | 94608000

*/ inline const Aws::String& GetDuration() const{ return m_duration; } /** *

Duration filter value, specified in years or seconds. Use this parameter to * show only reservations for a given duration.

Valid Values: 1 | 3 | * 31536000 | 94608000

*/ inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } /** *

Duration filter value, specified in years or seconds. Use this parameter to * show only reservations for a given duration.

Valid Values: 1 | 3 | * 31536000 | 94608000

*/ inline void SetDuration(const Aws::String& value) { m_durationHasBeenSet = true; m_duration = value; } /** *

Duration filter value, specified in years or seconds. Use this parameter to * show only reservations for a given duration.

Valid Values: 1 | 3 | * 31536000 | 94608000

*/ inline void SetDuration(Aws::String&& value) { m_durationHasBeenSet = true; m_duration = std::move(value); } /** *

Duration filter value, specified in years or seconds. Use this parameter to * show only reservations for a given duration.

Valid Values: 1 | 3 | * 31536000 | 94608000

*/ inline void SetDuration(const char* value) { m_durationHasBeenSet = true; m_duration.assign(value); } /** *

Duration filter value, specified in years or seconds. Use this parameter to * show only reservations for a given duration.

Valid Values: 1 | 3 | * 31536000 | 94608000

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithDuration(const Aws::String& value) { SetDuration(value); return *this;} /** *

Duration filter value, specified in years or seconds. Use this parameter to * show only reservations for a given duration.

Valid Values: 1 | 3 | * 31536000 | 94608000

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithDuration(Aws::String&& value) { SetDuration(std::move(value)); return *this;} /** *

Duration filter value, specified in years or seconds. Use this parameter to * show only reservations for a given duration.

Valid Values: 1 | 3 | * 31536000 | 94608000

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithDuration(const char* value) { SetDuration(value); return *this;} /** *

The product description filter value. Use this parameter to show only the * available offerings matching the specified product description.

*/ inline const Aws::String& GetProductDescription() const{ return m_productDescription; } /** *

The product description filter value. Use this parameter to show only the * available offerings matching the specified product description.

*/ inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; } /** *

The product description filter value. Use this parameter to show only the * available offerings matching the specified product description.

*/ inline void SetProductDescription(const Aws::String& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; } /** *

The product description filter value. Use this parameter to show only the * available offerings matching the specified product description.

*/ inline void SetProductDescription(Aws::String&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = std::move(value); } /** *

The product description filter value. Use this parameter to show only the * available offerings matching the specified product description.

*/ inline void SetProductDescription(const char* value) { m_productDescriptionHasBeenSet = true; m_productDescription.assign(value); } /** *

The product description filter value. Use this parameter to show only the * available offerings matching the specified product description.

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithProductDescription(const Aws::String& value) { SetProductDescription(value); return *this;} /** *

The product description filter value. Use this parameter to show only the * available offerings matching the specified product description.

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithProductDescription(Aws::String&& value) { SetProductDescription(std::move(value)); return *this;} /** *

The product description filter value. Use this parameter to show only the * available offerings matching the specified product description.

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithProductDescription(const char* value) { SetProductDescription(value); return *this;} /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type.

Valid Values: * "Light Utilization"|"Medium Utilization"|"Heavy Utilization" |"All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline const Aws::String& GetOfferingType() const{ return m_offeringType; } /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type.

Valid Values: * "Light Utilization"|"Medium Utilization"|"Heavy Utilization" |"All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; } /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type.

Valid Values: * "Light Utilization"|"Medium Utilization"|"Heavy Utilization" |"All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline void SetOfferingType(const Aws::String& value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; } /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type.

Valid Values: * "Light Utilization"|"Medium Utilization"|"Heavy Utilization" |"All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline void SetOfferingType(Aws::String&& value) { m_offeringTypeHasBeenSet = true; m_offeringType = std::move(value); } /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type.

Valid Values: * "Light Utilization"|"Medium Utilization"|"Heavy Utilization" |"All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline void SetOfferingType(const char* value) { m_offeringTypeHasBeenSet = true; m_offeringType.assign(value); } /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type.

Valid Values: * "Light Utilization"|"Medium Utilization"|"Heavy Utilization" |"All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithOfferingType(const Aws::String& value) { SetOfferingType(value); return *this;} /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type.

Valid Values: * "Light Utilization"|"Medium Utilization"|"Heavy Utilization" |"All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithOfferingType(Aws::String&& value) { SetOfferingType(std::move(value)); return *this;} /** *

The offering type filter value. Use this parameter to show only the available * offerings matching the specified offering type.

Valid Values: * "Light Utilization"|"Medium Utilization"|"Heavy Utilization" |"All * Upfront"|"Partial Upfront"| "No Upfront"

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithOfferingType(const char* value) { SetOfferingType(value); return *this;} /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in * the response so that the remaining results can be retrieved.

Default: * 100

Constraints: minimum 20; maximum 100.

*/ inline int GetMaxRecords() const{ return m_maxRecords; } /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in * the response so that the remaining results can be retrieved.

Default: * 100

Constraints: minimum 20; maximum 100.

*/ inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; } /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in * the response so that the remaining results can be retrieved.

Default: * 100

Constraints: minimum 20; maximum 100.

*/ inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; } /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in * the response so that the remaining results can be retrieved.

Default: * 100

Constraints: minimum 20; maximum 100.

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;} /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline const Aws::String& GetMarker() const{ return m_marker; } /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline DescribeReservedCacheNodesOfferingsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} private: Aws::String m_reservedCacheNodesOfferingId; bool m_reservedCacheNodesOfferingIdHasBeenSet = false; Aws::String m_cacheNodeType; bool m_cacheNodeTypeHasBeenSet = false; Aws::String m_duration; bool m_durationHasBeenSet = false; Aws::String m_productDescription; bool m_productDescriptionHasBeenSet = false; Aws::String m_offeringType; bool m_offeringTypeHasBeenSet = false; int m_maxRecords; bool m_maxRecordsHasBeenSet = false; Aws::String m_marker; bool m_markerHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws