putClusterCapacityProviders
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.
Samples
import aws.sdk.kotlin.services.ecs.model.CapacityProviderStrategyItem
fun main() {
//sampleStart
// 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.
val resp = ecsClient.putClusterCapacityProviders {
cluster = "MyCluster"
capacityProviders = listOf<String>(
"MyCapacityProvider1",
"MyCapacityProvider2"
)
defaultCapacityProviderStrategy = listOf<CapacityProviderStrategyItem>(
CapacityProviderStrategyItem {
capacityProvider = "MyCapacityProvider1"
weight = 1
},
CapacityProviderStrategyItem {
capacityProvider = "MyCapacityProvider2"
weight = 1
}
)
}
//sampleEnd
}
import aws.sdk.kotlin.services.ecs.model.CapacityProviderStrategyItem
fun main() {
//sampleStart
// 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.
val resp = ecsClient.putClusterCapacityProviders {
cluster = "MyCluster"
capacityProviders = listOf<String>(
"MyCapacityProvider1"
)
defaultCapacityProviderStrategy = listOf<CapacityProviderStrategyItem>(
CapacityProviderStrategyItem {
capacityProvider = "MyCapacityProvider1"
weight = 1
base = 0
}
)
}
//sampleEnd
}
import aws.sdk.kotlin.services.ecs.model.CapacityProviderStrategyItem
fun main() {
//sampleStart
// This example removes all capacity providers associated with a cluster.
val resp = ecsClient.putClusterCapacityProviders {
cluster = "MyCluster"
capacityProviders = listOf<String>(
)
defaultCapacityProviderStrategy = listOf<CapacityProviderStrategyItem>(
)
}
//sampleEnd
}