// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`DecreaseReplicaCount`](crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`replication_group_id(impl Into<String>)`](crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder::replication_group_id) / [`set_replication_group_id(Option<String>)`](crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder::set_replication_group_id): <p>The id of the replication group from which you want to remove replica nodes.</p>
/// - [`new_replica_count(i32)`](crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder::new_replica_count) / [`set_new_replica_count(Option<i32>)`](crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder::set_new_replica_count): <p>The number of read replica nodes you want at the completion of this operation. For Redis (cluster mode disabled) replication groups, this is the number of replica nodes in the replication group. For Redis (cluster mode enabled) replication groups, this is the number of replica nodes in each of the replication group's node groups.</p> <p>The minimum number of replicas in a shard or replication group is:</p> <ul> <li> <p>Redis (cluster mode disabled)</p> <ul> <li> <p>If Multi-AZ is enabled: 1</p> </li> <li> <p>If Multi-AZ is not enabled: 0</p> </li> </ul> </li> <li> <p>Redis (cluster mode enabled): 0 (though you will not be able to failover to a replica if your primary node fails)</p> </li> </ul>
/// - [`replica_configuration(ConfigureShard)`](crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder::replica_configuration) / [`set_replica_configuration(Option<Vec<ConfigureShard>>)`](crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder::set_replica_configuration): <p>A list of <code>ConfigureShard</code> objects that can be used to configure each shard in a Redis (cluster mode enabled) replication group. The <code>ConfigureShard</code> has three members: <code>NewReplicaCount</code>, <code>NodeGroupId</code>, and <code>PreferredAvailabilityZones</code>.</p>
/// - [`replicas_to_remove(impl Into<String>)`](crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder::replicas_to_remove) / [`set_replicas_to_remove(Option<Vec<String>>)`](crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder::set_replicas_to_remove): <p>A list of the node ids to remove from the replication group or node group (shard).</p>
/// - [`apply_immediately(bool)`](crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder::apply_immediately) / [`set_apply_immediately(Option<bool>)`](crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder::set_apply_immediately): <p>If <code>True</code>, the number of replica nodes is decreased immediately. <code>ApplyImmediately=False</code> is not currently supported.</p>
/// - On success, responds with [`DecreaseReplicaCountOutput`](crate::operation::decrease_replica_count::DecreaseReplicaCountOutput) with field(s):
/// - [`replication_group(Option<ReplicationGroup>)`](crate::operation::decrease_replica_count::DecreaseReplicaCountOutput::replication_group): <p>Contains all of the attributes of a specific Redis replication group.</p>
/// - On failure, responds with [`SdkError<DecreaseReplicaCountError>`](crate::operation::decrease_replica_count::DecreaseReplicaCountError)
pub fn decrease_replica_count(&self) -> crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder {
crate::operation::decrease_replica_count::builders::DecreaseReplicaCountFluentBuilder::new(self.handle.clone())
}
}