// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`UpdateShardCount`](crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`stream_name(impl Into<String>)`](crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder::stream_name) / [`set_stream_name(Option<String>)`](crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder::set_stream_name):<br>required: **false**<br><p>The name of the stream.</p><br>
    ///   - [`target_shard_count(i32)`](crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder::target_shard_count) / [`set_target_shard_count(Option<i32>)`](crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder::set_target_shard_count):<br>required: **true**<br><p>The new number of shards. This value has the following default limits. By default, you cannot do the following:</p> <ul>  <li>   <p>Set this value to more than double your current shard count for a stream.</p></li>  <li>   <p>Set this value below half your current shard count for a stream.</p></li>  <li>   <p>Set this value to more than 10000 shards in a stream (the default limit for shard count per stream is 10000 per account per region), unless you request a limit increase.</p></li>  <li>   <p>Scale a stream with more than 10000 shards down unless you set this value to less than 10000 shards.</p></li> </ul><br>
    ///   - [`scaling_type(ScalingType)`](crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder::scaling_type) / [`set_scaling_type(Option<ScalingType>)`](crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder::set_scaling_type):<br>required: **true**<br><p>The scaling type. Uniform scaling creates shards of equal size.</p><br>
    ///   - [`stream_arn(impl Into<String>)`](crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder::stream_arn) / [`set_stream_arn(Option<String>)`](crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder::set_stream_arn):<br>required: **false**<br><p>The ARN of the stream.</p><br>
    ///   - [`stream_id(impl Into<String>)`](crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder::stream_id) / [`set_stream_id(Option<String>)`](crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder::set_stream_id):<br>required: **false**<br><p>Not Implemented. Reserved for future use.</p><br>
    /// - On success, responds with [`UpdateShardCountOutput`](crate::operation::update_shard_count::UpdateShardCountOutput) with field(s):
    ///   - [`stream_name(Option<String>)`](crate::operation::update_shard_count::UpdateShardCountOutput::stream_name): <p>The name of the stream.</p>
    ///   - [`current_shard_count(Option<i32>)`](crate::operation::update_shard_count::UpdateShardCountOutput::current_shard_count): <p>The current number of shards.</p>
    ///   - [`target_shard_count(Option<i32>)`](crate::operation::update_shard_count::UpdateShardCountOutput::target_shard_count): <p>The updated number of shards.</p>
    ///   - [`stream_arn(Option<String>)`](crate::operation::update_shard_count::UpdateShardCountOutput::stream_arn): <p>The ARN of the stream.</p>
    /// - On failure, responds with [`SdkError<UpdateShardCountError>`](crate::operation::update_shard_count::UpdateShardCountError)
    pub fn update_shard_count(&self) -> crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder {
        crate::operation::update_shard_count::builders::UpdateShardCountFluentBuilder::new(self.handle.clone())
    }
}
