1. Packages
  2. AWS
  3. API Docs
  4. ecs
  5. CapacityProvider
AWS v6.76.0 published on Tuesday, Apr 8, 2025 by Pulumi

aws.ecs.CapacityProvider

Explore with Pulumi AI

Provides an ECS cluster capacity provider. More information can be found on the ECS Developer Guide.

NOTE: Associating an ECS Capacity Provider to an Auto Scaling Group will automatically add the AmazonECSManaged tag to the Auto Scaling Group. This tag should be included in the aws.autoscaling.Group resource configuration to prevent the provider from removing it in subsequent executions as well as ensuring the AmazonECSManaged tag is propagated to all EC2 Instances in the Auto Scaling Group if min_size is above 0 on creation. Any EC2 Instances in the Auto Scaling Group without this tag must be manually be updated, otherwise they may cause unexpected scaling behavior and metrics.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const test = new aws.autoscaling.Group("test", {tags: [{
    key: "AmazonECSManaged",
    value: "true",
    propagateAtLaunch: true,
}]});
const testCapacityProvider = new aws.ecs.CapacityProvider("test", {
    name: "test",
    autoScalingGroupProvider: {
        autoScalingGroupArn: test.arn,
        managedTerminationProtection: "ENABLED",
        managedScaling: {
            maximumScalingStepSize: 1000,
            minimumScalingStepSize: 1,
            status: "ENABLED",
            targetCapacity: 10,
        },
    },
});
Copy
import pulumi
import pulumi_aws as aws

test = aws.autoscaling.Group("test", tags=[{
    "key": "AmazonECSManaged",
    "value": "true",
    "propagate_at_launch": True,
}])
test_capacity_provider = aws.ecs.CapacityProvider("test",
    name="test",
    auto_scaling_group_provider={
        "auto_scaling_group_arn": test.arn,
        "managed_termination_protection": "ENABLED",
        "managed_scaling": {
            "maximum_scaling_step_size": 1000,
            "minimum_scaling_step_size": 1,
            "status": "ENABLED",
            "target_capacity": 10,
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := autoscaling.NewGroup(ctx, "test", &autoscaling.GroupArgs{
			Tags: autoscaling.GroupTagArray{
				&autoscaling.GroupTagArgs{
					Key:               pulumi.String("AmazonECSManaged"),
					Value:             pulumi.String("true"),
					PropagateAtLaunch: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewCapacityProvider(ctx, "test", &ecs.CapacityProviderArgs{
			Name: pulumi.String("test"),
			AutoScalingGroupProvider: &ecs.CapacityProviderAutoScalingGroupProviderArgs{
				AutoScalingGroupArn:          test.Arn,
				ManagedTerminationProtection: pulumi.String("ENABLED"),
				ManagedScaling: &ecs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs{
					MaximumScalingStepSize: pulumi.Int(1000),
					MinimumScalingStepSize: pulumi.Int(1),
					Status:                 pulumi.String("ENABLED"),
					TargetCapacity:         pulumi.Int(10),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var test = new Aws.AutoScaling.Group("test", new()
    {
        Tags = new[]
        {
            new Aws.AutoScaling.Inputs.GroupTagArgs
            {
                Key = "AmazonECSManaged",
                Value = "true",
                PropagateAtLaunch = true,
            },
        },
    });

    var testCapacityProvider = new Aws.Ecs.CapacityProvider("test", new()
    {
        Name = "test",
        AutoScalingGroupProvider = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
        {
            AutoScalingGroupArn = test.Arn,
            ManagedTerminationProtection = "ENABLED",
            ManagedScaling = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs
            {
                MaximumScalingStepSize = 1000,
                MinimumScalingStepSize = 1,
                Status = "ENABLED",
                TargetCapacity = 10,
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.inputs.GroupTagArgs;
import com.pulumi.aws.ecs.CapacityProvider;
import com.pulumi.aws.ecs.CapacityProviderArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderAutoScalingGroupProviderArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var test = new Group("test", GroupArgs.builder()
            .tags(GroupTagArgs.builder()
                .key("AmazonECSManaged")
                .value(true)
                .propagateAtLaunch(true)
                .build())
            .build());

        var testCapacityProvider = new CapacityProvider("testCapacityProvider", CapacityProviderArgs.builder()
            .name("test")
            .autoScalingGroupProvider(CapacityProviderAutoScalingGroupProviderArgs.builder()
                .autoScalingGroupArn(test.arn())
                .managedTerminationProtection("ENABLED")
                .managedScaling(CapacityProviderAutoScalingGroupProviderManagedScalingArgs.builder()
                    .maximumScalingStepSize(1000)
                    .minimumScalingStepSize(1)
                    .status("ENABLED")
                    .targetCapacity(10)
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  test:
    type: aws:autoscaling:Group
    properties:
      tags:
        - key: AmazonECSManaged
          value: true
          propagateAtLaunch: true
  testCapacityProvider:
    type: aws:ecs:CapacityProvider
    name: test
    properties:
      name: test
      autoScalingGroupProvider:
        autoScalingGroupArn: ${test.arn}
        managedTerminationProtection: ENABLED
        managedScaling:
          maximumScalingStepSize: 1000
          minimumScalingStepSize: 1
          status: ENABLED
          targetCapacity: 10
Copy

Create CapacityProvider Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new CapacityProvider(name: string, args: CapacityProviderArgs, opts?: CustomResourceOptions);
@overload
def CapacityProvider(resource_name: str,
                     args: CapacityProviderArgs,
                     opts: Optional[ResourceOptions] = None)

@overload
def CapacityProvider(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     auto_scaling_group_provider: Optional[CapacityProviderAutoScalingGroupProviderArgs] = None,
                     name: Optional[str] = None,
                     tags: Optional[Mapping[str, str]] = 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:ecs:CapacityProvider
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. CapacityProviderArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. CapacityProviderArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. CapacityProviderArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. CapacityProviderArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var capacityProviderResource = new Aws.Ecs.CapacityProvider("capacityProviderResource", new()
{
    AutoScalingGroupProvider = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
    {
        AutoScalingGroupArn = "string",
        ManagedDraining = "string",
        ManagedScaling = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs
        {
            InstanceWarmupPeriod = 0,
            MaximumScalingStepSize = 0,
            MinimumScalingStepSize = 0,
            Status = "string",
            TargetCapacity = 0,
        },
        ManagedTerminationProtection = "string",
    },
    Name = "string",
    Tags = 
    {
        { "string", "string" },
    },
});
Copy
example, err := ecs.NewCapacityProvider(ctx, "capacityProviderResource", &ecs.CapacityProviderArgs{
	AutoScalingGroupProvider: &ecs.CapacityProviderAutoScalingGroupProviderArgs{
		AutoScalingGroupArn: pulumi.String("string"),
		ManagedDraining:     pulumi.String("string"),
		ManagedScaling: &ecs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs{
			InstanceWarmupPeriod:   pulumi.Int(0),
			MaximumScalingStepSize: pulumi.Int(0),
			MinimumScalingStepSize: pulumi.Int(0),
			Status:                 pulumi.String("string"),
			TargetCapacity:         pulumi.Int(0),
		},
		ManagedTerminationProtection: pulumi.String("string"),
	},
	Name: pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
Copy
var capacityProviderResource = new CapacityProvider("capacityProviderResource", CapacityProviderArgs.builder()
    .autoScalingGroupProvider(CapacityProviderAutoScalingGroupProviderArgs.builder()
        .autoScalingGroupArn("string")
        .managedDraining("string")
        .managedScaling(CapacityProviderAutoScalingGroupProviderManagedScalingArgs.builder()
            .instanceWarmupPeriod(0)
            .maximumScalingStepSize(0)
            .minimumScalingStepSize(0)
            .status("string")
            .targetCapacity(0)
            .build())
        .managedTerminationProtection("string")
        .build())
    .name("string")
    .tags(Map.of("string", "string"))
    .build());
Copy
capacity_provider_resource = aws.ecs.CapacityProvider("capacityProviderResource",
    auto_scaling_group_provider={
        "auto_scaling_group_arn": "string",
        "managed_draining": "string",
        "managed_scaling": {
            "instance_warmup_period": 0,
            "maximum_scaling_step_size": 0,
            "minimum_scaling_step_size": 0,
            "status": "string",
            "target_capacity": 0,
        },
        "managed_termination_protection": "string",
    },
    name="string",
    tags={
        "string": "string",
    })
Copy
const capacityProviderResource = new aws.ecs.CapacityProvider("capacityProviderResource", {
    autoScalingGroupProvider: {
        autoScalingGroupArn: "string",
        managedDraining: "string",
        managedScaling: {
            instanceWarmupPeriod: 0,
            maximumScalingStepSize: 0,
            minimumScalingStepSize: 0,
            status: "string",
            targetCapacity: 0,
        },
        managedTerminationProtection: "string",
    },
    name: "string",
    tags: {
        string: "string",
    },
});
Copy
type: aws:ecs:CapacityProvider
properties:
    autoScalingGroupProvider:
        autoScalingGroupArn: string
        managedDraining: string
        managedScaling:
            instanceWarmupPeriod: 0
            maximumScalingStepSize: 0
            minimumScalingStepSize: 0
            status: string
            targetCapacity: 0
        managedTerminationProtection: string
    name: string
    tags:
        string: string
Copy

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

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The CapacityProvider resource accepts the following input properties:

AutoScalingGroupProvider
This property is required.
Changes to this property will trigger replacement.
CapacityProviderAutoScalingGroupProvider
Configuration block for the provider for the ECS auto scaling group. Detailed below.
Name Changes to this property will trigger replacement. string
Name of the capacity provider.
Tags Dictionary<string, string>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
AutoScalingGroupProvider
This property is required.
Changes to this property will trigger replacement.
CapacityProviderAutoScalingGroupProviderArgs
Configuration block for the provider for the ECS auto scaling group. Detailed below.
Name Changes to this property will trigger replacement. string
Name of the capacity provider.
Tags map[string]string
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
autoScalingGroupProvider
This property is required.
Changes to this property will trigger replacement.
CapacityProviderAutoScalingGroupProvider
Configuration block for the provider for the ECS auto scaling group. Detailed below.
name Changes to this property will trigger replacement. String
Name of the capacity provider.
tags Map<String,String>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
autoScalingGroupProvider
This property is required.
Changes to this property will trigger replacement.
CapacityProviderAutoScalingGroupProvider
Configuration block for the provider for the ECS auto scaling group. Detailed below.
name Changes to this property will trigger replacement. string
Name of the capacity provider.
tags {[key: string]: string}
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
auto_scaling_group_provider
This property is required.
Changes to this property will trigger replacement.
CapacityProviderAutoScalingGroupProviderArgs
Configuration block for the provider for the ECS auto scaling group. Detailed below.
name Changes to this property will trigger replacement. str
Name of the capacity provider.
tags Mapping[str, str]
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
autoScalingGroupProvider
This property is required.
Changes to this property will trigger replacement.
Property Map
Configuration block for the provider for the ECS auto scaling group. Detailed below.
name Changes to this property will trigger replacement. String
Name of the capacity provider.
tags Map<String>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Outputs

All input properties are implicitly available as output properties. Additionally, the CapacityProvider resource produces the following output properties:

Arn string
ARN that identifies the capacity provider.
Id string
The provider-assigned unique ID for this managed resource.
TagsAll Dictionary<string, string>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Arn string
ARN that identifies the capacity provider.
Id string
The provider-assigned unique ID for this managed resource.
TagsAll map[string]string
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn String
ARN that identifies the capacity provider.
id String
The provider-assigned unique ID for this managed resource.
tagsAll Map<String,String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn string
ARN that identifies the capacity provider.
id string
The provider-assigned unique ID for this managed resource.
tagsAll {[key: string]: string}
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn str
ARN that identifies the capacity provider.
id str
The provider-assigned unique ID for this managed resource.
tags_all Mapping[str, str]
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn String
ARN that identifies the capacity provider.
id String
The provider-assigned unique ID for this managed resource.
tagsAll Map<String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Look up Existing CapacityProvider Resource

Get an existing CapacityProvider resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: CapacityProviderState, opts?: CustomResourceOptions): CapacityProvider
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        auto_scaling_group_provider: Optional[CapacityProviderAutoScalingGroupProviderArgs] = None,
        name: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None) -> CapacityProvider
func GetCapacityProvider(ctx *Context, name string, id IDInput, state *CapacityProviderState, opts ...ResourceOption) (*CapacityProvider, error)
public static CapacityProvider Get(string name, Input<string> id, CapacityProviderState? state, CustomResourceOptions? opts = null)
public static CapacityProvider get(String name, Output<String> id, CapacityProviderState state, CustomResourceOptions options)
resources:  _:    type: aws:ecs:CapacityProvider    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Arn string
ARN that identifies the capacity provider.
AutoScalingGroupProvider Changes to this property will trigger replacement. CapacityProviderAutoScalingGroupProvider
Configuration block for the provider for the ECS auto scaling group. Detailed below.
Name Changes to this property will trigger replacement. string
Name of the capacity provider.
Tags Dictionary<string, string>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Arn string
ARN that identifies the capacity provider.
AutoScalingGroupProvider Changes to this property will trigger replacement. CapacityProviderAutoScalingGroupProviderArgs
Configuration block for the provider for the ECS auto scaling group. Detailed below.
Name Changes to this property will trigger replacement. string
Name of the capacity provider.
Tags map[string]string
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn String
ARN that identifies the capacity provider.
autoScalingGroupProvider Changes to this property will trigger replacement. CapacityProviderAutoScalingGroupProvider
Configuration block for the provider for the ECS auto scaling group. Detailed below.
name Changes to this property will trigger replacement. String
Name of the capacity provider.
tags Map<String,String>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll Map<String,String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn string
ARN that identifies the capacity provider.
autoScalingGroupProvider Changes to this property will trigger replacement. CapacityProviderAutoScalingGroupProvider
Configuration block for the provider for the ECS auto scaling group. Detailed below.
name Changes to this property will trigger replacement. string
Name of the capacity provider.
tags {[key: string]: string}
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn str
ARN that identifies the capacity provider.
auto_scaling_group_provider Changes to this property will trigger replacement. CapacityProviderAutoScalingGroupProviderArgs
Configuration block for the provider for the ECS auto scaling group. Detailed below.
name Changes to this property will trigger replacement. str
Name of the capacity provider.
tags Mapping[str, str]
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn String
ARN that identifies the capacity provider.
autoScalingGroupProvider Changes to this property will trigger replacement. Property Map
Configuration block for the provider for the ECS auto scaling group. Detailed below.
name Changes to this property will trigger replacement. String
Name of the capacity provider.
tags Map<String>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll Map<String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Supporting Types

CapacityProviderAutoScalingGroupProvider
, CapacityProviderAutoScalingGroupProviderArgs

AutoScalingGroupArn
This property is required.
Changes to this property will trigger replacement.
string
ARN of the associated auto scaling group.
ManagedDraining string
Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are ENABLED and DISABLED. The default value is ENABLED when a capacity provider is created.
ManagedScaling CapacityProviderAutoScalingGroupProviderManagedScaling
Configuration block defining the parameters of the auto scaling. Detailed below.
ManagedTerminationProtection string
Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are ENABLED and DISABLED.
AutoScalingGroupArn
This property is required.
Changes to this property will trigger replacement.
string
ARN of the associated auto scaling group.
ManagedDraining string
Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are ENABLED and DISABLED. The default value is ENABLED when a capacity provider is created.
ManagedScaling CapacityProviderAutoScalingGroupProviderManagedScaling
Configuration block defining the parameters of the auto scaling. Detailed below.
ManagedTerminationProtection string
Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are ENABLED and DISABLED.
autoScalingGroupArn
This property is required.
Changes to this property will trigger replacement.
String
ARN of the associated auto scaling group.
managedDraining String
Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are ENABLED and DISABLED. The default value is ENABLED when a capacity provider is created.
managedScaling CapacityProviderAutoScalingGroupProviderManagedScaling
Configuration block defining the parameters of the auto scaling. Detailed below.
managedTerminationProtection String
Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are ENABLED and DISABLED.
autoScalingGroupArn
This property is required.
Changes to this property will trigger replacement.
string
ARN of the associated auto scaling group.
managedDraining string
Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are ENABLED and DISABLED. The default value is ENABLED when a capacity provider is created.
managedScaling CapacityProviderAutoScalingGroupProviderManagedScaling
Configuration block defining the parameters of the auto scaling. Detailed below.
managedTerminationProtection string
Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are ENABLED and DISABLED.
auto_scaling_group_arn
This property is required.
Changes to this property will trigger replacement.
str
ARN of the associated auto scaling group.
managed_draining str
Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are ENABLED and DISABLED. The default value is ENABLED when a capacity provider is created.
managed_scaling CapacityProviderAutoScalingGroupProviderManagedScaling
Configuration block defining the parameters of the auto scaling. Detailed below.
managed_termination_protection str
Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are ENABLED and DISABLED.
autoScalingGroupArn
This property is required.
Changes to this property will trigger replacement.
String
ARN of the associated auto scaling group.
managedDraining String
Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are ENABLED and DISABLED. The default value is ENABLED when a capacity provider is created.
managedScaling Property Map
Configuration block defining the parameters of the auto scaling. Detailed below.
managedTerminationProtection String
Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are ENABLED and DISABLED.

CapacityProviderAutoScalingGroupProviderManagedScaling
, CapacityProviderAutoScalingGroupProviderManagedScalingArgs

InstanceWarmupPeriod int

Period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of 300 seconds is used.

For more information on how the instance warmup period contributes to managed scale-out behavior, see Control the instances Amazon ECS terminates in the Amazon Elastic Container Service Developer Guide.

MaximumScalingStepSize int
Maximum step adjustment size. A number between 1 and 10,000.
MinimumScalingStepSize int
Minimum step adjustment size. A number between 1 and 10,000.
Status string
Whether auto scaling is managed by ECS. Valid values are ENABLED and DISABLED.
TargetCapacity int
Target utilization for the capacity provider. A number between 1 and 100.
InstanceWarmupPeriod int

Period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of 300 seconds is used.

For more information on how the instance warmup period contributes to managed scale-out behavior, see Control the instances Amazon ECS terminates in the Amazon Elastic Container Service Developer Guide.

MaximumScalingStepSize int
Maximum step adjustment size. A number between 1 and 10,000.
MinimumScalingStepSize int
Minimum step adjustment size. A number between 1 and 10,000.
Status string
Whether auto scaling is managed by ECS. Valid values are ENABLED and DISABLED.
TargetCapacity int
Target utilization for the capacity provider. A number between 1 and 100.
instanceWarmupPeriod Integer

Period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of 300 seconds is used.

For more information on how the instance warmup period contributes to managed scale-out behavior, see Control the instances Amazon ECS terminates in the Amazon Elastic Container Service Developer Guide.

maximumScalingStepSize Integer
Maximum step adjustment size. A number between 1 and 10,000.
minimumScalingStepSize Integer
Minimum step adjustment size. A number between 1 and 10,000.
status String
Whether auto scaling is managed by ECS. Valid values are ENABLED and DISABLED.
targetCapacity Integer
Target utilization for the capacity provider. A number between 1 and 100.
instanceWarmupPeriod number

Period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of 300 seconds is used.

For more information on how the instance warmup period contributes to managed scale-out behavior, see Control the instances Amazon ECS terminates in the Amazon Elastic Container Service Developer Guide.

maximumScalingStepSize number
Maximum step adjustment size. A number between 1 and 10,000.
minimumScalingStepSize number
Minimum step adjustment size. A number between 1 and 10,000.
status string
Whether auto scaling is managed by ECS. Valid values are ENABLED and DISABLED.
targetCapacity number
Target utilization for the capacity provider. A number between 1 and 100.
instance_warmup_period int

Period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of 300 seconds is used.

For more information on how the instance warmup period contributes to managed scale-out behavior, see Control the instances Amazon ECS terminates in the Amazon Elastic Container Service Developer Guide.

maximum_scaling_step_size int
Maximum step adjustment size. A number between 1 and 10,000.
minimum_scaling_step_size int
Minimum step adjustment size. A number between 1 and 10,000.
status str
Whether auto scaling is managed by ECS. Valid values are ENABLED and DISABLED.
target_capacity int
Target utilization for the capacity provider. A number between 1 and 100.
instanceWarmupPeriod Number

Period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of 300 seconds is used.

For more information on how the instance warmup period contributes to managed scale-out behavior, see Control the instances Amazon ECS terminates in the Amazon Elastic Container Service Developer Guide.

maximumScalingStepSize Number
Maximum step adjustment size. A number between 1 and 10,000.
minimumScalingStepSize Number
Minimum step adjustment size. A number between 1 and 10,000.
status String
Whether auto scaling is managed by ECS. Valid values are ENABLED and DISABLED.
targetCapacity Number
Target utilization for the capacity provider. A number between 1 and 100.

Import

Using pulumi import, import ECS Capacity Providers using the name. For example:

$ pulumi import aws:ecs/capacityProvider:CapacityProvider example example
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.