/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents the input of a CreateCacheCluster operation.See
* Also:
AWS
* API Reference
The node group (shard) identifier. This parameter is stored as a lowercase * string.
Constraints:
A name must contain from 1 * to 50 alphanumeric characters or hyphens.
The first character * must be a letter.
A name cannot end with a hyphen or contain * two consecutive hyphens.
The node group (shard) identifier. This parameter is stored as a lowercase * string.
Constraints:
A name must contain from 1 * to 50 alphanumeric characters or hyphens.
The first character * must be a letter.
A name cannot end with a hyphen or contain * two consecutive hyphens.
The node group (shard) identifier. This parameter is stored as a lowercase * string.
Constraints:
A name must contain from 1 * to 50 alphanumeric characters or hyphens.
The first character * must be a letter.
A name cannot end with a hyphen or contain * two consecutive hyphens.
The node group (shard) identifier. This parameter is stored as a lowercase * string.
Constraints:
A name must contain from 1 * to 50 alphanumeric characters or hyphens.
The first character * must be a letter.
A name cannot end with a hyphen or contain * two consecutive hyphens.
The node group (shard) identifier. This parameter is stored as a lowercase * string.
Constraints:
A name must contain from 1 * to 50 alphanumeric characters or hyphens.
The first character * must be a letter.
A name cannot end with a hyphen or contain * two consecutive hyphens.
The node group (shard) identifier. This parameter is stored as a lowercase * string.
Constraints:
A name must contain from 1 * to 50 alphanumeric characters or hyphens.
The first character * must be a letter.
A name cannot end with a hyphen or contain * two consecutive hyphens.
The node group (shard) identifier. This parameter is stored as a lowercase * string.
Constraints:
A name must contain from 1 * to 50 alphanumeric characters or hyphens.
The first character * must be a letter.
A name cannot end with a hyphen or contain * two consecutive hyphens.
The node group (shard) identifier. This parameter is stored as a lowercase * string.
Constraints:
A name must contain from 1 * to 50 alphanumeric characters or hyphens.
The first character * must be a letter.
A name cannot end with a hyphen or contain * two consecutive hyphens.
The ID of the replication group to which this cluster should belong. If this * parameter is specified, the cluster is added to the specified replication group * as a read replica; otherwise, the cluster is a standalone primary that is not * part of any replication group.
If the specified replication group is * Multi-AZ enabled and the Availability Zone is not specified, the cluster is * created in Availability Zones that provide the best spread of read replicas * across Availability Zones.
This parameter is only valid if the
* Engine parameter is redis.
The ID of the replication group to which this cluster should belong. If this * parameter is specified, the cluster is added to the specified replication group * as a read replica; otherwise, the cluster is a standalone primary that is not * part of any replication group.
If the specified replication group is * Multi-AZ enabled and the Availability Zone is not specified, the cluster is * created in Availability Zones that provide the best spread of read replicas * across Availability Zones.
This parameter is only valid if the
* Engine parameter is redis.
The ID of the replication group to which this cluster should belong. If this * parameter is specified, the cluster is added to the specified replication group * as a read replica; otherwise, the cluster is a standalone primary that is not * part of any replication group.
If the specified replication group is * Multi-AZ enabled and the Availability Zone is not specified, the cluster is * created in Availability Zones that provide the best spread of read replicas * across Availability Zones.
This parameter is only valid if the
* Engine parameter is redis.
The ID of the replication group to which this cluster should belong. If this * parameter is specified, the cluster is added to the specified replication group * as a read replica; otherwise, the cluster is a standalone primary that is not * part of any replication group.
If the specified replication group is * Multi-AZ enabled and the Availability Zone is not specified, the cluster is * created in Availability Zones that provide the best spread of read replicas * across Availability Zones.
This parameter is only valid if the
* Engine parameter is redis.
The ID of the replication group to which this cluster should belong. If this * parameter is specified, the cluster is added to the specified replication group * as a read replica; otherwise, the cluster is a standalone primary that is not * part of any replication group.
If the specified replication group is * Multi-AZ enabled and the Availability Zone is not specified, the cluster is * created in Availability Zones that provide the best spread of read replicas * across Availability Zones.
This parameter is only valid if the
* Engine parameter is redis.
The ID of the replication group to which this cluster should belong. If this * parameter is specified, the cluster is added to the specified replication group * as a read replica; otherwise, the cluster is a standalone primary that is not * part of any replication group.
If the specified replication group is * Multi-AZ enabled and the Availability Zone is not specified, the cluster is * created in Availability Zones that provide the best spread of read replicas * across Availability Zones.
This parameter is only valid if the
* Engine parameter is redis.
The ID of the replication group to which this cluster should belong. If this * parameter is specified, the cluster is added to the specified replication group * as a read replica; otherwise, the cluster is a standalone primary that is not * part of any replication group.
If the specified replication group is * Multi-AZ enabled and the Availability Zone is not specified, the cluster is * created in Availability Zones that provide the best spread of read replicas * across Availability Zones.
This parameter is only valid if the
* Engine parameter is redis.
The ID of the replication group to which this cluster should belong. If this * parameter is specified, the cluster is added to the specified replication group * as a read replica; otherwise, the cluster is a standalone primary that is not * part of any replication group.
If the specified replication group is * Multi-AZ enabled and the Availability Zone is not specified, the cluster is * created in Availability Zones that provide the best spread of read replicas * across Availability Zones.
This parameter is only valid if the
* Engine parameter is redis.
Specifies whether the nodes in this Memcached cluster are created in a single * Availability Zone or created across multiple Availability Zones in the cluster's * region.
This parameter is only supported for Memcached clusters.
*If the AZMode and PreferredAvailabilityZones are
* not specified, ElastiCache assumes single-az mode.
Specifies whether the nodes in this Memcached cluster are created in a single * Availability Zone or created across multiple Availability Zones in the cluster's * region.
This parameter is only supported for Memcached clusters.
*If the AZMode and PreferredAvailabilityZones are
* not specified, ElastiCache assumes single-az mode.
Specifies whether the nodes in this Memcached cluster are created in a single * Availability Zone or created across multiple Availability Zones in the cluster's * region.
This parameter is only supported for Memcached clusters.
*If the AZMode and PreferredAvailabilityZones are
* not specified, ElastiCache assumes single-az mode.
Specifies whether the nodes in this Memcached cluster are created in a single * Availability Zone or created across multiple Availability Zones in the cluster's * region.
This parameter is only supported for Memcached clusters.
*If the AZMode and PreferredAvailabilityZones are
* not specified, ElastiCache assumes single-az mode.
Specifies whether the nodes in this Memcached cluster are created in a single * Availability Zone or created across multiple Availability Zones in the cluster's * region.
This parameter is only supported for Memcached clusters.
*If the AZMode and PreferredAvailabilityZones are
* not specified, ElastiCache assumes single-az mode.
Specifies whether the nodes in this Memcached cluster are created in a single * Availability Zone or created across multiple Availability Zones in the cluster's * region.
This parameter is only supported for Memcached clusters.
*If the AZMode and PreferredAvailabilityZones are
* not specified, ElastiCache assumes single-az mode.
The EC2 Availability Zone in which the cluster is created.
All nodes
* belonging to this cluster are placed in the preferred Availability Zone. If you
* want to create your nodes across multiple Availability Zones, use
* PreferredAvailabilityZones.
Default: System chosen * Availability Zone.
*/ inline const Aws::String& GetPreferredAvailabilityZone() const{ return m_preferredAvailabilityZone; } /** *The EC2 Availability Zone in which the cluster is created.
All nodes
* belonging to this cluster are placed in the preferred Availability Zone. If you
* want to create your nodes across multiple Availability Zones, use
* PreferredAvailabilityZones.
Default: System chosen * Availability Zone.
*/ inline bool PreferredAvailabilityZoneHasBeenSet() const { return m_preferredAvailabilityZoneHasBeenSet; } /** *The EC2 Availability Zone in which the cluster is created.
All nodes
* belonging to this cluster are placed in the preferred Availability Zone. If you
* want to create your nodes across multiple Availability Zones, use
* PreferredAvailabilityZones.
Default: System chosen * Availability Zone.
*/ inline void SetPreferredAvailabilityZone(const Aws::String& value) { m_preferredAvailabilityZoneHasBeenSet = true; m_preferredAvailabilityZone = value; } /** *The EC2 Availability Zone in which the cluster is created.
All nodes
* belonging to this cluster are placed in the preferred Availability Zone. If you
* want to create your nodes across multiple Availability Zones, use
* PreferredAvailabilityZones.
Default: System chosen * Availability Zone.
*/ inline void SetPreferredAvailabilityZone(Aws::String&& value) { m_preferredAvailabilityZoneHasBeenSet = true; m_preferredAvailabilityZone = std::move(value); } /** *The EC2 Availability Zone in which the cluster is created.
All nodes
* belonging to this cluster are placed in the preferred Availability Zone. If you
* want to create your nodes across multiple Availability Zones, use
* PreferredAvailabilityZones.
Default: System chosen * Availability Zone.
*/ inline void SetPreferredAvailabilityZone(const char* value) { m_preferredAvailabilityZoneHasBeenSet = true; m_preferredAvailabilityZone.assign(value); } /** *The EC2 Availability Zone in which the cluster is created.
All nodes
* belonging to this cluster are placed in the preferred Availability Zone. If you
* want to create your nodes across multiple Availability Zones, use
* PreferredAvailabilityZones.
Default: System chosen * Availability Zone.
*/ inline CreateCacheClusterRequest& WithPreferredAvailabilityZone(const Aws::String& value) { SetPreferredAvailabilityZone(value); return *this;} /** *The EC2 Availability Zone in which the cluster is created.
All nodes
* belonging to this cluster are placed in the preferred Availability Zone. If you
* want to create your nodes across multiple Availability Zones, use
* PreferredAvailabilityZones.
Default: System chosen * Availability Zone.
*/ inline CreateCacheClusterRequest& WithPreferredAvailabilityZone(Aws::String&& value) { SetPreferredAvailabilityZone(std::move(value)); return *this;} /** *The EC2 Availability Zone in which the cluster is created.
All nodes
* belonging to this cluster are placed in the preferred Availability Zone. If you
* want to create your nodes across multiple Availability Zones, use
* PreferredAvailabilityZones.
Default: System chosen * Availability Zone.
*/ inline CreateCacheClusterRequest& WithPreferredAvailabilityZone(const char* value) { SetPreferredAvailabilityZone(value); return *this;} /** *A list of the Availability Zones in which cache nodes are created. The order * of the zones in the list is not important.
This option is only supported * on Memcached.
If you are creating your cluster in an Amazon VPC * (recommended) you can only locate nodes in Availability Zones that are * associated with the subnets in the selected subnet group.
The number of
* Availability Zones listed must equal the value of
* NumCacheNodes.
If you want all the nodes in the same
* Availability Zone, use PreferredAvailabilityZone instead, or repeat
* the Availability Zone multiple times in the list.
Default: System chosen * Availability Zones.
*/ inline const Aws::VectorA list of the Availability Zones in which cache nodes are created. The order * of the zones in the list is not important.
This option is only supported * on Memcached.
If you are creating your cluster in an Amazon VPC * (recommended) you can only locate nodes in Availability Zones that are * associated with the subnets in the selected subnet group.
The number of
* Availability Zones listed must equal the value of
* NumCacheNodes.
If you want all the nodes in the same
* Availability Zone, use PreferredAvailabilityZone instead, or repeat
* the Availability Zone multiple times in the list.
Default: System chosen * Availability Zones.
*/ inline bool PreferredAvailabilityZonesHasBeenSet() const { return m_preferredAvailabilityZonesHasBeenSet; } /** *A list of the Availability Zones in which cache nodes are created. The order * of the zones in the list is not important.
This option is only supported * on Memcached.
If you are creating your cluster in an Amazon VPC * (recommended) you can only locate nodes in Availability Zones that are * associated with the subnets in the selected subnet group.
The number of
* Availability Zones listed must equal the value of
* NumCacheNodes.
If you want all the nodes in the same
* Availability Zone, use PreferredAvailabilityZone instead, or repeat
* the Availability Zone multiple times in the list.
Default: System chosen * Availability Zones.
*/ inline void SetPreferredAvailabilityZones(const Aws::VectorA list of the Availability Zones in which cache nodes are created. The order * of the zones in the list is not important.
This option is only supported * on Memcached.
If you are creating your cluster in an Amazon VPC * (recommended) you can only locate nodes in Availability Zones that are * associated with the subnets in the selected subnet group.
The number of
* Availability Zones listed must equal the value of
* NumCacheNodes.
If you want all the nodes in the same
* Availability Zone, use PreferredAvailabilityZone instead, or repeat
* the Availability Zone multiple times in the list.
Default: System chosen * Availability Zones.
*/ inline void SetPreferredAvailabilityZones(Aws::VectorA list of the Availability Zones in which cache nodes are created. The order * of the zones in the list is not important.
This option is only supported * on Memcached.
If you are creating your cluster in an Amazon VPC * (recommended) you can only locate nodes in Availability Zones that are * associated with the subnets in the selected subnet group.
The number of
* Availability Zones listed must equal the value of
* NumCacheNodes.
If you want all the nodes in the same
* Availability Zone, use PreferredAvailabilityZone instead, or repeat
* the Availability Zone multiple times in the list.
Default: System chosen * Availability Zones.
*/ inline CreateCacheClusterRequest& WithPreferredAvailabilityZones(const Aws::VectorA list of the Availability Zones in which cache nodes are created. The order * of the zones in the list is not important.
This option is only supported * on Memcached.
If you are creating your cluster in an Amazon VPC * (recommended) you can only locate nodes in Availability Zones that are * associated with the subnets in the selected subnet group.
The number of
* Availability Zones listed must equal the value of
* NumCacheNodes.
If you want all the nodes in the same
* Availability Zone, use PreferredAvailabilityZone instead, or repeat
* the Availability Zone multiple times in the list.
Default: System chosen * Availability Zones.
*/ inline CreateCacheClusterRequest& WithPreferredAvailabilityZones(Aws::VectorA list of the Availability Zones in which cache nodes are created. The order * of the zones in the list is not important.
This option is only supported * on Memcached.
If you are creating your cluster in an Amazon VPC * (recommended) you can only locate nodes in Availability Zones that are * associated with the subnets in the selected subnet group.
The number of
* Availability Zones listed must equal the value of
* NumCacheNodes.
If you want all the nodes in the same
* Availability Zone, use PreferredAvailabilityZone instead, or repeat
* the Availability Zone multiple times in the list.
Default: System chosen * Availability Zones.
*/ inline CreateCacheClusterRequest& AddPreferredAvailabilityZones(const Aws::String& value) { m_preferredAvailabilityZonesHasBeenSet = true; m_preferredAvailabilityZones.push_back(value); return *this; } /** *A list of the Availability Zones in which cache nodes are created. The order * of the zones in the list is not important.
This option is only supported * on Memcached.
If you are creating your cluster in an Amazon VPC * (recommended) you can only locate nodes in Availability Zones that are * associated with the subnets in the selected subnet group.
The number of
* Availability Zones listed must equal the value of
* NumCacheNodes.
If you want all the nodes in the same
* Availability Zone, use PreferredAvailabilityZone instead, or repeat
* the Availability Zone multiple times in the list.
Default: System chosen * Availability Zones.
*/ inline CreateCacheClusterRequest& AddPreferredAvailabilityZones(Aws::String&& value) { m_preferredAvailabilityZonesHasBeenSet = true; m_preferredAvailabilityZones.push_back(std::move(value)); return *this; } /** *A list of the Availability Zones in which cache nodes are created. The order * of the zones in the list is not important.
This option is only supported * on Memcached.
If you are creating your cluster in an Amazon VPC * (recommended) you can only locate nodes in Availability Zones that are * associated with the subnets in the selected subnet group.
The number of
* Availability Zones listed must equal the value of
* NumCacheNodes.
If you want all the nodes in the same
* Availability Zone, use PreferredAvailabilityZone instead, or repeat
* the Availability Zone multiple times in the list.
Default: System chosen * Availability Zones.
*/ inline CreateCacheClusterRequest& AddPreferredAvailabilityZones(const char* value) { m_preferredAvailabilityZonesHasBeenSet = true; m_preferredAvailabilityZones.push_back(value); return *this; } /** *The initial number of cache nodes that the cluster has.
For clusters * running Redis, this value must be 1. For clusters running Memcached, this value * must be between 1 and 20.
If you need more than 20 nodes for your * Memcached cluster, please fill out the ElastiCache Limit Increase Request form * at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.
*/ inline int GetNumCacheNodes() const{ return m_numCacheNodes; } /** *The initial number of cache nodes that the cluster has.
For clusters * running Redis, this value must be 1. For clusters running Memcached, this value * must be between 1 and 20.
If you need more than 20 nodes for your * Memcached cluster, please fill out the ElastiCache Limit Increase Request form * at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.
*/ inline bool NumCacheNodesHasBeenSet() const { return m_numCacheNodesHasBeenSet; } /** *The initial number of cache nodes that the cluster has.
For clusters * running Redis, this value must be 1. For clusters running Memcached, this value * must be between 1 and 20.
If you need more than 20 nodes for your * Memcached cluster, please fill out the ElastiCache Limit Increase Request form * at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.
*/ inline void SetNumCacheNodes(int value) { m_numCacheNodesHasBeenSet = true; m_numCacheNodes = value; } /** *The initial number of cache nodes that the cluster has.
For clusters * running Redis, this value must be 1. For clusters running Memcached, this value * must be between 1 and 20.
If you need more than 20 nodes for your * Memcached cluster, please fill out the ElastiCache Limit Increase Request form * at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.
*/ inline CreateCacheClusterRequest& WithNumCacheNodes(int value) { SetNumCacheNodes(value); return *this;} /** *The compute and memory capacity of the nodes in the node group (shard).
*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:
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
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)
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)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation: *
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)
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.
The compute and memory capacity of the nodes in the node group (shard).
*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:
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
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)
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)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation: *
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)
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.
The compute and memory capacity of the nodes in the node group (shard).
*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:
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
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)
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)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation: *
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)
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.
The compute and memory capacity of the nodes in the node group (shard).
*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:
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
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)
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)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation: *
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)
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.
The compute and memory capacity of the nodes in the node group (shard).
*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:
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
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)
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)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation: *
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)
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.
The compute and memory capacity of the nodes in the node group (shard).
*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:
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
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)
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)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation: *
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)
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.
The compute and memory capacity of the nodes in the node group (shard).
*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:
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
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)
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)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation: *
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)
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.
The compute and memory capacity of the nodes in the node group (shard).
*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:
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
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)
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)
C1 node types: cache.c1.xlarge
Memory optimized:
Current generation: *
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)
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.
The name of the cache engine to be used for this cluster.
Valid values
* for this parameter are: memcached | redis
The name of the cache engine to be used for this cluster.
Valid values
* for this parameter are: memcached | redis
The name of the cache engine to be used for this cluster.
Valid values
* for this parameter are: memcached | redis
The name of the cache engine to be used for this cluster.
Valid values
* for this parameter are: memcached | redis
The name of the cache engine to be used for this cluster.
Valid values
* for this parameter are: memcached | redis
The name of the cache engine to be used for this cluster.
Valid values
* for this parameter are: memcached | redis
The name of the cache engine to be used for this cluster.
Valid values
* for this parameter are: memcached | redis
The name of the cache engine to be used for this cluster.
Valid values
* for this parameter are: memcached | redis
The version number of the cache engine to be used for this cluster. To view * the supported cache engine versions, use the DescribeCacheEngineVersions * operation.
Important: You can upgrade to a newer engine version * (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster or replication group and create it anew with the earlier engine * version.
*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *The version number of the cache engine to be used for this cluster. To view * the supported cache engine versions, use the DescribeCacheEngineVersions * operation.
Important: You can upgrade to a newer engine version * (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster or replication group and create it anew with the earlier engine * version.
*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *The version number of the cache engine to be used for this cluster. To view * the supported cache engine versions, use the DescribeCacheEngineVersions * operation.
Important: You can upgrade to a newer engine version * (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster or replication group and create it anew with the earlier engine * version.
*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *The version number of the cache engine to be used for this cluster. To view * the supported cache engine versions, use the DescribeCacheEngineVersions * operation.
Important: You can upgrade to a newer engine version * (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster or replication group and create it anew with the earlier engine * version.
*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *The version number of the cache engine to be used for this cluster. To view * the supported cache engine versions, use the DescribeCacheEngineVersions * operation.
Important: You can upgrade to a newer engine version * (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster or replication group and create it anew with the earlier engine * version.
*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *The version number of the cache engine to be used for this cluster. To view * the supported cache engine versions, use the DescribeCacheEngineVersions * operation.
Important: You can upgrade to a newer engine version * (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster or replication group and create it anew with the earlier engine * version.
*/ inline CreateCacheClusterRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *The version number of the cache engine to be used for this cluster. To view * the supported cache engine versions, use the DescribeCacheEngineVersions * operation.
Important: You can upgrade to a newer engine version * (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster or replication group and create it anew with the earlier engine * version.
*/ inline CreateCacheClusterRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *The version number of the cache engine to be used for this cluster. To view * the supported cache engine versions, use the DescribeCacheEngineVersions * operation.
Important: You can upgrade to a newer engine version * (see Selecting * a Cache Engine and Version), but you cannot downgrade to an earlier engine * version. If you want to use an earlier engine version, you must delete the * existing cluster or replication group and create it anew with the earlier engine * version.
*/ inline CreateCacheClusterRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *The name of the parameter group to associate with this cluster. If this
* argument is omitted, the default parameter group for the specified engine is
* used. You cannot use any parameter group which has
* cluster-enabled='yes' when creating a cluster.
The name of the parameter group to associate with this cluster. If this
* argument is omitted, the default parameter group for the specified engine is
* used. You cannot use any parameter group which has
* cluster-enabled='yes' when creating a cluster.
The name of the parameter group to associate with this cluster. If this
* argument is omitted, the default parameter group for the specified engine is
* used. You cannot use any parameter group which has
* cluster-enabled='yes' when creating a cluster.
The name of the parameter group to associate with this cluster. If this
* argument is omitted, the default parameter group for the specified engine is
* used. You cannot use any parameter group which has
* cluster-enabled='yes' when creating a cluster.
The name of the parameter group to associate with this cluster. If this
* argument is omitted, the default parameter group for the specified engine is
* used. You cannot use any parameter group which has
* cluster-enabled='yes' when creating a cluster.
The name of the parameter group to associate with this cluster. If this
* argument is omitted, the default parameter group for the specified engine is
* used. You cannot use any parameter group which has
* cluster-enabled='yes' when creating a cluster.
The name of the parameter group to associate with this cluster. If this
* argument is omitted, the default parameter group for the specified engine is
* used. You cannot use any parameter group which has
* cluster-enabled='yes' when creating a cluster.
The name of the parameter group to associate with this cluster. If this
* argument is omitted, the default parameter group for the specified engine is
* used. You cannot use any parameter group which has
* cluster-enabled='yes' when creating a cluster.
The name of the subnet group to be used for the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
If you're going to launch your cluster in * an Amazon VPC, you need to create a subnet group before you start creating a * cluster. For more information, see Subnets * and Subnet Groups.
*/ inline const Aws::String& GetCacheSubnetGroupName() const{ return m_cacheSubnetGroupName; } /** *The name of the subnet group to be used for the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
If you're going to launch your cluster in * an Amazon VPC, you need to create a subnet group before you start creating a * cluster. For more information, see Subnets * and Subnet Groups.
*/ inline bool CacheSubnetGroupNameHasBeenSet() const { return m_cacheSubnetGroupNameHasBeenSet; } /** *The name of the subnet group to be used for the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
If you're going to launch your cluster in * an Amazon VPC, you need to create a subnet group before you start creating a * cluster. For more information, see Subnets * and Subnet Groups.
*/ inline void SetCacheSubnetGroupName(const Aws::String& value) { m_cacheSubnetGroupNameHasBeenSet = true; m_cacheSubnetGroupName = value; } /** *The name of the subnet group to be used for the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
If you're going to launch your cluster in * an Amazon VPC, you need to create a subnet group before you start creating a * cluster. For more information, see Subnets * and Subnet Groups.
*/ inline void SetCacheSubnetGroupName(Aws::String&& value) { m_cacheSubnetGroupNameHasBeenSet = true; m_cacheSubnetGroupName = std::move(value); } /** *The name of the subnet group to be used for the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
If you're going to launch your cluster in * an Amazon VPC, you need to create a subnet group before you start creating a * cluster. For more information, see Subnets * and Subnet Groups.
*/ inline void SetCacheSubnetGroupName(const char* value) { m_cacheSubnetGroupNameHasBeenSet = true; m_cacheSubnetGroupName.assign(value); } /** *The name of the subnet group to be used for the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
If you're going to launch your cluster in * an Amazon VPC, you need to create a subnet group before you start creating a * cluster. For more information, see Subnets * and Subnet Groups.
*/ inline CreateCacheClusterRequest& WithCacheSubnetGroupName(const Aws::String& value) { SetCacheSubnetGroupName(value); return *this;} /** *The name of the subnet group to be used for the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
If you're going to launch your cluster in * an Amazon VPC, you need to create a subnet group before you start creating a * cluster. For more information, see Subnets * and Subnet Groups.
*/ inline CreateCacheClusterRequest& WithCacheSubnetGroupName(Aws::String&& value) { SetCacheSubnetGroupName(std::move(value)); return *this;} /** *The name of the subnet group to be used for the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
If you're going to launch your cluster in * an Amazon VPC, you need to create a subnet group before you start creating a * cluster. For more information, see Subnets * and Subnet Groups.
*/ inline CreateCacheClusterRequest& WithCacheSubnetGroupName(const char* value) { SetCacheSubnetGroupName(value); return *this;} /** *A list of security group names to associate with this cluster.
Use * this parameter only when you are creating a cluster outside of an Amazon Virtual * Private Cloud (Amazon VPC).
*/ inline const Aws::VectorA list of security group names to associate with this cluster.
Use * this parameter only when you are creating a cluster outside of an Amazon Virtual * Private Cloud (Amazon VPC).
*/ inline bool CacheSecurityGroupNamesHasBeenSet() const { return m_cacheSecurityGroupNamesHasBeenSet; } /** *A list of security group names to associate with this cluster.
Use * this parameter only when you are creating a cluster outside of an Amazon Virtual * Private Cloud (Amazon VPC).
*/ inline void SetCacheSecurityGroupNames(const Aws::VectorA list of security group names to associate with this cluster.
Use * this parameter only when you are creating a cluster outside of an Amazon Virtual * Private Cloud (Amazon VPC).
*/ inline void SetCacheSecurityGroupNames(Aws::VectorA list of security group names to associate with this cluster.
Use * this parameter only when you are creating a cluster outside of an Amazon Virtual * Private Cloud (Amazon VPC).
*/ inline CreateCacheClusterRequest& WithCacheSecurityGroupNames(const Aws::VectorA list of security group names to associate with this cluster.
Use * this parameter only when you are creating a cluster outside of an Amazon Virtual * Private Cloud (Amazon VPC).
*/ inline CreateCacheClusterRequest& WithCacheSecurityGroupNames(Aws::VectorA list of security group names to associate with this cluster.
Use * this parameter only when you are creating a cluster outside of an Amazon Virtual * Private Cloud (Amazon VPC).
*/ inline CreateCacheClusterRequest& AddCacheSecurityGroupNames(const Aws::String& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(value); return *this; } /** *A list of security group names to associate with this cluster.
Use * this parameter only when you are creating a cluster outside of an Amazon Virtual * Private Cloud (Amazon VPC).
*/ inline CreateCacheClusterRequest& AddCacheSecurityGroupNames(Aws::String&& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(std::move(value)); return *this; } /** *A list of security group names to associate with this cluster.
Use * this parameter only when you are creating a cluster outside of an Amazon Virtual * Private Cloud (Amazon VPC).
*/ inline CreateCacheClusterRequest& AddCacheSecurityGroupNames(const char* value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(value); return *this; } /** *One or more VPC security groups associated with the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
*/ inline const Aws::VectorOne or more VPC security groups associated with the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
*/ inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } /** *One or more VPC security groups associated with the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
*/ inline void SetSecurityGroupIds(const Aws::VectorOne or more VPC security groups associated with the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
*/ inline void SetSecurityGroupIds(Aws::VectorOne or more VPC security groups associated with the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
*/ inline CreateCacheClusterRequest& WithSecurityGroupIds(const Aws::VectorOne or more VPC security groups associated with the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
*/ inline CreateCacheClusterRequest& WithSecurityGroupIds(Aws::VectorOne or more VPC security groups associated with the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
*/ inline CreateCacheClusterRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *One or more VPC security groups associated with the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
*/ inline CreateCacheClusterRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } /** *One or more VPC security groups associated with the cluster.
Use this * parameter only when you are creating a cluster in an Amazon Virtual Private * Cloud (Amazon VPC).
*/ inline CreateCacheClusterRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *A list of cost allocation tags to be added to this resource.
*/ inline const Aws::VectorA list of cost allocation tags to be added to this resource.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *A list of cost allocation tags to be added to this resource.
*/ inline void SetTags(const Aws::VectorA list of cost allocation tags to be added to this resource.
*/ inline void SetTags(Aws::VectorA list of cost allocation tags to be added to this resource.
*/ inline CreateCacheClusterRequest& WithTags(const Aws::VectorA list of cost allocation tags to be added to this resource.
*/ inline CreateCacheClusterRequest& WithTags(Aws::VectorA list of cost allocation tags to be added to this resource.
*/ inline CreateCacheClusterRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *A list of cost allocation tags to be added to this resource.
*/ inline CreateCacheClusterRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *A single-element string list containing an Amazon Resource Name (ARN) that * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot * file is used to populate the node group (shard). The Amazon S3 object name in * the ARN cannot contain any commas.
This parameter is only valid if
* the Engine parameter is redis.
Example
* of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
A single-element string list containing an Amazon Resource Name (ARN) that * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot * file is used to populate the node group (shard). The Amazon S3 object name in * the ARN cannot contain any commas.
This parameter is only valid if
* the Engine parameter is redis.
Example
* of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
A single-element string list containing an Amazon Resource Name (ARN) that * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot * file is used to populate the node group (shard). The Amazon S3 object name in * the ARN cannot contain any commas.
This parameter is only valid if
* the Engine parameter is redis.
Example
* of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
A single-element string list containing an Amazon Resource Name (ARN) that * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot * file is used to populate the node group (shard). The Amazon S3 object name in * the ARN cannot contain any commas.
This parameter is only valid if
* the Engine parameter is redis.
Example
* of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
A single-element string list containing an Amazon Resource Name (ARN) that * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot * file is used to populate the node group (shard). The Amazon S3 object name in * the ARN cannot contain any commas.
This parameter is only valid if
* the Engine parameter is redis.
Example
* of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
A single-element string list containing an Amazon Resource Name (ARN) that * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot * file is used to populate the node group (shard). The Amazon S3 object name in * the ARN cannot contain any commas.
This parameter is only valid if
* the Engine parameter is redis.
Example
* of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
A single-element string list containing an Amazon Resource Name (ARN) that * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot * file is used to populate the node group (shard). The Amazon S3 object name in * the ARN cannot contain any commas.
This parameter is only valid if
* the Engine parameter is redis.
Example
* of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
A single-element string list containing an Amazon Resource Name (ARN) that * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot * file is used to populate the node group (shard). The Amazon S3 object name in * the ARN cannot contain any commas.
This parameter is only valid if
* the Engine parameter is redis.
Example
* of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
A single-element string list containing an Amazon Resource Name (ARN) that * uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot * file is used to populate the node group (shard). The Amazon S3 object name in * the ARN cannot contain any commas.
This parameter is only valid if
* the Engine parameter is redis.
Example
* of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
The name of a Redis snapshot from which to restore data into the new node
* group (shard). The snapshot status changes to restoring while the
* new node group (shard) is being created.
This parameter is only
* valid if the Engine parameter is redis.
The name of a Redis snapshot from which to restore data into the new node
* group (shard). The snapshot status changes to restoring while the
* new node group (shard) is being created.
This parameter is only
* valid if the Engine parameter is redis.
The name of a Redis snapshot from which to restore data into the new node
* group (shard). The snapshot status changes to restoring while the
* new node group (shard) is being created.
This parameter is only
* valid if the Engine parameter is redis.
The name of a Redis snapshot from which to restore data into the new node
* group (shard). The snapshot status changes to restoring while the
* new node group (shard) is being created.
This parameter is only
* valid if the Engine parameter is redis.
The name of a Redis snapshot from which to restore data into the new node
* group (shard). The snapshot status changes to restoring while the
* new node group (shard) is being created.
This parameter is only
* valid if the Engine parameter is redis.
The name of a Redis snapshot from which to restore data into the new node
* group (shard). The snapshot status changes to restoring while the
* new node group (shard) is being created.
This parameter is only
* valid if the Engine parameter is redis.
The name of a Redis snapshot from which to restore data into the new node
* group (shard). The snapshot status changes to restoring while the
* new node group (shard) is being created.
This parameter is only
* valid if the Engine parameter is redis.
The name of a Redis snapshot from which to restore data into the new node
* group (shard). The snapshot status changes to restoring while the
* new node group (shard) is being created.
This parameter is only
* valid if the Engine parameter is redis.
Specifies the weekly time range during which maintenance on the cluster is
* performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H
* Clock UTC). The minimum maintenance window is a 60 minute period. Valid values
* for ddd are:
Specifies the weekly time range during which * maintenance on the cluster is performed. It is specified as a range in the * format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window * is a 60 minute period.
Valid values for ddd are:
sun
mon
tue
wed
* thu
fri
* sat
Example: sun:23:00-mon:01:30
*
Specifies the weekly time range during which maintenance on the cluster is
* performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H
* Clock UTC). The minimum maintenance window is a 60 minute period. Valid values
* for ddd are:
Specifies the weekly time range during which * maintenance on the cluster is performed. It is specified as a range in the * format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window * is a 60 minute period.
Valid values for ddd are:
sun
mon
tue
wed
* thu
fri
* sat
Example: sun:23:00-mon:01:30
*
Specifies the weekly time range during which maintenance on the cluster is
* performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H
* Clock UTC). The minimum maintenance window is a 60 minute period. Valid values
* for ddd are:
Specifies the weekly time range during which * maintenance on the cluster is performed. It is specified as a range in the * format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window * is a 60 minute period.
Valid values for ddd are:
sun
mon
tue
wed
* thu
fri
* sat
Example: sun:23:00-mon:01:30
*
Specifies the weekly time range during which maintenance on the cluster is
* performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H
* Clock UTC). The minimum maintenance window is a 60 minute period. Valid values
* for ddd are:
Specifies the weekly time range during which * maintenance on the cluster is performed. It is specified as a range in the * format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window * is a 60 minute period.
Valid values for ddd are:
sun
mon
tue
wed
* thu
fri
* sat
Example: sun:23:00-mon:01:30
*
Specifies the weekly time range during which maintenance on the cluster is
* performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H
* Clock UTC). The minimum maintenance window is a 60 minute period. Valid values
* for ddd are:
Specifies the weekly time range during which * maintenance on the cluster is performed. It is specified as a range in the * format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window * is a 60 minute period.
Valid values for ddd are:
sun
mon
tue
wed
* thu
fri
* sat
Example: sun:23:00-mon:01:30
*
Specifies the weekly time range during which maintenance on the cluster is
* performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H
* Clock UTC). The minimum maintenance window is a 60 minute period. Valid values
* for ddd are:
Specifies the weekly time range during which * maintenance on the cluster is performed. It is specified as a range in the * format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window * is a 60 minute period.
Valid values for ddd are:
sun
mon
tue
wed
* thu
fri
* sat
Example: sun:23:00-mon:01:30
*
Specifies the weekly time range during which maintenance on the cluster is
* performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H
* Clock UTC). The minimum maintenance window is a 60 minute period. Valid values
* for ddd are:
Specifies the weekly time range during which * maintenance on the cluster is performed. It is specified as a range in the * format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window * is a 60 minute period.
Valid values for ddd are:
sun
mon
tue
wed
* thu
fri
* sat
Example: sun:23:00-mon:01:30
*
Specifies the weekly time range during which maintenance on the cluster is
* performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H
* Clock UTC). The minimum maintenance window is a 60 minute period. Valid values
* for ddd are:
Specifies the weekly time range during which * maintenance on the cluster is performed. It is specified as a range in the * format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window * is a 60 minute period.
Valid values for ddd are:
sun
mon
tue
wed
* thu
fri
* sat
Example: sun:23:00-mon:01:30
*
The port number on which each of the cache nodes accepts connections.
*/ inline int GetPort() const{ return m_port; } /** *The port number on which each of the cache nodes accepts connections.
*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *The port number on which each of the cache nodes accepts connections.
*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *The port number on which each of the cache nodes accepts connections.
*/ inline CreateCacheClusterRequest& WithPort(int value) { SetPort(value); return *this;} /** *The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * (SNS) topic to which notifications are sent.
The Amazon SNS topic * owner must be the same as the cluster owner.
*/ inline const Aws::String& GetNotificationTopicArn() const{ return m_notificationTopicArn; } /** *The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * (SNS) topic to which notifications are sent.
The Amazon SNS topic * owner must be the same as the cluster owner.
*/ inline bool NotificationTopicArnHasBeenSet() const { return m_notificationTopicArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * (SNS) topic to which notifications are sent.
The Amazon SNS topic * owner must be the same as the cluster owner.
*/ inline void SetNotificationTopicArn(const Aws::String& value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn = value; } /** *The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * (SNS) topic to which notifications are sent.
The Amazon SNS topic * owner must be the same as the cluster owner.
*/ inline void SetNotificationTopicArn(Aws::String&& value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * (SNS) topic to which notifications are sent.
The Amazon SNS topic * owner must be the same as the cluster owner.
*/ inline void SetNotificationTopicArn(const char* value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn.assign(value); } /** *The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * (SNS) topic to which notifications are sent.
The Amazon SNS topic * owner must be the same as the cluster owner.
*/ inline CreateCacheClusterRequest& WithNotificationTopicArn(const Aws::String& value) { SetNotificationTopicArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * (SNS) topic to which notifications are sent.
The Amazon SNS topic * owner must be the same as the cluster owner.
*/ inline CreateCacheClusterRequest& WithNotificationTopicArn(Aws::String&& value) { SetNotificationTopicArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * (SNS) topic to which notifications are sent.
The Amazon SNS topic * owner must be the same as the cluster owner.
*/ inline CreateCacheClusterRequest& WithNotificationTopicArn(const char* value) { SetNotificationTopicArn(value); return *this;} /** *This parameter is currently disabled.
*/ inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; } /** *This parameter is currently disabled.
*/ inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; } /** *This parameter is currently disabled.
*/ inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; } /** *This parameter is currently disabled.
*/ inline CreateCacheClusterRequest& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;} /** *The number of days for which ElastiCache retains automatic snapshots before
* deleting them. For example, if you set SnapshotRetentionLimit to 5,
* a snapshot taken today is retained for 5 days before being deleted.
This parameter is only valid if the Engine parameter is
* redis.
Default: 0 (i.e., automatic backups are * disabled for this cache cluster).
*/ inline int GetSnapshotRetentionLimit() const{ return m_snapshotRetentionLimit; } /** *The number of days for which ElastiCache retains automatic snapshots before
* deleting them. For example, if you set SnapshotRetentionLimit to 5,
* a snapshot taken today is retained for 5 days before being deleted.
This parameter is only valid if the Engine parameter is
* redis.
Default: 0 (i.e., automatic backups are * disabled for this cache cluster).
*/ inline bool SnapshotRetentionLimitHasBeenSet() const { return m_snapshotRetentionLimitHasBeenSet; } /** *The number of days for which ElastiCache retains automatic snapshots before
* deleting them. For example, if you set SnapshotRetentionLimit to 5,
* a snapshot taken today is retained for 5 days before being deleted.
This parameter is only valid if the Engine parameter is
* redis.
Default: 0 (i.e., automatic backups are * disabled for this cache cluster).
*/ inline void SetSnapshotRetentionLimit(int value) { m_snapshotRetentionLimitHasBeenSet = true; m_snapshotRetentionLimit = value; } /** *The number of days for which ElastiCache retains automatic snapshots before
* deleting them. For example, if you set SnapshotRetentionLimit to 5,
* a snapshot taken today is retained for 5 days before being deleted.
This parameter is only valid if the Engine parameter is
* redis.
Default: 0 (i.e., automatic backups are * disabled for this cache cluster).
*/ inline CreateCacheClusterRequest& WithSnapshotRetentionLimit(int value) { SetSnapshotRetentionLimit(value); return *this;} /** *The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your node group (shard).
Example: 05:00-09:00
*
If you do not specify this parameter, ElastiCache automatically chooses * an appropriate time range.
This parameter is only valid if the
* Engine parameter is redis.
The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your node group (shard).
Example: 05:00-09:00
*
If you do not specify this parameter, ElastiCache automatically chooses * an appropriate time range.
This parameter is only valid if the
* Engine parameter is redis.
The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your node group (shard).
Example: 05:00-09:00
*
If you do not specify this parameter, ElastiCache automatically chooses * an appropriate time range.
This parameter is only valid if the
* Engine parameter is redis.
The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your node group (shard).
Example: 05:00-09:00
*
If you do not specify this parameter, ElastiCache automatically chooses * an appropriate time range.
This parameter is only valid if the
* Engine parameter is redis.
The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your node group (shard).
Example: 05:00-09:00
*
If you do not specify this parameter, ElastiCache automatically chooses * an appropriate time range.
This parameter is only valid if the
* Engine parameter is redis.
The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your node group (shard).
Example: 05:00-09:00
*
If you do not specify this parameter, ElastiCache automatically chooses * an appropriate time range.
This parameter is only valid if the
* Engine parameter is redis.
The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your node group (shard).
Example: 05:00-09:00
*
If you do not specify this parameter, ElastiCache automatically chooses * an appropriate time range.
This parameter is only valid if the
* Engine parameter is redis.
The daily time range (in UTC) during which ElastiCache begins taking a daily * snapshot of your node group (shard).
Example: 05:00-09:00
*
If you do not specify this parameter, ElastiCache automatically chooses * an appropriate time range.
This parameter is only valid if the
* Engine parameter is redis.
Reserved parameter. The password used to access a password protected * server.
Password constraints:
Must be only printable * ASCII characters.
Must be at least 16 characters and no more * than 128 characters in length.
The only permitted printable * special characters are !, &, #, $, ^, <, >, and -. Other printable * special characters cannot be used in the AUTH token.
For more * information, see AUTH password at * http://redis.io/commands/AUTH.
*/ inline const Aws::String& GetAuthToken() const{ return m_authToken; } /** *Reserved parameter. The password used to access a password protected * server.
Password constraints:
Must be only printable * ASCII characters.
Must be at least 16 characters and no more * than 128 characters in length.
The only permitted printable * special characters are !, &, #, $, ^, <, >, and -. Other printable * special characters cannot be used in the AUTH token.
For more * information, see AUTH password at * http://redis.io/commands/AUTH.
*/ inline bool AuthTokenHasBeenSet() const { return m_authTokenHasBeenSet; } /** *Reserved parameter. The password used to access a password protected * server.
Password constraints:
Must be only printable * ASCII characters.
Must be at least 16 characters and no more * than 128 characters in length.
The only permitted printable * special characters are !, &, #, $, ^, <, >, and -. Other printable * special characters cannot be used in the AUTH token.
For more * information, see AUTH password at * http://redis.io/commands/AUTH.
*/ inline void SetAuthToken(const Aws::String& value) { m_authTokenHasBeenSet = true; m_authToken = value; } /** *Reserved parameter. The password used to access a password protected * server.
Password constraints:
Must be only printable * ASCII characters.
Must be at least 16 characters and no more * than 128 characters in length.
The only permitted printable * special characters are !, &, #, $, ^, <, >, and -. Other printable * special characters cannot be used in the AUTH token.
For more * information, see AUTH password at * http://redis.io/commands/AUTH.
*/ inline void SetAuthToken(Aws::String&& value) { m_authTokenHasBeenSet = true; m_authToken = std::move(value); } /** *Reserved parameter. The password used to access a password protected * server.
Password constraints:
Must be only printable * ASCII characters.
Must be at least 16 characters and no more * than 128 characters in length.
The only permitted printable * special characters are !, &, #, $, ^, <, >, and -. Other printable * special characters cannot be used in the AUTH token.
For more * information, see AUTH password at * http://redis.io/commands/AUTH.
*/ inline void SetAuthToken(const char* value) { m_authTokenHasBeenSet = true; m_authToken.assign(value); } /** *Reserved parameter. The password used to access a password protected * server.
Password constraints:
Must be only printable * ASCII characters.
Must be at least 16 characters and no more * than 128 characters in length.
The only permitted printable * special characters are !, &, #, $, ^, <, >, and -. Other printable * special characters cannot be used in the AUTH token.
For more * information, see AUTH password at * http://redis.io/commands/AUTH.
*/ inline CreateCacheClusterRequest& WithAuthToken(const Aws::String& value) { SetAuthToken(value); return *this;} /** *Reserved parameter. The password used to access a password protected * server.
Password constraints:
Must be only printable * ASCII characters.
Must be at least 16 characters and no more * than 128 characters in length.
The only permitted printable * special characters are !, &, #, $, ^, <, >, and -. Other printable * special characters cannot be used in the AUTH token.
For more * information, see AUTH password at * http://redis.io/commands/AUTH.
*/ inline CreateCacheClusterRequest& WithAuthToken(Aws::String&& value) { SetAuthToken(std::move(value)); return *this;} /** *Reserved parameter. The password used to access a password protected * server.
Password constraints:
Must be only printable * ASCII characters.
Must be at least 16 characters and no more * than 128 characters in length.
The only permitted printable * special characters are !, &, #, $, ^, <, >, and -. Other printable * special characters cannot be used in the AUTH token.
For more * information, see AUTH password at * http://redis.io/commands/AUTH.
*/ inline CreateCacheClusterRequest& WithAuthToken(const char* value) { SetAuthToken(value); return *this;} private: Aws::String m_cacheClusterId; bool m_cacheClusterIdHasBeenSet; Aws::String m_replicationGroupId; bool m_replicationGroupIdHasBeenSet; AZMode m_aZMode; bool m_aZModeHasBeenSet; Aws::String m_preferredAvailabilityZone; bool m_preferredAvailabilityZoneHasBeenSet; Aws::Vector