1. Packages
  2. AWS
  3. API Docs
  4. ecs
  5. CapacityProvider
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

aws.ecs.CapacityProvider

Explore with Pulumi AI

aws logo
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

    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,
            },
        },
    });
    
    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,
            },
        })
    
    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
    	})
    }
    
    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,
                },
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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
    

    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 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.

    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" },
        },
    });
    
    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"),
    	},
    })
    
    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());
    
    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",
        })
    
    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",
        },
    });
    
    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
    

    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 CapacityProviderAutoScalingGroupProvider
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    Name 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 CapacityProviderAutoScalingGroupProviderArgs
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    Name 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 CapacityProviderAutoScalingGroupProvider
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    name 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 CapacityProviderAutoScalingGroupProvider
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    name 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 CapacityProviderAutoScalingGroupProviderArgs
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    name 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 Property Map
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    name 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)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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 CapacityProviderAutoScalingGroupProvider
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    Name 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 CapacityProviderAutoScalingGroupProviderArgs
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    Name 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 CapacityProviderAutoScalingGroupProvider
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    name 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 CapacityProviderAutoScalingGroupProvider
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    name 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 CapacityProviderAutoScalingGroupProviderArgs
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    name 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 Property Map
    Configuration block for the provider for the ECS auto scaling group. Detailed below.
    name 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 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 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 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 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 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 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
    

    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.
    aws logo
    AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi