/**
* 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: M5 node types:
* M4
* node types: T3 node types:
* T2 node types:
* Previous generation: (not
* recommended) T1 node types:
* M1 node types: M3 node
* types: Compute optimized: Previous generation: (not
* recommended) C1 node types: Memory optimized: Current generation:
* R5 node types: R4 node types:
* Previous generation: (not recommended) 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.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.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.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 AWS 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 AWS 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 AWS 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 AWS 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 AWS 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 AWS 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 AWS 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 AWS 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;} private: Aws::String m_cacheNodeId; bool m_cacheNodeIdHasBeenSet; Aws::String m_cacheNodeStatus; bool m_cacheNodeStatusHasBeenSet; Aws::Utils::DateTime m_cacheNodeCreateTime; bool m_cacheNodeCreateTimeHasBeenSet; Endpoint m_endpoint; bool m_endpointHasBeenSet; Aws::String m_parameterGroupStatus; bool m_parameterGroupStatusHasBeenSet; Aws::String m_sourceCacheNodeId; bool m_sourceCacheNodeIdHasBeenSet; Aws::String m_customerAvailabilityZone; bool m_customerAvailabilityZoneHasBeenSet; }; } // namespace Model } // namespace ElastiCache } // namespace Aws