/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents an individual cache node within a cluster. Each cache node runs
* its own instance of the cluster's protocol-compliant caching software - either
* Memcached or Redis. 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): For region availability, see Supported
* Node Types M5 node types:
* M4
* node types: T4g node types (available only
* for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16
* onward): T3 node types:
* T2 node types:
* Previous generation: (not
* recommended. Existing clusters are still supported but creation of new clusters
* is not supported for these types.) T1 node types:
* M1 node types:
* M3 node
* types: 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:
* 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). For region availability, see Supported
* Node Types R5 node types:
* R4
* node types: Previous generation: (not recommended. Existing clusters are still supported
* but creation of new clusters is not supported for these types.) M2
* node types: R3 node types:
* 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
*
* cache.m6g.large
, cache.m6g.xlarge
,
* cache.m6g.2xlarge
, cache.m6g.4xlarge
,
* cache.m6g.8xlarge
, cache.m6g.12xlarge
,
* cache.m6g.16xlarge
cache.m5.large
, cache.m5.xlarge
,
* cache.m5.2xlarge
, cache.m5.4xlarge
,
* cache.m5.12xlarge
, cache.m5.24xlarge
cache.m4.large
, cache.m4.xlarge
,
* cache.m4.2xlarge
, cache.m4.4xlarge
,
* cache.m4.10xlarge
cache.t4g.micro
, cache.t4g.small
,
* cache.t4g.medium
cache.t3.micro
, cache.t3.small
,
* cache.t3.medium
cache.t2.micro
, cache.t2.small
,
* cache.t2.medium
cache.t1.micro
cache.m1.small
, cache.m1.medium
,
* cache.m1.large
, cache.m1.xlarge
cache.m3.medium
, cache.m3.large
,
* cache.m3.xlarge
, cache.m3.2xlarge
cache.c1.xlarge
cache.r6g.large
,
* cache.r6g.xlarge
, cache.r6g.2xlarge
,
* cache.r6g.4xlarge
, cache.r6g.8xlarge
,
* cache.r6g.12xlarge
, cache.r6g.16xlarge
cache.r5.large
, cache.r5.xlarge
,
* cache.r5.2xlarge
, cache.r5.4xlarge
,
* cache.r5.12xlarge
, cache.r5.24xlarge
cache.r4.large
, cache.r4.xlarge
,
* cache.r4.2xlarge
, cache.r4.4xlarge
,
* cache.r4.8xlarge
, cache.r4.16xlarge
cache.m2.xlarge
, cache.m2.2xlarge
,
* cache.m2.4xlarge
cache.r3.large
, cache.r3.xlarge
,
* cache.r3.2xlarge
, cache.r3.4xlarge
,
* cache.r3.8xlarge
appendonly
and
* appendfsync
are not supported on Redis version 2.8.22 and
* later.See Also:
AWS
* API Reference
The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies every cache * node used in a customer's Amazon account.
*/ inline const Aws::String& GetCacheNodeId() const{ return m_cacheNodeId; } /** *The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies every cache * node used in a customer's Amazon account.
*/ inline bool CacheNodeIdHasBeenSet() const { return m_cacheNodeIdHasBeenSet; } /** *The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies every cache * node used in a customer's Amazon account.
*/ inline void SetCacheNodeId(const Aws::String& value) { m_cacheNodeIdHasBeenSet = true; m_cacheNodeId = value; } /** *The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies every cache * node used in a customer's Amazon account.
*/ inline void SetCacheNodeId(Aws::String&& value) { m_cacheNodeIdHasBeenSet = true; m_cacheNodeId = std::move(value); } /** *The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies every cache * node used in a customer's Amazon account.
*/ inline void SetCacheNodeId(const char* value) { m_cacheNodeIdHasBeenSet = true; m_cacheNodeId.assign(value); } /** *The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies every cache * node used in a customer's Amazon account.
*/ inline CacheNode& WithCacheNodeId(const Aws::String& value) { SetCacheNodeId(value); return *this;} /** *The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies every cache * node used in a customer's Amazon account.
*/ inline CacheNode& WithCacheNodeId(Aws::String&& value) { SetCacheNodeId(std::move(value)); return *this;} /** *The cache node identifier. A node ID is a numeric identifier (0001, 0002, * etc.). The combination of cluster ID and node ID uniquely identifies every cache * node used in a customer's Amazon account.
*/ inline CacheNode& WithCacheNodeId(const char* value) { SetCacheNodeId(value); return *this;} /** *The current state of this cache node, one of the following values:
* available
, creating
, rebooting
, or
* deleting
.
The current state of this cache node, one of the following values:
* available
, creating
, rebooting
, or
* deleting
.
The current state of this cache node, one of the following values:
* available
, creating
, rebooting
, or
* deleting
.
The current state of this cache node, one of the following values:
* available
, creating
, rebooting
, or
* deleting
.
The current state of this cache node, one of the following values:
* available
, creating
, rebooting
, or
* deleting
.
The current state of this cache node, one of the following values:
* available
, creating
, rebooting
, or
* deleting
.
The current state of this cache node, one of the following values:
* available
, creating
, rebooting
, or
* deleting
.
The current state of this cache node, one of the following values:
* available
, creating
, rebooting
, or
* deleting
.
The date and time when the cache node was created.
*/ inline const Aws::Utils::DateTime& GetCacheNodeCreateTime() const{ return m_cacheNodeCreateTime; } /** *The date and time when the cache node was created.
*/ inline bool CacheNodeCreateTimeHasBeenSet() const { return m_cacheNodeCreateTimeHasBeenSet; } /** *The date and time when the cache node was created.
*/ inline void SetCacheNodeCreateTime(const Aws::Utils::DateTime& value) { m_cacheNodeCreateTimeHasBeenSet = true; m_cacheNodeCreateTime = value; } /** *The date and time when the cache node was created.
*/ inline void SetCacheNodeCreateTime(Aws::Utils::DateTime&& value) { m_cacheNodeCreateTimeHasBeenSet = true; m_cacheNodeCreateTime = std::move(value); } /** *The date and time when the cache node was created.
*/ inline CacheNode& WithCacheNodeCreateTime(const Aws::Utils::DateTime& value) { SetCacheNodeCreateTime(value); return *this;} /** *The date and time when the cache node was created.
*/ inline CacheNode& WithCacheNodeCreateTime(Aws::Utils::DateTime&& value) { SetCacheNodeCreateTime(std::move(value)); return *this;} /** *The hostname for connecting to this cache node.
*/ inline const Endpoint& GetEndpoint() const{ return m_endpoint; } /** *The hostname for connecting to this cache node.
*/ inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } /** *The hostname for connecting to this cache node.
*/ inline void SetEndpoint(const Endpoint& value) { m_endpointHasBeenSet = true; m_endpoint = value; } /** *The hostname for connecting to this cache node.
*/ inline void SetEndpoint(Endpoint&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); } /** *The hostname for connecting to this cache node.
*/ inline CacheNode& WithEndpoint(const Endpoint& value) { SetEndpoint(value); return *this;} /** *The hostname for connecting to this cache node.
*/ inline CacheNode& WithEndpoint(Endpoint&& value) { SetEndpoint(std::move(value)); return *this;} /** *The status of the parameter group applied to this cache node.
*/ inline const Aws::String& GetParameterGroupStatus() const{ return m_parameterGroupStatus; } /** *The status of the parameter group applied to this cache node.
*/ inline bool ParameterGroupStatusHasBeenSet() const { return m_parameterGroupStatusHasBeenSet; } /** *The status of the parameter group applied to this cache node.
*/ inline void SetParameterGroupStatus(const Aws::String& value) { m_parameterGroupStatusHasBeenSet = true; m_parameterGroupStatus = value; } /** *The status of the parameter group applied to this cache node.
*/ inline void SetParameterGroupStatus(Aws::String&& value) { m_parameterGroupStatusHasBeenSet = true; m_parameterGroupStatus = std::move(value); } /** *The status of the parameter group applied to this cache node.
*/ inline void SetParameterGroupStatus(const char* value) { m_parameterGroupStatusHasBeenSet = true; m_parameterGroupStatus.assign(value); } /** *The status of the parameter group applied to this cache node.
*/ inline CacheNode& WithParameterGroupStatus(const Aws::String& value) { SetParameterGroupStatus(value); return *this;} /** *The status of the parameter group applied to this cache node.
*/ inline CacheNode& WithParameterGroupStatus(Aws::String&& value) { SetParameterGroupStatus(std::move(value)); return *this;} /** *The status of the parameter group applied to this cache node.
*/ inline CacheNode& WithParameterGroupStatus(const char* value) { SetParameterGroupStatus(value); return *this;} /** *The ID of the primary node to which this read replica node is synchronized. * If this field is empty, this node is not associated with a primary cluster.
*/ inline const Aws::String& GetSourceCacheNodeId() const{ return m_sourceCacheNodeId; } /** *The ID of the primary node to which this read replica node is synchronized. * If this field is empty, this node is not associated with a primary cluster.
*/ inline bool SourceCacheNodeIdHasBeenSet() const { return m_sourceCacheNodeIdHasBeenSet; } /** *The ID of the primary node to which this read replica node is synchronized. * If this field is empty, this node is not associated with a primary cluster.
*/ inline void SetSourceCacheNodeId(const Aws::String& value) { m_sourceCacheNodeIdHasBeenSet = true; m_sourceCacheNodeId = value; } /** *The ID of the primary node to which this read replica node is synchronized. * If this field is empty, this node is not associated with a primary cluster.
*/ inline void SetSourceCacheNodeId(Aws::String&& value) { m_sourceCacheNodeIdHasBeenSet = true; m_sourceCacheNodeId = std::move(value); } /** *The ID of the primary node to which this read replica node is synchronized. * If this field is empty, this node is not associated with a primary cluster.
*/ inline void SetSourceCacheNodeId(const char* value) { m_sourceCacheNodeIdHasBeenSet = true; m_sourceCacheNodeId.assign(value); } /** *The ID of the primary node to which this read replica node is synchronized. * If this field is empty, this node is not associated with a primary cluster.
*/ inline CacheNode& WithSourceCacheNodeId(const Aws::String& value) { SetSourceCacheNodeId(value); return *this;} /** *The ID of the primary node to which this read replica node is synchronized. * If this field is empty, this node is not associated with a primary cluster.
*/ inline CacheNode& WithSourceCacheNodeId(Aws::String&& value) { SetSourceCacheNodeId(std::move(value)); return *this;} /** *The ID of the primary node to which this read replica node is synchronized. * If this field is empty, this node is not associated with a primary cluster.
*/ inline CacheNode& WithSourceCacheNodeId(const char* value) { SetSourceCacheNodeId(value); return *this;} /** *The Availability Zone where this node was created and now resides.
*/ inline const Aws::String& GetCustomerAvailabilityZone() const{ return m_customerAvailabilityZone; } /** *The Availability Zone where this node was created and now resides.
*/ inline bool CustomerAvailabilityZoneHasBeenSet() const { return m_customerAvailabilityZoneHasBeenSet; } /** *The Availability Zone where this node was created and now resides.
*/ inline void SetCustomerAvailabilityZone(const Aws::String& value) { m_customerAvailabilityZoneHasBeenSet = true; m_customerAvailabilityZone = value; } /** *The Availability Zone where this node was created and now resides.
*/ inline void SetCustomerAvailabilityZone(Aws::String&& value) { m_customerAvailabilityZoneHasBeenSet = true; m_customerAvailabilityZone = std::move(value); } /** *The Availability Zone where this node was created and now resides.
*/ inline void SetCustomerAvailabilityZone(const char* value) { m_customerAvailabilityZoneHasBeenSet = true; m_customerAvailabilityZone.assign(value); } /** *The Availability Zone where this node was created and now resides.
*/ inline CacheNode& WithCustomerAvailabilityZone(const Aws::String& value) { SetCustomerAvailabilityZone(value); return *this;} /** *The Availability Zone where this node was created and now resides.
*/ inline CacheNode& WithCustomerAvailabilityZone(Aws::String&& value) { SetCustomerAvailabilityZone(std::move(value)); return *this;} /** *The Availability Zone where this node was created and now resides.
*/ inline CacheNode& WithCustomerAvailabilityZone(const char* value) { SetCustomerAvailabilityZone(value); return *this;} /** *The customer outpost ARN of the cache node.
*/ inline const Aws::String& GetCustomerOutpostArn() const{ return m_customerOutpostArn; } /** *The customer outpost ARN of the cache node.
*/ inline bool CustomerOutpostArnHasBeenSet() const { return m_customerOutpostArnHasBeenSet; } /** *The customer outpost ARN of the cache node.
*/ inline void SetCustomerOutpostArn(const Aws::String& value) { m_customerOutpostArnHasBeenSet = true; m_customerOutpostArn = value; } /** *The customer outpost ARN of the cache node.
*/ inline void SetCustomerOutpostArn(Aws::String&& value) { m_customerOutpostArnHasBeenSet = true; m_customerOutpostArn = std::move(value); } /** *The customer outpost ARN of the cache node.
*/ inline void SetCustomerOutpostArn(const char* value) { m_customerOutpostArnHasBeenSet = true; m_customerOutpostArn.assign(value); } /** *The customer outpost ARN of the cache node.
*/ inline CacheNode& WithCustomerOutpostArn(const Aws::String& value) { SetCustomerOutpostArn(value); return *this;} /** *The customer outpost ARN of the cache node.
*/ inline CacheNode& WithCustomerOutpostArn(Aws::String&& value) { SetCustomerOutpostArn(std::move(value)); return *this;} /** *The customer outpost ARN of the cache node.
*/ inline CacheNode& WithCustomerOutpostArn(const char* value) { SetCustomerOutpostArn(value); return *this;} private: Aws::String m_cacheNodeId; bool m_cacheNodeIdHasBeenSet = false; Aws::String m_cacheNodeStatus; bool m_cacheNodeStatusHasBeenSet = false; Aws::Utils::DateTime m_cacheNodeCreateTime; bool m_cacheNodeCreateTimeHasBeenSet = false; Endpoint m_endpoint; bool m_endpointHasBeenSet = false; Aws::String m_parameterGroupStatus; bool m_parameterGroupStatusHasBeenSet = false; Aws::String m_sourceCacheNodeId; bool m_sourceCacheNodeIdHasBeenSet = false; Aws::String m_customerAvailabilityZone; bool m_customerAvailabilityZoneHasBeenSet = false; Aws::String m_customerOutpostArn; bool m_customerOutpostArnHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws