AWS Native is in preview. AWS Classic is fully supported.
aws-native.ecs.CapacityProvider
Explore with Pulumi AI
AWS Native is in preview. AWS Classic is fully supported.
Resource Type definition for AWS::ECS::CapacityProvider.
Example Usage
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() =>
{
var myCapacityProvider = new AwsNative.Ecs.CapacityProvider("myCapacityProvider", new()
{
AutoScalingGroupProvider = new AwsNative.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
{
AutoScalingGroupArn = "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup",
ManagedScaling = new AwsNative.Ecs.Inputs.CapacityProviderManagedScalingArgs
{
MaximumScalingStepSize = 10,
MinimumScalingStepSize = 1,
Status = AwsNative.Ecs.CapacityProviderManagedScalingStatus.Enabled,
TargetCapacity = 100,
},
ManagedTerminationProtection = AwsNative.Ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Enabled,
},
Tags = new[]
{
new AwsNative.Ecs.Inputs.CapacityProviderTagArgs
{
Key = "environment",
Value = "production",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ecs.NewCapacityProvider(ctx, "myCapacityProvider", &ecs.CapacityProviderArgs{
AutoScalingGroupProvider: interface{}{
AutoScalingGroupArn: pulumi.String("arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup"),
ManagedScaling: &ecs.CapacityProviderManagedScalingArgs{
MaximumScalingStepSize: pulumi.Int(10),
MinimumScalingStepSize: pulumi.Int(1),
Status: ecs.CapacityProviderManagedScalingStatusEnabled,
TargetCapacity: pulumi.Int(100),
},
ManagedTerminationProtection: ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionEnabled,
},
Tags: []ecs.CapacityProviderTagArgs{
{
Key: pulumi.String("environment"),
Value: pulumi.String("production"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Coming soon!
import pulumi
import pulumi_aws_native as aws_native
my_capacity_provider = aws_native.ecs.CapacityProvider("myCapacityProvider",
auto_scaling_group_provider=aws_native.ecs.CapacityProviderAutoScalingGroupProviderArgs(
auto_scaling_group_arn="arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup",
managed_scaling=aws_native.ecs.CapacityProviderManagedScalingArgs(
maximum_scaling_step_size=10,
minimum_scaling_step_size=1,
status=aws_native.ecs.CapacityProviderManagedScalingStatus.ENABLED,
target_capacity=100,
),
managed_termination_protection=aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.ENABLED,
),
tags=[aws_native.ecs.CapacityProviderTagArgs(
key="environment",
value="production",
)])
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const myCapacityProvider = new aws_native.ecs.CapacityProvider("myCapacityProvider", {
autoScalingGroupProvider: {
autoScalingGroupArn: "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup",
managedScaling: {
maximumScalingStepSize: 10,
minimumScalingStepSize: 1,
status: aws_native.ecs.CapacityProviderManagedScalingStatus.Enabled,
targetCapacity: 100,
},
managedTerminationProtection: aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Enabled,
},
tags: [{
key: "environment",
value: "production",
}],
});
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() =>
{
var myCapacityProvider = new AwsNative.Ecs.CapacityProvider("myCapacityProvider", new()
{
AutoScalingGroupProvider = new AwsNative.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
{
AutoScalingGroupArn = "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup",
ManagedScaling = new AwsNative.Ecs.Inputs.CapacityProviderManagedScalingArgs
{
MaximumScalingStepSize = 10,
MinimumScalingStepSize = 1,
Status = AwsNative.Ecs.CapacityProviderManagedScalingStatus.Enabled,
TargetCapacity = 100,
},
ManagedTerminationProtection = AwsNative.Ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Enabled,
},
Tags = new[]
{
new AwsNative.Ecs.Inputs.CapacityProviderTagArgs
{
Key = "environment",
Value = "production",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ecs.NewCapacityProvider(ctx, "myCapacityProvider", &ecs.CapacityProviderArgs{
AutoScalingGroupProvider: interface{}{
AutoScalingGroupArn: pulumi.String("arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup"),
ManagedScaling: &ecs.CapacityProviderManagedScalingArgs{
MaximumScalingStepSize: pulumi.Int(10),
MinimumScalingStepSize: pulumi.Int(1),
Status: ecs.CapacityProviderManagedScalingStatusEnabled,
TargetCapacity: pulumi.Int(100),
},
ManagedTerminationProtection: ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionEnabled,
},
Tags: []ecs.CapacityProviderTagArgs{
{
Key: pulumi.String("environment"),
Value: pulumi.String("production"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Coming soon!
import pulumi
import pulumi_aws_native as aws_native
my_capacity_provider = aws_native.ecs.CapacityProvider("myCapacityProvider",
auto_scaling_group_provider=aws_native.ecs.CapacityProviderAutoScalingGroupProviderArgs(
auto_scaling_group_arn="arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup",
managed_scaling=aws_native.ecs.CapacityProviderManagedScalingArgs(
maximum_scaling_step_size=10,
minimum_scaling_step_size=1,
status=aws_native.ecs.CapacityProviderManagedScalingStatus.ENABLED,
target_capacity=100,
),
managed_termination_protection=aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.ENABLED,
),
tags=[aws_native.ecs.CapacityProviderTagArgs(
key="environment",
value="production",
)])
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const myCapacityProvider = new aws_native.ecs.CapacityProvider("myCapacityProvider", {
autoScalingGroupProvider: {
autoScalingGroupArn: "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup",
managedScaling: {
maximumScalingStepSize: 10,
minimumScalingStepSize: 1,
status: aws_native.ecs.CapacityProviderManagedScalingStatus.Enabled,
targetCapacity: 100,
},
managedTerminationProtection: aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Enabled,
},
tags: [{
key: "environment",
value: "production",
}],
});
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var autoScalingGroupArn1 = config.Require("autoScalingGroupArn1");
var autoScalingGroupArn2 = config.Require("autoScalingGroupArn2");
var capacityProvider1 = new AwsNative.Ecs.CapacityProvider("capacityProvider1", new()
{
AutoScalingGroupProvider = new AwsNative.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
{
AutoScalingGroupArn = autoScalingGroupArn1,
ManagedScaling = new AwsNative.Ecs.Inputs.CapacityProviderManagedScalingArgs
{
Status = AwsNative.Ecs.CapacityProviderManagedScalingStatus.Enabled,
},
ManagedTerminationProtection = AwsNative.Ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Disabled,
},
});
var capacityProvider2 = new AwsNative.Ecs.CapacityProvider("capacityProvider2", new()
{
AutoScalingGroupProvider = new AwsNative.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
{
AutoScalingGroupArn = autoScalingGroupArn2,
ManagedScaling = new AwsNative.Ecs.Inputs.CapacityProviderManagedScalingArgs
{
Status = AwsNative.Ecs.CapacityProviderManagedScalingStatus.Enabled,
},
ManagedTerminationProtection = AwsNative.Ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Disabled,
},
});
var cluster = new AwsNative.Ecs.Cluster("cluster");
var clusterCPAssociation = new AwsNative.Ecs.ClusterCapacityProviderAssociations("clusterCPAssociation", new()
{
Cluster = cluster.Id,
CapacityProviders = new[]
{
capacityProvider1.Id,
capacityProvider2.Id,
},
DefaultCapacityProviderStrategy = new[]
{
new AwsNative.Ecs.Inputs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs
{
Base = 2,
Weight = 6,
CapacityProvider = capacityProvider1.Id,
},
new AwsNative.Ecs.Inputs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs
{
Base = 0,
Weight = 10,
CapacityProvider = capacityProvider2.Id,
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
autoScalingGroupArn1 := cfg.Require("autoScalingGroupArn1")
autoScalingGroupArn2 := cfg.Require("autoScalingGroupArn2")
capacityProvider1, err := ecs.NewCapacityProvider(ctx, "capacityProvider1", &ecs.CapacityProviderArgs{
AutoScalingGroupProvider: interface{}{
AutoScalingGroupArn: pulumi.String(autoScalingGroupArn1),
ManagedScaling: &ecs.CapacityProviderManagedScalingArgs{
Status: ecs.CapacityProviderManagedScalingStatusEnabled,
},
ManagedTerminationProtection: ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionDisabled,
},
})
if err != nil {
return err
}
capacityProvider2, err := ecs.NewCapacityProvider(ctx, "capacityProvider2", &ecs.CapacityProviderArgs{
AutoScalingGroupProvider: interface{}{
AutoScalingGroupArn: pulumi.String(autoScalingGroupArn2),
ManagedScaling: &ecs.CapacityProviderManagedScalingArgs{
Status: ecs.CapacityProviderManagedScalingStatusEnabled,
},
ManagedTerminationProtection: ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionDisabled,
},
})
if err != nil {
return err
}
cluster, err := ecs.NewCluster(ctx, "cluster", nil)
if err != nil {
return err
}
_, err = ecs.NewClusterCapacityProviderAssociations(ctx, "clusterCPAssociation", &ecs.ClusterCapacityProviderAssociationsArgs{
Cluster: cluster.ID(),
CapacityProviders: pulumi.StringArray{
capacityProvider1.ID(),
capacityProvider2.ID(),
},
DefaultCapacityProviderStrategy: ecs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArray{
&ecs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs{
Base: pulumi.Int(2),
Weight: pulumi.Int(6),
CapacityProvider: capacityProvider1.ID(),
},
&ecs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs{
Base: pulumi.Int(0),
Weight: pulumi.Int(10),
CapacityProvider: capacityProvider2.ID(),
},
},
})
if err != nil {
return err
}
return nil
})
}
Coming soon!
import pulumi
import pulumi_aws_native as aws_native
config = pulumi.Config()
auto_scaling_group_arn1 = config.require("autoScalingGroupArn1")
auto_scaling_group_arn2 = config.require("autoScalingGroupArn2")
capacity_provider1 = aws_native.ecs.CapacityProvider("capacityProvider1", auto_scaling_group_provider=aws_native.ecs.CapacityProviderAutoScalingGroupProviderArgs(
auto_scaling_group_arn=auto_scaling_group_arn1,
managed_scaling=aws_native.ecs.CapacityProviderManagedScalingArgs(
status=aws_native.ecs.CapacityProviderManagedScalingStatus.ENABLED,
),
managed_termination_protection=aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.DISABLED,
))
capacity_provider2 = aws_native.ecs.CapacityProvider("capacityProvider2", auto_scaling_group_provider=aws_native.ecs.CapacityProviderAutoScalingGroupProviderArgs(
auto_scaling_group_arn=auto_scaling_group_arn2,
managed_scaling=aws_native.ecs.CapacityProviderManagedScalingArgs(
status=aws_native.ecs.CapacityProviderManagedScalingStatus.ENABLED,
),
managed_termination_protection=aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.DISABLED,
))
cluster = aws_native.ecs.Cluster("cluster")
cluster_cpassociation = aws_native.ecs.ClusterCapacityProviderAssociations("clusterCPAssociation",
cluster=cluster.id,
capacity_providers=[
capacity_provider1.id,
capacity_provider2.id,
],
default_capacity_provider_strategy=[
aws_native.ecs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs(
base=2,
weight=6,
capacity_provider=capacity_provider1.id,
),
aws_native.ecs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs(
base=0,
weight=10,
capacity_provider=capacity_provider2.id,
),
])
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const config = new pulumi.Config();
const autoScalingGroupArn1 = config.require("autoScalingGroupArn1");
const autoScalingGroupArn2 = config.require("autoScalingGroupArn2");
const capacityProvider1 = new aws_native.ecs.CapacityProvider("capacityProvider1", {autoScalingGroupProvider: {
autoScalingGroupArn: autoScalingGroupArn1,
managedScaling: {
status: aws_native.ecs.CapacityProviderManagedScalingStatus.Enabled,
},
managedTerminationProtection: aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Disabled,
}});
const capacityProvider2 = new aws_native.ecs.CapacityProvider("capacityProvider2", {autoScalingGroupProvider: {
autoScalingGroupArn: autoScalingGroupArn2,
managedScaling: {
status: aws_native.ecs.CapacityProviderManagedScalingStatus.Enabled,
},
managedTerminationProtection: aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Disabled,
}});
const cluster = new aws_native.ecs.Cluster("cluster", {});
const clusterCPAssociation = new aws_native.ecs.ClusterCapacityProviderAssociations("clusterCPAssociation", {
cluster: cluster.id,
capacityProviders: [
capacityProvider1.id,
capacityProvider2.id,
],
defaultCapacityProviderStrategy: [
{
base: 2,
weight: 6,
capacityProvider: capacityProvider1.id,
},
{
base: 0,
weight: 10,
capacityProvider: capacityProvider2.id,
},
],
});
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var autoScalingGroupArn1 = config.Require("autoScalingGroupArn1");
var autoScalingGroupArn2 = config.Require("autoScalingGroupArn2");
var capacityProvider1 = new AwsNative.Ecs.CapacityProvider("capacityProvider1", new()
{
AutoScalingGroupProvider = new AwsNative.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
{
AutoScalingGroupArn = autoScalingGroupArn1,
ManagedScaling = new AwsNative.Ecs.Inputs.CapacityProviderManagedScalingArgs
{
Status = AwsNative.Ecs.CapacityProviderManagedScalingStatus.Enabled,
},
ManagedTerminationProtection = AwsNative.Ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Disabled,
},
});
var capacityProvider2 = new AwsNative.Ecs.CapacityProvider("capacityProvider2", new()
{
AutoScalingGroupProvider = new AwsNative.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
{
AutoScalingGroupArn = autoScalingGroupArn2,
ManagedScaling = new AwsNative.Ecs.Inputs.CapacityProviderManagedScalingArgs
{
Status = AwsNative.Ecs.CapacityProviderManagedScalingStatus.Enabled,
},
ManagedTerminationProtection = AwsNative.Ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Disabled,
},
});
var cluster = new AwsNative.Ecs.Cluster("cluster");
var clusterCPAssociation = new AwsNative.Ecs.ClusterCapacityProviderAssociations("clusterCPAssociation", new()
{
Cluster = cluster.Id,
CapacityProviders = new[]
{
capacityProvider1.Id,
capacityProvider2.Id,
},
DefaultCapacityProviderStrategy = new[]
{
new AwsNative.Ecs.Inputs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs
{
Base = 2,
Weight = 6,
CapacityProvider = capacityProvider1.Id,
},
new AwsNative.Ecs.Inputs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs
{
Base = 0,
Weight = 10,
CapacityProvider = capacityProvider2.Id,
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
autoScalingGroupArn1 := cfg.Require("autoScalingGroupArn1")
autoScalingGroupArn2 := cfg.Require("autoScalingGroupArn2")
capacityProvider1, err := ecs.NewCapacityProvider(ctx, "capacityProvider1", &ecs.CapacityProviderArgs{
AutoScalingGroupProvider: interface{}{
AutoScalingGroupArn: pulumi.String(autoScalingGroupArn1),
ManagedScaling: &ecs.CapacityProviderManagedScalingArgs{
Status: ecs.CapacityProviderManagedScalingStatusEnabled,
},
ManagedTerminationProtection: ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionDisabled,
},
})
if err != nil {
return err
}
capacityProvider2, err := ecs.NewCapacityProvider(ctx, "capacityProvider2", &ecs.CapacityProviderArgs{
AutoScalingGroupProvider: interface{}{
AutoScalingGroupArn: pulumi.String(autoScalingGroupArn2),
ManagedScaling: &ecs.CapacityProviderManagedScalingArgs{
Status: ecs.CapacityProviderManagedScalingStatusEnabled,
},
ManagedTerminationProtection: ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionDisabled,
},
})
if err != nil {
return err
}
cluster, err := ecs.NewCluster(ctx, "cluster", nil)
if err != nil {
return err
}
_, err = ecs.NewClusterCapacityProviderAssociations(ctx, "clusterCPAssociation", &ecs.ClusterCapacityProviderAssociationsArgs{
Cluster: cluster.ID(),
CapacityProviders: pulumi.StringArray{
capacityProvider1.ID(),
capacityProvider2.ID(),
},
DefaultCapacityProviderStrategy: ecs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArray{
&ecs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs{
Base: pulumi.Int(2),
Weight: pulumi.Int(6),
CapacityProvider: capacityProvider1.ID(),
},
&ecs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs{
Base: pulumi.Int(0),
Weight: pulumi.Int(10),
CapacityProvider: capacityProvider2.ID(),
},
},
})
if err != nil {
return err
}
return nil
})
}
Coming soon!
import pulumi
import pulumi_aws_native as aws_native
config = pulumi.Config()
auto_scaling_group_arn1 = config.require("autoScalingGroupArn1")
auto_scaling_group_arn2 = config.require("autoScalingGroupArn2")
capacity_provider1 = aws_native.ecs.CapacityProvider("capacityProvider1", auto_scaling_group_provider=aws_native.ecs.CapacityProviderAutoScalingGroupProviderArgs(
auto_scaling_group_arn=auto_scaling_group_arn1,
managed_scaling=aws_native.ecs.CapacityProviderManagedScalingArgs(
status=aws_native.ecs.CapacityProviderManagedScalingStatus.ENABLED,
),
managed_termination_protection=aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.DISABLED,
))
capacity_provider2 = aws_native.ecs.CapacityProvider("capacityProvider2", auto_scaling_group_provider=aws_native.ecs.CapacityProviderAutoScalingGroupProviderArgs(
auto_scaling_group_arn=auto_scaling_group_arn2,
managed_scaling=aws_native.ecs.CapacityProviderManagedScalingArgs(
status=aws_native.ecs.CapacityProviderManagedScalingStatus.ENABLED,
),
managed_termination_protection=aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.DISABLED,
))
cluster = aws_native.ecs.Cluster("cluster")
cluster_cpassociation = aws_native.ecs.ClusterCapacityProviderAssociations("clusterCPAssociation",
cluster=cluster.id,
capacity_providers=[
capacity_provider1.id,
capacity_provider2.id,
],
default_capacity_provider_strategy=[
aws_native.ecs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs(
base=2,
weight=6,
capacity_provider=capacity_provider1.id,
),
aws_native.ecs.ClusterCapacityProviderAssociationsCapacityProviderStrategyArgs(
base=0,
weight=10,
capacity_provider=capacity_provider2.id,
),
])
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const config = new pulumi.Config();
const autoScalingGroupArn1 = config.require("autoScalingGroupArn1");
const autoScalingGroupArn2 = config.require("autoScalingGroupArn2");
const capacityProvider1 = new aws_native.ecs.CapacityProvider("capacityProvider1", {autoScalingGroupProvider: {
autoScalingGroupArn: autoScalingGroupArn1,
managedScaling: {
status: aws_native.ecs.CapacityProviderManagedScalingStatus.Enabled,
},
managedTerminationProtection: aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Disabled,
}});
const capacityProvider2 = new aws_native.ecs.CapacityProvider("capacityProvider2", {autoScalingGroupProvider: {
autoScalingGroupArn: autoScalingGroupArn2,
managedScaling: {
status: aws_native.ecs.CapacityProviderManagedScalingStatus.Enabled,
},
managedTerminationProtection: aws_native.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection.Disabled,
}});
const cluster = new aws_native.ecs.Cluster("cluster", {});
const clusterCPAssociation = new aws_native.ecs.ClusterCapacityProviderAssociations("clusterCPAssociation", {
cluster: cluster.id,
capacityProviders: [
capacityProvider1.id,
capacityProvider2.id,
],
defaultCapacityProviderStrategy: [
{
base: 2,
weight: 6,
capacityProvider: capacityProvider1.id,
},
{
base: 0,
weight: 10,
capacityProvider: capacityProvider2.id,
},
],
});
Coming soon!
Create CapacityProvider Resource
new CapacityProvider(name: string, args: CapacityProviderArgs, opts?: CustomResourceOptions);
@overload
def CapacityProvider(resource_name: str,
opts: Optional[ResourceOptions] = None,
auto_scaling_group_provider: Optional[CapacityProviderAutoScalingGroupProviderArgs] = None,
name: Optional[str] = None,
tags: Optional[Sequence[CapacityProviderTagArgs]] = None)
@overload
def CapacityProvider(resource_name: str,
args: CapacityProviderArgs,
opts: Optional[ResourceOptions] = None)
func NewCapacityProvider(ctx *Context, name string, args CapacityProviderArgs, opts ...ResourceOption) (*CapacityProvider, error)
public CapacityProvider(string name, CapacityProviderArgs args, CustomResourceOptions? opts = null)
public CapacityProvider(String name, CapacityProviderArgs args)
public CapacityProvider(String name, CapacityProviderArgs args, CustomResourceOptions options)
type: aws-native:ecs:CapacityProvider
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CapacityProviderArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args CapacityProviderArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args CapacityProviderArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CapacityProviderArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args CapacityProviderArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
CapacityProvider Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The CapacityProvider resource accepts the following input properties:
Outputs
All input properties are implicitly available as output properties. Additionally, the CapacityProvider resource produces the following output properties:
- Id string
The provider-assigned unique ID for this managed resource.
- Id string
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
- id string
The provider-assigned unique ID for this managed resource.
- id str
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
Supporting Types
CapacityProviderAutoScalingGroupProvider, CapacityProviderAutoScalingGroupProviderArgs
CapacityProviderAutoScalingGroupProviderManagedTerminationProtection, CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionArgs
- Disabled
- DISABLED
- Enabled
- ENABLED
- Capacity
Provider Auto Scaling Group Provider Managed Termination Protection Disabled - DISABLED
- Capacity
Provider Auto Scaling Group Provider Managed Termination Protection Enabled - ENABLED
- Disabled
- DISABLED
- Enabled
- ENABLED
- Disabled
- DISABLED
- Enabled
- ENABLED
- DISABLED
- DISABLED
- ENABLED
- ENABLED
- "DISABLED"
- DISABLED
- "ENABLED"
- ENABLED
CapacityProviderManagedScaling, CapacityProviderManagedScalingArgs
- instance
Warmup IntegerPeriod - maximum
Scaling IntegerStep Size - minimum
Scaling IntegerStep Size - status
Capacity
Provider Managed Scaling Status - target
Capacity Integer
- instance
Warmup NumberPeriod - maximum
Scaling NumberStep Size - minimum
Scaling NumberStep Size - status "DISABLED" | "ENABLED"
- target
Capacity Number
CapacityProviderManagedScalingStatus, CapacityProviderManagedScalingStatusArgs
- Disabled
- DISABLED
- Enabled
- ENABLED
- Capacity
Provider Managed Scaling Status Disabled - DISABLED
- Capacity
Provider Managed Scaling Status Enabled - ENABLED
- Disabled
- DISABLED
- Enabled
- ENABLED
- Disabled
- DISABLED
- Enabled
- ENABLED
- DISABLED
- DISABLED
- ENABLED
- ENABLED
- "DISABLED"
- DISABLED
- "ENABLED"
- ENABLED
CapacityProviderTag, CapacityProviderTagArgs
Package Details
- Repository
- AWS Native pulumi/pulumi-aws-native
- License
- Apache-2.0
AWS Native is in preview. AWS Classic is fully supported.