AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Container for the parameters to the PutClusterCapacityProviders operation. Modifies the available capacity providers and the default capacity provider strategy for a cluster.

You must specify both the available capacity providers and a default capacity provider strategy for the cluster. If the specified cluster has existing capacity providers associated with it, you must specify all existing capacity providers in addition to any new ones you want to add. Any existing capacity providers that are associated with a cluster that are omitted from a PutClusterCapacityProviders API call will be disassociated with the cluster. You can only disassociate an existing capacity provider from a cluster if it's not being used by any existing tasks.

When creating a service or running a task on a cluster, if no capacity provider or launch type is specified, then the cluster's default capacity provider strategy is used. We recommend that you define a default capacity provider strategy for your cluster. However, you must specify an empty array ([]) to bypass defining a default strategy.

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonWebServiceRequest
    Amazon.ECS.AmazonECSRequest
      Amazon.ECS.Model.PutClusterCapacityProvidersRequest

Namespace: Amazon.ECS.Model
Assembly: AWSSDK.ECS.dll
Version: 3.x.y.z

Syntax

C#
public class PutClusterCapacityProvidersRequest : AmazonECSRequest
         IAmazonWebServiceRequest

The PutClusterCapacityProvidersRequest type exposes the following members

Constructors

Properties

NameTypeDescription
Public Property CapacityProviders System.Collections.Generic.List<System.String>

Gets and sets the property CapacityProviders.

The name of one or more capacity providers to associate with the cluster.

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 CreateCapacityProvider API operation.

To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

Public Property Cluster System.String

Gets and sets the property Cluster.

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.

Public Property DefaultCapacityProviderStrategy System.Collections.Generic.List<Amazon.ECS.Model.CapacityProviderStrategyItem>

Gets and sets the property DefaultCapacityProviderStrategy.

The capacity provider strategy to use by default for the cluster.

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.

A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used.

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 CreateCapacityProvider API operation.

To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

Examples

This example adds an existing capacity provider "MyCapacityProvider2" to a cluster that already has the capacity provider "MyCapacityProvider1" associated with it. Both "MyCapacityProvider2" and "MyCapacityProvider1" need to be specified.

To add an existing capacity provider to a cluuster


var client = new AmazonECSClient();
var response = client.PutClusterCapacityProviders(new PutClusterCapacityProvidersRequest 
{
    CapacityProviders = new List<string> {
        "MyCapacityProvider1",
        "MyCapacityProvider2"
    },
    Cluster = "MyCluster",
    DefaultCapacityProviderStrategy = new List<CapacityProviderStrategyItem> {
        new CapacityProviderStrategyItem {
            CapacityProvider = "MyCapacityProvider1",
            Weight = 1
        },
        new CapacityProviderStrategyItem {
            CapacityProvider = "MyCapacityProvider2",
            Weight = 1
        }
    }
});

Cluster cluster = response.Cluster;

            

This example removes a capacity provider "MyCapacityProvider2" from a cluster that has both "MyCapacityProvider2" and "MyCapacityProvider1" associated with it. Only "MyCapacityProvider1" needs to be specified in this scenario.

To remove a capacity provider from a cluster


var client = new AmazonECSClient();
var response = client.PutClusterCapacityProviders(new PutClusterCapacityProvidersRequest 
{
    CapacityProviders = new List<string> {
        "MyCapacityProvider1"
    },
    Cluster = "MyCluster",
    DefaultCapacityProviderStrategy = new List<CapacityProviderStrategyItem> {
        new CapacityProviderStrategyItem {
            Base = 0,
            CapacityProvider = "MyCapacityProvider1",
            Weight = 1
        }
    }
});

Cluster cluster = response.Cluster;

            

This example removes all capacity providers associated with a cluster.

To remove all capacity providers from a cluster


var client = new AmazonECSClient();
var response = client.PutClusterCapacityProviders(new PutClusterCapacityProvidersRequest 
{
    CapacityProviders = new List<string> {
                    
    },
    Cluster = "MyCluster",
    DefaultCapacityProviderStrategy = new List<CapacityProviderStrategyItem> {
                    
    }
});

Cluster cluster = response.Cluster;

            

Version Information

.NET:
Supported in: 8.0 and newer, Core 3.1

.NET Standard:
Supported in: 2.0

.NET Framework:
Supported in: 4.5 and newer, 3.5