ClusterCapacityProviderAssociations
The ClusterCapacityProviderAssociations resource allows you to manage AWS ECS Cluster Capacity Provider Associations for your Amazon ECS clusters. This resource enables you to define the default capacity provider strategy and associate capacity providers with clusters, facilitating the management of containerized applications.
Minimal Example
In this example, we create a basic Cluster Capacity Provider Association with default properties and a single capacity provider.
import AWS from "alchemy/aws/control";
const basicCapacityProviderAssociation = await AWS.ECS.ClusterCapacityProviderAssociations("basic-association", {
DefaultCapacityProviderStrategy: [
{
capacityProvider: "Fargate",
weight: 1
}
],
CapacityProviders: ["Fargate"],
Cluster: "my-ecs-cluster"
});
Advanced Configuration
This example demonstrates how to configure multiple capacity providers and define a more complex default capacity provider strategy.
const advancedCapacityProviderAssociation = await AWS.ECS.ClusterCapacityProviderAssociations("advanced-association", {
DefaultCapacityProviderStrategy: [
{
capacityProvider: "Fargate",
weight: 2
},
{
capacityProvider: "FargateSpot",
weight: 1
}
],
CapacityProviders: ["Fargate", "FargateSpot"],
Cluster: "my-ecs-cluster"
});
Adoption of Existing Resource
In this example, we configure the association to adopt an existing capacity provider resource instead of failing if it already exists.
const adoptExistingAssociation = await AWS.ECS.ClusterCapacityProviderAssociations("adopt-existing-association", {
DefaultCapacityProviderStrategy: [
{
capacityProvider: "FargateSpot",
weight: 1
}
],
CapacityProviders: ["Fargate", "FargateSpot"],
Cluster: "my-ecs-cluster",
adopt: true
});
Using with Multiple Clusters
This example illustrates how to associate capacity providers with multiple ECS clusters by creating separate associations.
const cluster1Association = await AWS.ECS.ClusterCapacityProviderAssociations("cluster1-association", {
DefaultCapacityProviderStrategy: [
{
capacityProvider: "Fargate",
weight: 1
}
],
CapacityProviders: ["Fargate"],
Cluster: "my-first-ecs-cluster"
});
const cluster2Association = await AWS.ECS.ClusterCapacityProviderAssociations("cluster2-association", {
DefaultCapacityProviderStrategy: [
{
capacityProvider: "FargateSpot",
weight: 1
}
],
CapacityProviders: ["Fargate", "FargateSpot"],
Cluster: "my-second-ecs-cluster"
});