// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`PutClusterCapacityProviders`](crate::operation::put_cluster_capacity_providers::builders::PutClusterCapacityProvidersFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`cluster(impl Into<String>)`](crate::operation::put_cluster_capacity_providers::builders::PutClusterCapacityProvidersFluentBuilder::cluster) / [`set_cluster(Option<String>)`](crate::operation::put_cluster_capacity_providers::builders::PutClusterCapacityProvidersFluentBuilder::set_cluster):<br>required: **true**<br><p>The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider settings for. If you don't specify a cluster, the default cluster is assumed.</p><br>
/// - [`capacity_providers(impl Into<String>)`](crate::operation::put_cluster_capacity_providers::builders::PutClusterCapacityProvidersFluentBuilder::capacity_providers) / [`set_capacity_providers(Option<Vec::<String>>)`](crate::operation::put_cluster_capacity_providers::builders::PutClusterCapacityProvidersFluentBuilder::set_capacity_providers):<br>required: **true**<br><p>The name of one or more capacity providers to associate with the cluster.</p> <p>If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the <code>CreateCapacityProvider</code> API operation.</p> <p>To use a Fargate capacity provider, specify either the <code>FARGATE</code> or <code>FARGATE_SPOT</code> capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.</p><br>
/// - [`default_capacity_provider_strategy(CapacityProviderStrategyItem)`](crate::operation::put_cluster_capacity_providers::builders::PutClusterCapacityProvidersFluentBuilder::default_capacity_provider_strategy) / [`set_default_capacity_provider_strategy(Option<Vec::<CapacityProviderStrategyItem>>)`](crate::operation::put_cluster_capacity_providers::builders::PutClusterCapacityProvidersFluentBuilder::set_default_capacity_provider_strategy):<br>required: **true**<br><p>The capacity provider strategy to use by default for the cluster.</p> <p>When creating a service or running a task on a cluster, if no capacity provider or launch type is specified then the default capacity provider strategy for the cluster is used.</p> <p>A capacity provider strategy consists of one or more capacity providers along with the <code>base</code> and <code>weight</code> to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The <code>PutClusterCapacityProviders</code> API is used to associate a capacity provider with a cluster. Only capacity providers with an <code>ACTIVE</code> or <code>UPDATING</code> status can be used.</p> <p>If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the <code>CreateCapacityProvider</code> API operation.</p> <p>To use a Fargate capacity provider, specify either the <code>FARGATE</code> or <code>FARGATE_SPOT</code> capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.</p><br>
/// - On success, responds with [`PutClusterCapacityProvidersOutput`](crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersOutput) with field(s):
/// - [`cluster(Option<Cluster>)`](crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersOutput::cluster): <p>Details about the cluster.</p>
/// - On failure, responds with [`SdkError<PutClusterCapacityProvidersError>`](crate::operation::put_cluster_capacity_providers::PutClusterCapacityProvidersError)
pub fn put_cluster_capacity_providers(
&self,
) -> crate::operation::put_cluster_capacity_providers::builders::PutClusterCapacityProvidersFluentBuilder {
crate::operation::put_cluster_capacity_providers::builders::PutClusterCapacityProvidersFluentBuilder::new(self.handle.clone())
}
}