#[non_exhaustive]
pub struct ReplicationGroup { /* private fields */ }
Expand description

Contains all of the attributes of a specific Redis replication group.

Implementations§

The identifier for the replication group.

The user supplied description of the replication group.

The name of the Global datastore and role of this replication group in the Global datastore.

The current state of this replication group - creating, available, modifying, deleting, create-failed, snapshotting.

A group of settings to be applied to the replication group, either immediately or during the next maintenance window.

The names of all the cache clusters that are part of this replication group.

A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups, this is a single-element list. For Redis (cluster mode enabled) replication groups, the list contains an entry for each node group (shard).

The cluster ID that is used as the daily snapshot source for the replication group.

Indicates the status of automatic failover for this Redis replication group.

A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ

The configuration endpoint for this replication group. Use the configuration endpoint to connect to this replication group.

The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

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.

A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be partitioned across multiple shards (API/CLI: node groups).

Valid values: true | false

The name of the compute and memory capacity node type for each node in the replication group.

A flag that enables using an AuthToken (password) when issuing Redis commands.

Default: false

The date the auth token was last modified

A flag that enables in-transit encryption when set to true.

You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

Default: false

A flag that enables encryption at-rest when set to true.

You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled to true when you create a cluster.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

Default: false

The outpost ARNs of the replication group's member clusters.

The ID of the KMS key used to encrypt the disk in the cluster.

The ARN (Amazon Resource Name) of the replication group.

The ID of the user group associated to the replication group.

Returns the destination, format and type of the logs.

The date and time when the cluster was created.

Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see Data tiering.

 If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions. 

Creates a new builder-style object to manufacture ReplicationGroup.

Examples found in repository?
src/xml_deser.rs (line 6385)
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
pub fn deser_structure_crate_model_replication_group(
    decoder: &mut aws_smithy_xml::decode::ScopedDecoder,
) -> Result<crate::model::ReplicationGroup, aws_smithy_xml::decode::XmlDecodeError> {
    #[allow(unused_mut)]
    let mut builder = crate::model::ReplicationGroup::builder();
    while let Some(mut tag) = decoder.next_tag() {
        match tag.start_el() {
            s if s.matches("ReplicationGroupId") /* ReplicationGroupId com.amazonaws.elasticache#ReplicationGroup$ReplicationGroupId */ =>  {
                let var_200 =
                    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_replication_group_id(var_200);
            }
            ,
            s if s.matches("Description") /* Description com.amazonaws.elasticache#ReplicationGroup$Description */ =>  {
                let var_201 =
                    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_description(var_201);
            }
            ,
            s if s.matches("GlobalReplicationGroupInfo") /* GlobalReplicationGroupInfo com.amazonaws.elasticache#ReplicationGroup$GlobalReplicationGroupInfo */ =>  {
                let var_202 =
                    Some(
                        crate::xml_deser::deser_structure_crate_model_global_replication_group_info(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_global_replication_group_info(var_202);
            }
            ,
            s if s.matches("Status") /* Status com.amazonaws.elasticache#ReplicationGroup$Status */ =>  {
                let var_203 =
                    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_status(var_203);
            }
            ,
            s if s.matches("PendingModifiedValues") /* PendingModifiedValues com.amazonaws.elasticache#ReplicationGroup$PendingModifiedValues */ =>  {
                let var_204 =
                    Some(
                        crate::xml_deser::deser_structure_crate_model_replication_group_pending_modified_values(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_pending_modified_values(var_204);
            }
            ,
            s if s.matches("MemberClusters") /* MemberClusters com.amazonaws.elasticache#ReplicationGroup$MemberClusters */ =>  {
                let var_205 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_elasticache_cluster_id_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_member_clusters(var_205);
            }
            ,
            s if s.matches("NodeGroups") /* NodeGroups com.amazonaws.elasticache#ReplicationGroup$NodeGroups */ =>  {
                let var_206 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_elasticache_node_group_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_node_groups(var_206);
            }
            ,
            s if s.matches("SnapshottingClusterId") /* SnapshottingClusterId com.amazonaws.elasticache#ReplicationGroup$SnapshottingClusterId */ =>  {
                let var_207 =
                    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_snapshotting_cluster_id(var_207);
            }
            ,
            s if s.matches("AutomaticFailover") /* AutomaticFailover com.amazonaws.elasticache#ReplicationGroup$AutomaticFailover */ =>  {
                let var_208 =
                    Some(
                        Result::<crate::model::AutomaticFailoverStatus, aws_smithy_xml::decode::XmlDecodeError>::Ok(
                            crate::model::AutomaticFailoverStatus::from(
                                aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            )
                        )
                        ?
                    )
                ;
                builder = builder.set_automatic_failover(var_208);
            }
            ,
            s if s.matches("MultiAZ") /* MultiAZ com.amazonaws.elasticache#ReplicationGroup$MultiAZ */ =>  {
                let var_209 =
                    Some(
                        Result::<crate::model::MultiAzStatus, aws_smithy_xml::decode::XmlDecodeError>::Ok(
                            crate::model::MultiAzStatus::from(
                                aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            )
                        )
                        ?
                    )
                ;
                builder = builder.set_multi_az(var_209);
            }
            ,
            s if s.matches("ConfigurationEndpoint") /* ConfigurationEndpoint com.amazonaws.elasticache#ReplicationGroup$ConfigurationEndpoint */ =>  {
                let var_210 =
                    Some(
                        crate::xml_deser::deser_structure_crate_model_endpoint(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_configuration_endpoint(var_210);
            }
            ,
            s if s.matches("SnapshotRetentionLimit") /* SnapshotRetentionLimit com.amazonaws.elasticache#ReplicationGroup$SnapshotRetentionLimit */ =>  {
                let var_211 =
                    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#IntegerOptional`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_snapshot_retention_limit(var_211);
            }
            ,
            s if s.matches("SnapshotWindow") /* SnapshotWindow com.amazonaws.elasticache#ReplicationGroup$SnapshotWindow */ =>  {
                let var_212 =
                    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_snapshot_window(var_212);
            }
            ,
            s if s.matches("ClusterEnabled") /* ClusterEnabled com.amazonaws.elasticache#ReplicationGroup$ClusterEnabled */ =>  {
                let var_213 =
                    Some(
                         {
                            <bool 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 (boolean: `com.amazonaws.elasticache#BooleanOptional`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_cluster_enabled(var_213);
            }
            ,
            s if s.matches("CacheNodeType") /* CacheNodeType com.amazonaws.elasticache#ReplicationGroup$CacheNodeType */ =>  {
                let var_214 =
                    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_214);
            }
            ,
            s if s.matches("AuthTokenEnabled") /* AuthTokenEnabled com.amazonaws.elasticache#ReplicationGroup$AuthTokenEnabled */ =>  {
                let var_215 =
                    Some(
                         {
                            <bool 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 (boolean: `com.amazonaws.elasticache#BooleanOptional`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_auth_token_enabled(var_215);
            }
            ,
            s if s.matches("AuthTokenLastModifiedDate") /* AuthTokenLastModifiedDate com.amazonaws.elasticache#ReplicationGroup$AuthTokenLastModifiedDate */ =>  {
                let var_216 =
                    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_auth_token_last_modified_date(var_216);
            }
            ,
            s if s.matches("TransitEncryptionEnabled") /* TransitEncryptionEnabled com.amazonaws.elasticache#ReplicationGroup$TransitEncryptionEnabled */ =>  {
                let var_217 =
                    Some(
                         {
                            <bool 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 (boolean: `com.amazonaws.elasticache#BooleanOptional`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_transit_encryption_enabled(var_217);
            }
            ,
            s if s.matches("AtRestEncryptionEnabled") /* AtRestEncryptionEnabled com.amazonaws.elasticache#ReplicationGroup$AtRestEncryptionEnabled */ =>  {
                let var_218 =
                    Some(
                         {
                            <bool 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 (boolean: `com.amazonaws.elasticache#BooleanOptional`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_at_rest_encryption_enabled(var_218);
            }
            ,
            s if s.matches("MemberClustersOutpostArns") /* MemberClustersOutpostArns com.amazonaws.elasticache#ReplicationGroup$MemberClustersOutpostArns */ =>  {
                let var_219 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_elasticache_replication_group_outpost_arn_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_member_clusters_outpost_arns(var_219);
            }
            ,
            s if s.matches("KmsKeyId") /* KmsKeyId com.amazonaws.elasticache#ReplicationGroup$KmsKeyId */ =>  {
                let var_220 =
                    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_kms_key_id(var_220);
            }
            ,
            s if s.matches("ARN") /* ARN com.amazonaws.elasticache#ReplicationGroup$ARN */ =>  {
                let var_221 =
                    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_arn(var_221);
            }
            ,
            s if s.matches("UserGroupIds") /* UserGroupIds com.amazonaws.elasticache#ReplicationGroup$UserGroupIds */ =>  {
                let var_222 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_elasticache_user_group_id_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_user_group_ids(var_222);
            }
            ,
            s if s.matches("LogDeliveryConfigurations") /* LogDeliveryConfigurations com.amazonaws.elasticache#ReplicationGroup$LogDeliveryConfigurations */ =>  {
                let var_223 =
                    Some(
                        crate::xml_deser::deser_list_com_amazonaws_elasticache_log_delivery_configuration_list(&mut tag)
                        ?
                    )
                ;
                builder = builder.set_log_delivery_configurations(var_223);
            }
            ,
            s if s.matches("ReplicationGroupCreateTime") /* ReplicationGroupCreateTime com.amazonaws.elasticache#ReplicationGroup$ReplicationGroupCreateTime */ =>  {
                let var_224 =
                    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_replication_group_create_time(var_224);
            }
            ,
            s if s.matches("DataTiering") /* DataTiering com.amazonaws.elasticache#ReplicationGroup$DataTiering */ =>  {
                let var_225 =
                    Some(
                        Result::<crate::model::DataTieringStatus, aws_smithy_xml::decode::XmlDecodeError>::Ok(
                            crate::model::DataTieringStatus::from(
                                aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
                            )
                        )
                        ?
                    )
                ;
                builder = builder.set_data_tiering(var_225);
            }
            ,
            s if s.matches("AutoMinorVersionUpgrade") /* AutoMinorVersionUpgrade com.amazonaws.elasticache#ReplicationGroup$AutoMinorVersionUpgrade */ =>  {
                let var_226 =
                    Some(
                         {
                            <bool 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 (boolean: `com.amazonaws.elasticache#Boolean`)"))
                        }
                        ?
                    )
                ;
                builder = builder.set_auto_minor_version_upgrade(var_226);
            }
            ,
            _ => {}
        }
    }
    Ok(builder.build())
}

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more