Struct aws_sdk_elasticache::model::ReservedCacheNode
source · #[non_exhaustive]pub struct ReservedCacheNode { /* private fields */ }
Expand description
Represents the output of a PurchaseReservedCacheNodesOffering
operation.
Implementations§
source§impl ReservedCacheNode
impl ReservedCacheNode
sourcepub fn reserved_cache_node_id(&self) -> Option<&str>
pub fn reserved_cache_node_id(&self) -> Option<&str>
The unique identifier for the reservation.
sourcepub fn reserved_cache_nodes_offering_id(&self) -> Option<&str>
pub fn reserved_cache_nodes_offering_id(&self) -> Option<&str>
The offering identifier.
sourcepub fn cache_node_type(&self) -> Option<&str>
pub fn cache_node_type(&self) -> Option<&str>
The cache node type for the reserved cache nodes.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
-
General purpose:
-
Current generation:
M6g node types: (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward):
cache.m6g.large
,cache.m6g.xlarge
,cache.m6g.2xlarge
,cache.m6g.4xlarge
,cache.m6g.8xlarge
,cache.m6g.12xlarge
,cache.m6g.16xlarge
For region availability, see Supported Node Types
M5 node types:
cache.m5.large
,cache.m5.xlarge
,cache.m5.2xlarge
,cache.m5.4xlarge
,cache.m5.12xlarge
,cache.m5.24xlarge
M4 node types:
cache.m4.large
,cache.m4.xlarge
,cache.m4.2xlarge
,cache.m4.4xlarge
,cache.m4.10xlarge
T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward):
cache.t4g.micro
,cache.t4g.small
,cache.t4g.medium
T3 node types:
cache.t3.micro
,cache.t3.small
,cache.t3.medium
T2 node types:
cache.t2.micro
,cache.t2.small
,cache.t2.medium
-
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
T1 node types:
cache.t1.micro
M1 node types:
cache.m1.small
,cache.m1.medium
,cache.m1.large
,cache.m1.xlarge
M3 node types:
cache.m3.medium
,cache.m3.large
,cache.m3.xlarge
,cache.m3.2xlarge
-
-
Compute optimized:
-
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)
C1 node types:
cache.c1.xlarge
-
-
Memory optimized 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.
sourcepub fn start_time(&self) -> Option<&DateTime>
pub fn start_time(&self) -> Option<&DateTime>
The time the reservation started.
sourcepub fn fixed_price(&self) -> f64
pub fn fixed_price(&self) -> f64
The fixed price charged for this reserved cache node.
sourcepub fn usage_price(&self) -> f64
pub fn usage_price(&self) -> f64
The hourly price charged for this reserved cache node.
sourcepub fn cache_node_count(&self) -> i32
pub fn cache_node_count(&self) -> i32
The number of cache nodes that have been reserved.
sourcepub fn product_description(&self) -> Option<&str>
pub fn product_description(&self) -> Option<&str>
The description of the reserved cache node.
sourcepub fn offering_type(&self) -> Option<&str>
pub fn offering_type(&self) -> Option<&str>
The offering type of this reserved cache node.
sourcepub fn recurring_charges(&self) -> Option<&[RecurringCharge]>
pub fn recurring_charges(&self) -> Option<&[RecurringCharge]>
The recurring price charged to run this reserved cache node.
sourcepub fn reservation_arn(&self) -> Option<&str>
pub fn reservation_arn(&self) -> Option<&str>
The Amazon Resource Name (ARN) of the reserved cache node.
Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582
source§impl ReservedCacheNode
impl ReservedCacheNode
sourcepub fn builder() -> Builder
pub fn builder() -> Builder
Creates a new builder-style object to manufacture ReservedCacheNode
.
Examples found in repository?
8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603
pub fn deser_structure_crate_model_reserved_cache_node(
decoder: &mut aws_smithy_xml::decode::ScopedDecoder,
) -> Result<crate::model::ReservedCacheNode, aws_smithy_xml::decode::XmlDecodeError> {
#[allow(unused_mut)]
let mut builder = crate::model::ReservedCacheNode::builder();
while let Some(mut tag) = decoder.next_tag() {
match tag.start_el() {
s if s.matches("ReservedCacheNodeId") /* ReservedCacheNodeId com.amazonaws.elasticache#ReservedCacheNode$ReservedCacheNodeId */ => {
let var_316 =
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_reserved_cache_node_id(var_316);
}
,
s if s.matches("ReservedCacheNodesOfferingId") /* ReservedCacheNodesOfferingId com.amazonaws.elasticache#ReservedCacheNode$ReservedCacheNodesOfferingId */ => {
let var_317 =
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_reserved_cache_nodes_offering_id(var_317);
}
,
s if s.matches("CacheNodeType") /* CacheNodeType com.amazonaws.elasticache#ReservedCacheNode$CacheNodeType */ => {
let var_318 =
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_type(var_318);
}
,
s if s.matches("StartTime") /* StartTime com.amazonaws.elasticache#ReservedCacheNode$StartTime */ => {
let var_319 =
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_start_time(var_319);
}
,
s if s.matches("Duration") /* Duration com.amazonaws.elasticache#ReservedCacheNode$Duration */ => {
let var_320 =
Some(
{
<i32 as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.elasticache#Integer`)"))
}
?
)
;
builder = builder.set_duration(var_320);
}
,
s if s.matches("FixedPrice") /* FixedPrice com.amazonaws.elasticache#ReservedCacheNode$FixedPrice */ => {
let var_321 =
Some(
{
<f64 as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (double: `com.amazonaws.elasticache#Double`)"))
}
?
)
;
builder = builder.set_fixed_price(var_321);
}
,
s if s.matches("UsagePrice") /* UsagePrice com.amazonaws.elasticache#ReservedCacheNode$UsagePrice */ => {
let var_322 =
Some(
{
<f64 as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (double: `com.amazonaws.elasticache#Double`)"))
}
?
)
;
builder = builder.set_usage_price(var_322);
}
,
s if s.matches("CacheNodeCount") /* CacheNodeCount com.amazonaws.elasticache#ReservedCacheNode$CacheNodeCount */ => {
let var_323 =
Some(
{
<i32 as aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
)
.map_err(|_|aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `com.amazonaws.elasticache#Integer`)"))
}
?
)
;
builder = builder.set_cache_node_count(var_323);
}
,
s if s.matches("ProductDescription") /* ProductDescription com.amazonaws.elasticache#ReservedCacheNode$ProductDescription */ => {
let var_324 =
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_product_description(var_324);
}
,
s if s.matches("OfferingType") /* OfferingType com.amazonaws.elasticache#ReservedCacheNode$OfferingType */ => {
let var_325 =
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_offering_type(var_325);
}
,
s if s.matches("State") /* State com.amazonaws.elasticache#ReservedCacheNode$State */ => {
let var_326 =
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_state(var_326);
}
,
s if s.matches("RecurringCharges") /* RecurringCharges com.amazonaws.elasticache#ReservedCacheNode$RecurringCharges */ => {
let var_327 =
Some(
crate::xml_deser::deser_list_com_amazonaws_elasticache_recurring_charge_list(&mut tag)
?
)
;
builder = builder.set_recurring_charges(var_327);
}
,
s if s.matches("ReservationARN") /* ReservationARN com.amazonaws.elasticache#ReservedCacheNode$ReservationARN */ => {
let var_328 =
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_reservation_arn(var_328);
}
,
_ => {}
}
}
Ok(builder.build())
}
Trait Implementations§
source§impl Clone for ReservedCacheNode
impl Clone for ReservedCacheNode
source§fn clone(&self) -> ReservedCacheNode
fn clone(&self) -> ReservedCacheNode
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more