Struct aws_sdk_elasticache::model::CacheNode
source · #[non_exhaustive]pub struct CacheNode { /* private fields */ }
Expand description
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):
cache.m6g.large
,cache.m6g.xlarge
,cache.m6g.2xlarge
,cache.m6g.4xlarge
,cache.m6g.8xlarge
,cache.m6g.12xlarge
,cache.m6g.16xlarge
For region availability, see Supported Node Types
M5 node types:
cache.m5.large
,cache.m5.xlarge
,cache.m5.2xlarge
,cache.m5.4xlarge
,cache.m5.12xlarge
,cache.m5.24xlarge
M4 node types:
cache.m4.large
,cache.m4.xlarge
,cache.m4.2xlarge
,cache.m4.4xlarge
,cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward):
cache.t4g.micro
,cache.t4g.small
,cache.t4g.medium
T3 node types:
cache.t3.micro
,cache.t3.small
,cache.t3.medium
T2 node types:
cache.t2.micro
,cache.t2.small
,cache.t2.medium
-
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types:
cache.t1.micro
M1 node types:
cache.m1.small
,cache.m1.medium
,cache.m1.large
,cache.m1.xlarge
M3 node types:
cache.m3.medium
,cache.m3.large
,cache.m3.xlarge
,cache.m3.2xlarge
-
-
Compute optimized:
-
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types:
cache.c1.xlarge
-
-
Memory optimized with data tiering:
-
Current generation:
R6gd node types (available only for Redis engine version 6.2 onward).
cache.r6gd.xlarge
,cache.r6gd.2xlarge
,cache.r6gd.4xlarge
,cache.r6gd.8xlarge
,cache.r6gd.12xlarge
,cache.r6gd.16xlarge
-
-
Memory optimized:
-
Current generation:
R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward).
cache.r6g.large
,cache.r6g.xlarge
,cache.r6g.2xlarge
,cache.r6g.4xlarge
,cache.r6g.8xlarge
,cache.r6g.12xlarge
,cache.r6g.16xlarge
For region availability, see Supported Node Types
R5 node types:
cache.r5.large
,cache.r5.xlarge
,cache.r5.2xlarge
,cache.r5.4xlarge
,cache.r5.12xlarge
,cache.r5.24xlarge
R4 node types:
cache.r4.large
,cache.r4.xlarge
,cache.r4.2xlarge
,cache.r4.4xlarge
,cache.r4.8xlarge
,cache.r4.16xlarge
-
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
M2 node types:
cache.m2.xlarge
,cache.m2.2xlarge
,cache.m2.4xlarge
R3 node types:
cache.r3.large
,cache.r3.xlarge
,cache.r3.2xlarge
,cache.r3.4xlarge
,cache.r3.8xlarge
-
Additional node type info
-
All current generation instance types are created in Amazon VPC by default.
-
Redis append-only files (AOF) are not supported for T1 or T2 instances.
-
Redis Multi-AZ with automatic failover is not supported on T1 instances.
-
Redis configuration variables
appendonly
andappendfsync
are not supported on Redis version 2.8.22 and later.
Implementations§
source§impl CacheNode
impl CacheNode
sourcepub fn cache_node_id(&self) -> Option<&str>
pub fn cache_node_id(&self) -> Option<&str>
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.
sourcepub fn cache_node_status(&self) -> Option<&str>
pub fn cache_node_status(&self) -> Option<&str>
The current state of this cache node, one of the following values: available
, creating
, rebooting
, or deleting
.
sourcepub fn cache_node_create_time(&self) -> Option<&DateTime>
pub fn cache_node_create_time(&self) -> Option<&DateTime>
The date and time when the cache node was created.
sourcepub fn parameter_group_status(&self) -> Option<&str>
pub fn parameter_group_status(&self) -> Option<&str>
The status of the parameter group applied to this cache node.
sourcepub fn source_cache_node_id(&self) -> Option<&str>
pub fn source_cache_node_id(&self) -> Option<&str>
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.
sourcepub fn customer_availability_zone(&self) -> Option<&str>
pub fn customer_availability_zone(&self) -> Option<&str>
The Availability Zone where this node was created and now resides.
sourcepub fn customer_outpost_arn(&self) -> Option<&str>
pub fn customer_outpost_arn(&self) -> Option<&str>
The customer outpost ARN of the cache node.
source§impl CacheNode
impl CacheNode
sourcepub fn builder() -> Builder
pub fn builder() -> Builder
Creates a new builder-style object to manufacture CacheNode
.
Examples found in repository?
11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095 11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151
pub fn deser_structure_crate_model_cache_node(
decoder: &mut aws_smithy_xml::decode::ScopedDecoder,
) -> Result<crate::model::CacheNode, aws_smithy_xml::decode::XmlDecodeError> {
#[allow(unused_mut)]
let mut builder = crate::model::CacheNode::builder();
while let Some(mut tag) = decoder.next_tag() {
match tag.start_el() {
s if s.matches("CacheNodeId") /* CacheNodeId com.amazonaws.elasticache#CacheNode$CacheNodeId */ => {
let var_469 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_cache_node_id(var_469);
}
,
s if s.matches("CacheNodeStatus") /* CacheNodeStatus com.amazonaws.elasticache#CacheNode$CacheNodeStatus */ => {
let var_470 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_cache_node_status(var_470);
}
,
s if s.matches("CacheNodeCreateTime") /* CacheNodeCreateTime com.amazonaws.elasticache#CacheNode$CacheNodeCreateTime */ => {
let var_471 =
Some(
aws_smithy_types::DateTime::from_str(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
, aws_smithy_types::date_time::Format::DateTime
)
.map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.elasticache#TStamp`)"))
?
)
;
builder = builder.set_cache_node_create_time(var_471);
}
,
s if s.matches("Endpoint") /* Endpoint com.amazonaws.elasticache#CacheNode$Endpoint */ => {
let var_472 =
Some(
crate::xml_deser::deser_structure_crate_model_endpoint(&mut tag)
?
)
;
builder = builder.set_endpoint(var_472);
}
,
s if s.matches("ParameterGroupStatus") /* ParameterGroupStatus com.amazonaws.elasticache#CacheNode$ParameterGroupStatus */ => {
let var_473 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_parameter_group_status(var_473);
}
,
s if s.matches("SourceCacheNodeId") /* SourceCacheNodeId com.amazonaws.elasticache#CacheNode$SourceCacheNodeId */ => {
let var_474 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_source_cache_node_id(var_474);
}
,
s if s.matches("CustomerAvailabilityZone") /* CustomerAvailabilityZone com.amazonaws.elasticache#CacheNode$CustomerAvailabilityZone */ => {
let var_475 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_customer_availability_zone(var_475);
}
,
s if s.matches("CustomerOutpostArn") /* CustomerOutpostArn com.amazonaws.elasticache#CacheNode$CustomerOutpostArn */ => {
let var_476 =
Some(
Result::<std::string::String, aws_smithy_xml::decode::XmlDecodeError>::Ok(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
.into()
)
?
)
;
builder = builder.set_customer_outpost_arn(var_476);
}
,
_ => {}
}
}
Ok(builder.build())
}