1. Packages
  2. AWS
  3. API Docs
  4. ecs
  5. CapacityProvider
AWS v7.10.0 published on Friday, Oct 24, 2025 by Pulumi

aws.ecs.CapacityProvider

Get Started
aws logo
AWS v7.10.0 published on Friday, Oct 24, 2025 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.

    NOTE: You must specify exactly one of auto_scaling_group_provider or managed_instances_provider. When using managed_instances_provider, the cluster parameter is required. When using auto_scaling_group_provider, the cluster parameter must not be set.

    Example Usage

    Auto Scaling Group Provider

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.autoscaling.Group("example", {tags: [{
        key: "AmazonECSManaged",
        value: "true",
        propagateAtLaunch: true,
    }]});
    const exampleCapacityProvider = new aws.ecs.CapacityProvider("example", {
        name: "example",
        autoScalingGroupProvider: {
            autoScalingGroupArn: example.arn,
            managedTerminationProtection: "ENABLED",
            managedScaling: {
                maximumScalingStepSize: 1000,
                minimumScalingStepSize: 1,
                status: "ENABLED",
                targetCapacity: 10,
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.autoscaling.Group("example", tags=[{
        "key": "AmazonECSManaged",
        "value": "true",
        "propagate_at_launch": True,
    }])
    example_capacity_provider = aws.ecs.CapacityProvider("example",
        name="example",
        auto_scaling_group_provider={
            "auto_scaling_group_arn": example.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/v7/go/aws/autoscaling"
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := autoscaling.NewGroup(ctx, "example", &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, "example", &ecs.CapacityProviderArgs{
    			Name: pulumi.String("example"),
    			AutoScalingGroupProvider: &ecs.CapacityProviderAutoScalingGroupProviderArgs{
    				AutoScalingGroupArn:          example.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 example = new Aws.AutoScaling.Group("example", new()
        {
            Tags = new[]
            {
                new Aws.AutoScaling.Inputs.GroupTagArgs
                {
                    Key = "AmazonECSManaged",
                    Value = "true",
                    PropagateAtLaunch = true,
                },
            },
        });
    
        var exampleCapacityProvider = new Aws.Ecs.CapacityProvider("example", new()
        {
            Name = "example",
            AutoScalingGroupProvider = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
            {
                AutoScalingGroupArn = example.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 example = new Group("example", GroupArgs.builder()
                .tags(GroupTagArgs.builder()
                    .key("AmazonECSManaged")
                    .value("true")
                    .propagateAtLaunch(true)
                    .build())
                .build());
    
            var exampleCapacityProvider = new CapacityProvider("exampleCapacityProvider", CapacityProviderArgs.builder()
                .name("example")
                .autoScalingGroupProvider(CapacityProviderAutoScalingGroupProviderArgs.builder()
                    .autoScalingGroupArn(example.arn())
                    .managedTerminationProtection("ENABLED")
                    .managedScaling(CapacityProviderAutoScalingGroupProviderManagedScalingArgs.builder()
                        .maximumScalingStepSize(1000)
                        .minimumScalingStepSize(1)
                        .status("ENABLED")
                        .targetCapacity(10)
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:autoscaling:Group
        properties:
          tags:
            - key: AmazonECSManaged
              value: true
              propagateAtLaunch: true
      exampleCapacityProvider:
        type: aws:ecs:CapacityProvider
        name: example
        properties:
          name: example
          autoScalingGroupProvider:
            autoScalingGroupArn: ${example.arn}
            managedTerminationProtection: ENABLED
            managedScaling:
              maximumScalingStepSize: 1000
              minimumScalingStepSize: 1
              status: ENABLED
              targetCapacity: 10
    

    Managed Instances Provider

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.ecs.CapacityProvider("example", {
        name: "example",
        cluster: "my-cluster",
        managedInstancesProvider: {
            infrastructureRoleArn: ecsInfrastructure.arn,
            propagateTags: "TASK_DEFINITION",
            instanceLaunchTemplate: {
                ec2InstanceProfileArn: ecsInstance.arn,
                monitoring: "ENABLED",
                networkConfiguration: {
                    subnets: [exampleAwsSubnet.id],
                    securityGroups: [exampleAwsSecurityGroup.id],
                },
                storageConfiguration: {
                    storageSizeGib: 30,
                },
                instanceRequirements: {
                    memoryMib: {
                        min: 1024,
                        max: 8192,
                    },
                    vcpuCount: {
                        min: 1,
                        max: 4,
                    },
                    instanceGenerations: ["current"],
                    cpuManufacturers: [
                        "intel",
                        "amd",
                    ],
                },
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.ecs.CapacityProvider("example",
        name="example",
        cluster="my-cluster",
        managed_instances_provider={
            "infrastructure_role_arn": ecs_infrastructure["arn"],
            "propagate_tags": "TASK_DEFINITION",
            "instance_launch_template": {
                "ec2_instance_profile_arn": ecs_instance["arn"],
                "monitoring": "ENABLED",
                "network_configuration": {
                    "subnets": [example_aws_subnet["id"]],
                    "security_groups": [example_aws_security_group["id"]],
                },
                "storage_configuration": {
                    "storage_size_gib": 30,
                },
                "instance_requirements": {
                    "memory_mib": {
                        "min": 1024,
                        "max": 8192,
                    },
                    "vcpu_count": {
                        "min": 1,
                        "max": 4,
                    },
                    "instance_generations": ["current"],
                    "cpu_manufacturers": [
                        "intel",
                        "amd",
                    ],
                },
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ecs.NewCapacityProvider(ctx, "example", &ecs.CapacityProviderArgs{
    			Name:    pulumi.String("example"),
    			Cluster: pulumi.String("my-cluster"),
    			ManagedInstancesProvider: &ecs.CapacityProviderManagedInstancesProviderArgs{
    				InfrastructureRoleArn: pulumi.Any(ecsInfrastructure.Arn),
    				PropagateTags:         pulumi.String("TASK_DEFINITION"),
    				InstanceLaunchTemplate: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs{
    					Ec2InstanceProfileArn: pulumi.Any(ecsInstance.Arn),
    					Monitoring:            pulumi.String("ENABLED"),
    					NetworkConfiguration: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs{
    						Subnets: pulumi.StringArray{
    							exampleAwsSubnet.Id,
    						},
    						SecurityGroups: pulumi.StringArray{
    							exampleAwsSecurityGroup.Id,
    						},
    					},
    					StorageConfiguration: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs{
    						StorageSizeGib: pulumi.Int(30),
    					},
    					InstanceRequirements: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs{
    						MemoryMib: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs{
    							Min: pulumi.Int(1024),
    							Max: pulumi.Int(8192),
    						},
    						VcpuCount: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs{
    							Min: pulumi.Int(1),
    							Max: pulumi.Int(4),
    						},
    						InstanceGenerations: pulumi.StringArray{
    							pulumi.String("current"),
    						},
    						CpuManufacturers: pulumi.StringArray{
    							pulumi.String("intel"),
    							pulumi.String("amd"),
    						},
    					},
    				},
    			},
    		})
    		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 example = new Aws.Ecs.CapacityProvider("example", new()
        {
            Name = "example",
            Cluster = "my-cluster",
            ManagedInstancesProvider = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderArgs
            {
                InfrastructureRoleArn = ecsInfrastructure.Arn,
                PropagateTags = "TASK_DEFINITION",
                InstanceLaunchTemplate = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs
                {
                    Ec2InstanceProfileArn = ecsInstance.Arn,
                    Monitoring = "ENABLED",
                    NetworkConfiguration = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs
                    {
                        Subnets = new[]
                        {
                            exampleAwsSubnet.Id,
                        },
                        SecurityGroups = new[]
                        {
                            exampleAwsSecurityGroup.Id,
                        },
                    },
                    StorageConfiguration = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs
                    {
                        StorageSizeGib = 30,
                    },
                    InstanceRequirements = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs
                    {
                        MemoryMib = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs
                        {
                            Min = 1024,
                            Max = 8192,
                        },
                        VcpuCount = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs
                        {
                            Min = 1,
                            Max = 4,
                        },
                        InstanceGenerations = new[]
                        {
                            "current",
                        },
                        CpuManufacturers = new[]
                        {
                            "intel",
                            "amd",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.ecs.CapacityProvider;
    import com.pulumi.aws.ecs.CapacityProviderArgs;
    import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderArgs;
    import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs;
    import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs;
    import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs;
    import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs;
    import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs;
    import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs;
    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 example = new CapacityProvider("example", CapacityProviderArgs.builder()
                .name("example")
                .cluster("my-cluster")
                .managedInstancesProvider(CapacityProviderManagedInstancesProviderArgs.builder()
                    .infrastructureRoleArn(ecsInfrastructure.arn())
                    .propagateTags("TASK_DEFINITION")
                    .instanceLaunchTemplate(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs.builder()
                        .ec2InstanceProfileArn(ecsInstance.arn())
                        .monitoring("ENABLED")
                        .networkConfiguration(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs.builder()
                            .subnets(exampleAwsSubnet.id())
                            .securityGroups(exampleAwsSecurityGroup.id())
                            .build())
                        .storageConfiguration(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs.builder()
                            .storageSizeGib(30)
                            .build())
                        .instanceRequirements(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs.builder()
                            .memoryMib(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs.builder()
                                .min(1024)
                                .max(8192)
                                .build())
                            .vcpuCount(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs.builder()
                                .min(1)
                                .max(4)
                                .build())
                            .instanceGenerations("current")
                            .cpuManufacturers(                        
                                "intel",
                                "amd")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:ecs:CapacityProvider
        properties:
          name: example
          cluster: my-cluster
          managedInstancesProvider:
            infrastructureRoleArn: ${ecsInfrastructure.arn}
            propagateTags: TASK_DEFINITION
            instanceLaunchTemplate:
              ec2InstanceProfileArn: ${ecsInstance.arn}
              monitoring: ENABLED
              networkConfiguration:
                subnets:
                  - ${exampleAwsSubnet.id}
                securityGroups:
                  - ${exampleAwsSecurityGroup.id}
              storageConfiguration:
                storageSizeGib: 30
              instanceRequirements:
                memoryMib:
                  min: 1024
                  max: 8192
                vcpuCount:
                  min: 1
                  max: 4
                instanceGenerations:
                  - current
                cpuManufacturers:
                  - intel
                  - amd
    

    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: Optional[CapacityProviderArgs] = None,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def CapacityProvider(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         auto_scaling_group_provider: Optional[CapacityProviderAutoScalingGroupProviderArgs] = None,
                         cluster: Optional[str] = None,
                         managed_instances_provider: Optional[CapacityProviderManagedInstancesProviderArgs] = None,
                         name: Optional[str] = None,
                         region: 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 = null, 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",
        },
        Cluster = "string",
        ManagedInstancesProvider = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderArgs
        {
            InfrastructureRoleArn = "string",
            InstanceLaunchTemplate = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs
            {
                Ec2InstanceProfileArn = "string",
                NetworkConfiguration = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs
                {
                    Subnets = new[]
                    {
                        "string",
                    },
                    SecurityGroups = new[]
                    {
                        "string",
                    },
                },
                InstanceRequirements = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs
                {
                    MemoryMib = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs
                    {
                        Min = 0,
                        Max = 0,
                    },
                    VcpuCount = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs
                    {
                        Min = 0,
                        Max = 0,
                    },
                    LocalStorage = "string",
                    LocalStorageTypes = new[]
                    {
                        "string",
                    },
                    AcceleratorTypes = new[]
                    {
                        "string",
                    },
                    AllowedInstanceTypes = new[]
                    {
                        "string",
                    },
                    BareMetal = "string",
                    BaselineEbsBandwidthMbps = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs
                    {
                        Max = 0,
                        Min = 0,
                    },
                    BurstablePerformance = "string",
                    CpuManufacturers = new[]
                    {
                        "string",
                    },
                    ExcludedInstanceTypes = new[]
                    {
                        "string",
                    },
                    MaxSpotPriceAsPercentageOfOptimalOnDemandPrice = 0,
                    AcceleratorTotalMemoryMib = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs
                    {
                        Max = 0,
                        Min = 0,
                    },
                    AcceleratorCount = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCountArgs
                    {
                        Max = 0,
                        Min = 0,
                    },
                    InstanceGenerations = new[]
                    {
                        "string",
                    },
                    MemoryGibPerVcpu = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs
                    {
                        Max = 0,
                        Min = 0,
                    },
                    AcceleratorNames = new[]
                    {
                        "string",
                    },
                    NetworkBandwidthGbps = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs
                    {
                        Max = 0,
                        Min = 0,
                    },
                    NetworkInterfaceCount = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs
                    {
                        Max = 0,
                        Min = 0,
                    },
                    OnDemandMaxPricePercentageOverLowestPrice = 0,
                    RequireHibernateSupport = false,
                    SpotMaxPricePercentageOverLowestPrice = 0,
                    TotalLocalStorageGb = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs
                    {
                        Max = 0,
                        Min = 0,
                    },
                    AcceleratorManufacturers = new[]
                    {
                        "string",
                    },
                },
                Monitoring = "string",
                StorageConfiguration = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs
                {
                    StorageSizeGib = 0,
                },
            },
            PropagateTags = "string",
        },
        Name = "string",
        Region = "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"),
    	},
    	Cluster: pulumi.String("string"),
    	ManagedInstancesProvider: &ecs.CapacityProviderManagedInstancesProviderArgs{
    		InfrastructureRoleArn: pulumi.String("string"),
    		InstanceLaunchTemplate: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs{
    			Ec2InstanceProfileArn: pulumi.String("string"),
    			NetworkConfiguration: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs{
    				Subnets: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				SecurityGroups: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			InstanceRequirements: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs{
    				MemoryMib: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs{
    					Min: pulumi.Int(0),
    					Max: pulumi.Int(0),
    				},
    				VcpuCount: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs{
    					Min: pulumi.Int(0),
    					Max: pulumi.Int(0),
    				},
    				LocalStorage: pulumi.String("string"),
    				LocalStorageTypes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				AcceleratorTypes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				AllowedInstanceTypes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				BareMetal: pulumi.String("string"),
    				BaselineEbsBandwidthMbps: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs{
    					Max: pulumi.Int(0),
    					Min: pulumi.Int(0),
    				},
    				BurstablePerformance: pulumi.String("string"),
    				CpuManufacturers: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				ExcludedInstanceTypes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: pulumi.Int(0),
    				AcceleratorTotalMemoryMib: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs{
    					Max: pulumi.Int(0),
    					Min: pulumi.Int(0),
    				},
    				AcceleratorCount: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCountArgs{
    					Max: pulumi.Int(0),
    					Min: pulumi.Int(0),
    				},
    				InstanceGenerations: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				MemoryGibPerVcpu: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs{
    					Max: pulumi.Float64(0),
    					Min: pulumi.Float64(0),
    				},
    				AcceleratorNames: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NetworkBandwidthGbps: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs{
    					Max: pulumi.Float64(0),
    					Min: pulumi.Float64(0),
    				},
    				NetworkInterfaceCount: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs{
    					Max: pulumi.Int(0),
    					Min: pulumi.Int(0),
    				},
    				OnDemandMaxPricePercentageOverLowestPrice: pulumi.Int(0),
    				RequireHibernateSupport:                   pulumi.Bool(false),
    				SpotMaxPricePercentageOverLowestPrice:     pulumi.Int(0),
    				TotalLocalStorageGb: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs{
    					Max: pulumi.Float64(0),
    					Min: pulumi.Float64(0),
    				},
    				AcceleratorManufacturers: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			Monitoring: pulumi.String("string"),
    			StorageConfiguration: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs{
    				StorageSizeGib: pulumi.Int(0),
    			},
    		},
    		PropagateTags: pulumi.String("string"),
    	},
    	Name:   pulumi.String("string"),
    	Region: 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())
        .cluster("string")
        .managedInstancesProvider(CapacityProviderManagedInstancesProviderArgs.builder()
            .infrastructureRoleArn("string")
            .instanceLaunchTemplate(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs.builder()
                .ec2InstanceProfileArn("string")
                .networkConfiguration(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs.builder()
                    .subnets("string")
                    .securityGroups("string")
                    .build())
                .instanceRequirements(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs.builder()
                    .memoryMib(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs.builder()
                        .min(0)
                        .max(0)
                        .build())
                    .vcpuCount(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs.builder()
                        .min(0)
                        .max(0)
                        .build())
                    .localStorage("string")
                    .localStorageTypes("string")
                    .acceleratorTypes("string")
                    .allowedInstanceTypes("string")
                    .bareMetal("string")
                    .baselineEbsBandwidthMbps(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .burstablePerformance("string")
                    .cpuManufacturers("string")
                    .excludedInstanceTypes("string")
                    .maxSpotPriceAsPercentageOfOptimalOnDemandPrice(0)
                    .acceleratorTotalMemoryMib(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .acceleratorCount(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCountArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .instanceGenerations("string")
                    .memoryGibPerVcpu(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs.builder()
                        .max(0.0)
                        .min(0.0)
                        .build())
                    .acceleratorNames("string")
                    .networkBandwidthGbps(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs.builder()
                        .max(0.0)
                        .min(0.0)
                        .build())
                    .networkInterfaceCount(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .onDemandMaxPricePercentageOverLowestPrice(0)
                    .requireHibernateSupport(false)
                    .spotMaxPricePercentageOverLowestPrice(0)
                    .totalLocalStorageGb(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs.builder()
                        .max(0.0)
                        .min(0.0)
                        .build())
                    .acceleratorManufacturers("string")
                    .build())
                .monitoring("string")
                .storageConfiguration(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs.builder()
                    .storageSizeGib(0)
                    .build())
                .build())
            .propagateTags("string")
            .build())
        .name("string")
        .region("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",
        },
        cluster="string",
        managed_instances_provider={
            "infrastructure_role_arn": "string",
            "instance_launch_template": {
                "ec2_instance_profile_arn": "string",
                "network_configuration": {
                    "subnets": ["string"],
                    "security_groups": ["string"],
                },
                "instance_requirements": {
                    "memory_mib": {
                        "min": 0,
                        "max": 0,
                    },
                    "vcpu_count": {
                        "min": 0,
                        "max": 0,
                    },
                    "local_storage": "string",
                    "local_storage_types": ["string"],
                    "accelerator_types": ["string"],
                    "allowed_instance_types": ["string"],
                    "bare_metal": "string",
                    "baseline_ebs_bandwidth_mbps": {
                        "max": 0,
                        "min": 0,
                    },
                    "burstable_performance": "string",
                    "cpu_manufacturers": ["string"],
                    "excluded_instance_types": ["string"],
                    "max_spot_price_as_percentage_of_optimal_on_demand_price": 0,
                    "accelerator_total_memory_mib": {
                        "max": 0,
                        "min": 0,
                    },
                    "accelerator_count": {
                        "max": 0,
                        "min": 0,
                    },
                    "instance_generations": ["string"],
                    "memory_gib_per_vcpu": {
                        "max": 0,
                        "min": 0,
                    },
                    "accelerator_names": ["string"],
                    "network_bandwidth_gbps": {
                        "max": 0,
                        "min": 0,
                    },
                    "network_interface_count": {
                        "max": 0,
                        "min": 0,
                    },
                    "on_demand_max_price_percentage_over_lowest_price": 0,
                    "require_hibernate_support": False,
                    "spot_max_price_percentage_over_lowest_price": 0,
                    "total_local_storage_gb": {
                        "max": 0,
                        "min": 0,
                    },
                    "accelerator_manufacturers": ["string"],
                },
                "monitoring": "string",
                "storage_configuration": {
                    "storage_size_gib": 0,
                },
            },
            "propagate_tags": "string",
        },
        name="string",
        region="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",
        },
        cluster: "string",
        managedInstancesProvider: {
            infrastructureRoleArn: "string",
            instanceLaunchTemplate: {
                ec2InstanceProfileArn: "string",
                networkConfiguration: {
                    subnets: ["string"],
                    securityGroups: ["string"],
                },
                instanceRequirements: {
                    memoryMib: {
                        min: 0,
                        max: 0,
                    },
                    vcpuCount: {
                        min: 0,
                        max: 0,
                    },
                    localStorage: "string",
                    localStorageTypes: ["string"],
                    acceleratorTypes: ["string"],
                    allowedInstanceTypes: ["string"],
                    bareMetal: "string",
                    baselineEbsBandwidthMbps: {
                        max: 0,
                        min: 0,
                    },
                    burstablePerformance: "string",
                    cpuManufacturers: ["string"],
                    excludedInstanceTypes: ["string"],
                    maxSpotPriceAsPercentageOfOptimalOnDemandPrice: 0,
                    acceleratorTotalMemoryMib: {
                        max: 0,
                        min: 0,
                    },
                    acceleratorCount: {
                        max: 0,
                        min: 0,
                    },
                    instanceGenerations: ["string"],
                    memoryGibPerVcpu: {
                        max: 0,
                        min: 0,
                    },
                    acceleratorNames: ["string"],
                    networkBandwidthGbps: {
                        max: 0,
                        min: 0,
                    },
                    networkInterfaceCount: {
                        max: 0,
                        min: 0,
                    },
                    onDemandMaxPricePercentageOverLowestPrice: 0,
                    requireHibernateSupport: false,
                    spotMaxPricePercentageOverLowestPrice: 0,
                    totalLocalStorageGb: {
                        max: 0,
                        min: 0,
                    },
                    acceleratorManufacturers: ["string"],
                },
                monitoring: "string",
                storageConfiguration: {
                    storageSizeGib: 0,
                },
            },
            propagateTags: "string",
        },
        name: "string",
        region: "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
        cluster: string
        managedInstancesProvider:
            infrastructureRoleArn: string
            instanceLaunchTemplate:
                ec2InstanceProfileArn: string
                instanceRequirements:
                    acceleratorCount:
                        max: 0
                        min: 0
                    acceleratorManufacturers:
                        - string
                    acceleratorNames:
                        - string
                    acceleratorTotalMemoryMib:
                        max: 0
                        min: 0
                    acceleratorTypes:
                        - string
                    allowedInstanceTypes:
                        - string
                    bareMetal: string
                    baselineEbsBandwidthMbps:
                        max: 0
                        min: 0
                    burstablePerformance: string
                    cpuManufacturers:
                        - string
                    excludedInstanceTypes:
                        - string
                    instanceGenerations:
                        - string
                    localStorage: string
                    localStorageTypes:
                        - string
                    maxSpotPriceAsPercentageOfOptimalOnDemandPrice: 0
                    memoryGibPerVcpu:
                        max: 0
                        min: 0
                    memoryMib:
                        max: 0
                        min: 0
                    networkBandwidthGbps:
                        max: 0
                        min: 0
                    networkInterfaceCount:
                        max: 0
                        min: 0
                    onDemandMaxPricePercentageOverLowestPrice: 0
                    requireHibernateSupport: false
                    spotMaxPricePercentageOverLowestPrice: 0
                    totalLocalStorageGb:
                        max: 0
                        min: 0
                    vcpuCount:
                        max: 0
                        min: 0
                monitoring: string
                networkConfiguration:
                    securityGroups:
                        - string
                    subnets:
                        - string
                storageConfiguration:
                    storageSizeGib: 0
            propagateTags: string
        name: string
        region: 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. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    Cluster string
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    ManagedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    Name string
    Name of the capacity provider.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    Cluster string
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    ManagedInstancesProvider CapacityProviderManagedInstancesProviderArgs
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    Name string
    Name of the capacity provider.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    cluster String
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    managedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    name String
    Name of the capacity provider.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    cluster string
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    managedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    name string
    Name of the capacity provider.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    cluster str
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    managed_instances_provider CapacityProviderManagedInstancesProviderArgs
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    name str
    Name of the capacity provider.
    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    cluster String
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    managedInstancesProvider Property Map
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    name String
    Name of the capacity provider.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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.
    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.
    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.
    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.
    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.
    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.

    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,
            cluster: Optional[str] = None,
            managed_instances_provider: Optional[CapacityProviderManagedInstancesProviderArgs] = None,
            name: Optional[str] = None,
            region: 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
    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. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    Cluster string
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    ManagedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    Name string
    Name of the capacity provider.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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.
    Arn string
    ARN that identifies the capacity provider.
    AutoScalingGroupProvider CapacityProviderAutoScalingGroupProviderArgs
    Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    Cluster string
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    ManagedInstancesProvider CapacityProviderManagedInstancesProviderArgs
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    Name string
    Name of the capacity provider.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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.
    arn String
    ARN that identifies the capacity provider.
    autoScalingGroupProvider CapacityProviderAutoScalingGroupProvider
    Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    cluster String
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    managedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    name String
    Name of the capacity provider.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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.
    arn string
    ARN that identifies the capacity provider.
    autoScalingGroupProvider CapacityProviderAutoScalingGroupProvider
    Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    cluster string
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    managedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    name string
    Name of the capacity provider.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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.
    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. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    cluster str
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    managed_instances_provider CapacityProviderManagedInstancesProviderArgs
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    name str
    Name of the capacity provider.
    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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.
    arn String
    ARN that identifies the capacity provider.
    autoScalingGroupProvider Property Map
    Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    cluster String
    Name of the ECS cluster. Required when using managed_instances_provider. Must not be set when using auto_scaling_group_provider.
    managedInstancesProvider Property Map
    Configuration block for the managed instances provider. Detailed below. Exactly one of auto_scaling_group_provider or managed_instances_provider must be specified.
    name String
    Name of the capacity provider.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    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.

    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.

    CapacityProviderManagedInstancesProvider, CapacityProviderManagedInstancesProviderArgs

    InfrastructureRoleArn string
    The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
    InstanceLaunchTemplate CapacityProviderManagedInstancesProviderInstanceLaunchTemplate
    The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
    PropagateTags string
    Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are CAPACITY_PROVIDER and NONE.
    InfrastructureRoleArn string
    The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
    InstanceLaunchTemplate CapacityProviderManagedInstancesProviderInstanceLaunchTemplate
    The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
    PropagateTags string
    Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are CAPACITY_PROVIDER and NONE.
    infrastructureRoleArn String
    The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
    instanceLaunchTemplate CapacityProviderManagedInstancesProviderInstanceLaunchTemplate
    The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
    propagateTags String
    Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are CAPACITY_PROVIDER and NONE.
    infrastructureRoleArn string
    The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
    instanceLaunchTemplate CapacityProviderManagedInstancesProviderInstanceLaunchTemplate
    The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
    propagateTags string
    Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are CAPACITY_PROVIDER and NONE.
    infrastructure_role_arn str
    The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
    instance_launch_template CapacityProviderManagedInstancesProviderInstanceLaunchTemplate
    The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
    propagate_tags str
    Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are CAPACITY_PROVIDER and NONE.
    infrastructureRoleArn String
    The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
    instanceLaunchTemplate Property Map
    The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
    propagateTags String
    Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are CAPACITY_PROVIDER and NONE.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplate, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs

    Ec2InstanceProfileArn string
    The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
    NetworkConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfiguration
    The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    InstanceRequirements CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements
    The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
    Monitoring string
    CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are BASIC and DETAILED.
    StorageConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfiguration
    The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
    Ec2InstanceProfileArn string
    The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
    NetworkConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfiguration
    The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    InstanceRequirements CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements
    The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
    Monitoring string
    CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are BASIC and DETAILED.
    StorageConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfiguration
    The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
    ec2InstanceProfileArn String
    The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
    networkConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfiguration
    The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    instanceRequirements CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements
    The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
    monitoring String
    CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are BASIC and DETAILED.
    storageConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfiguration
    The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
    ec2InstanceProfileArn string
    The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
    networkConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfiguration
    The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    instanceRequirements CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements
    The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
    monitoring string
    CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are BASIC and DETAILED.
    storageConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfiguration
    The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
    ec2_instance_profile_arn str
    The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
    network_configuration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfiguration
    The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    instance_requirements CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements
    The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
    monitoring str
    CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are BASIC and DETAILED.
    storage_configuration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfiguration
    The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
    ec2InstanceProfileArn String
    The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
    networkConfiguration Property Map
    The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    instanceRequirements Property Map
    The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
    monitoring String
    CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are BASIC and DETAILED.
    storageConfiguration Property Map
    The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs

    MemoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib
    The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
    VcpuCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount
    The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
    AcceleratorCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount
    The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
    AcceleratorManufacturers List<string>
    The accelerator manufacturers to include. You can specify nvidia, amd, amazon-web-services, xilinx, or habana depending on your accelerator requirements. Valid values are amazon-web-services, amd, nvidia, xilinx, habana.
    AcceleratorNames List<string>
    The specific accelerator names to include. For example, you can specify a100, v100, k80, or other specific accelerator models. Valid values are a100, inferentia, k520, k80, m60, radeon-pro-v520, t4, vu9p, v100, a10g, h100, t4g.
    AcceleratorTotalMemoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib
    The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
    AcceleratorTypes List<string>
    The accelerator types to include. You can specify gpu for graphics processing units, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    AllowedInstanceTypes List<string>
    The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g., m5.*).
    BareMetal string
    Indicates whether to include bare metal instance types. Set to included to allow bare metal instances, excluded to exclude them, or required to use only bare metal instances. Valid values are included, excluded, required.
    BaselineEbsBandwidthMbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps
    The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
    BurstablePerformance string
    Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to included to allow burstable instances, excluded to exclude them, or required to use only burstable instances. Valid values are included, excluded, required.
    CpuManufacturers List<string>
    The CPU manufacturers to include or exclude. You can specify intel, amd, or amazon-web-services to control which CPU types are used for your workloads. Valid values are intel, amd, amazon-web-services.
    ExcludedInstanceTypes List<string>
    The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
    InstanceGenerations List<string>
    The instance generations to include. You can specify current to use the latest generation instances, or previous to include previous generation instances for cost optimization. Valid values are current, previous.
    LocalStorage string
    Indicates whether to include instance types with local storage. Set to included to allow local storage, excluded to exclude it, or required to use only instances with local storage. Valid values are included, excluded, required.
    LocalStorageTypes List<string>
    The local storage types to include. You can specify hdd for hard disk drives, ssd for solid state drives, or both. Valid values are hdd, ssd.
    MaxSpotPriceAsPercentageOfOptimalOnDemandPrice int
    The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
    MemoryGibPerVcpu CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpu
    The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
    NetworkBandwidthGbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
    NetworkInterfaceCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount
    The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
    OnDemandMaxPricePercentageOverLowestPrice int
    The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
    RequireHibernateSupport bool
    Indicates whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.
    SpotMaxPricePercentageOverLowestPrice int
    The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
    TotalLocalStorageGb CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGb
    The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
    MemoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib
    The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
    VcpuCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount
    The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
    AcceleratorCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount
    The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
    AcceleratorManufacturers []string
    The accelerator manufacturers to include. You can specify nvidia, amd, amazon-web-services, xilinx, or habana depending on your accelerator requirements. Valid values are amazon-web-services, amd, nvidia, xilinx, habana.
    AcceleratorNames []string
    The specific accelerator names to include. For example, you can specify a100, v100, k80, or other specific accelerator models. Valid values are a100, inferentia, k520, k80, m60, radeon-pro-v520, t4, vu9p, v100, a10g, h100, t4g.
    AcceleratorTotalMemoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib
    The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
    AcceleratorTypes []string
    The accelerator types to include. You can specify gpu for graphics processing units, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    AllowedInstanceTypes []string
    The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g., m5.*).
    BareMetal string
    Indicates whether to include bare metal instance types. Set to included to allow bare metal instances, excluded to exclude them, or required to use only bare metal instances. Valid values are included, excluded, required.
    BaselineEbsBandwidthMbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps
    The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
    BurstablePerformance string
    Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to included to allow burstable instances, excluded to exclude them, or required to use only burstable instances. Valid values are included, excluded, required.
    CpuManufacturers []string
    The CPU manufacturers to include or exclude. You can specify intel, amd, or amazon-web-services to control which CPU types are used for your workloads. Valid values are intel, amd, amazon-web-services.
    ExcludedInstanceTypes []string
    The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
    InstanceGenerations []string
    The instance generations to include. You can specify current to use the latest generation instances, or previous to include previous generation instances for cost optimization. Valid values are current, previous.
    LocalStorage string
    Indicates whether to include instance types with local storage. Set to included to allow local storage, excluded to exclude it, or required to use only instances with local storage. Valid values are included, excluded, required.
    LocalStorageTypes []string
    The local storage types to include. You can specify hdd for hard disk drives, ssd for solid state drives, or both. Valid values are hdd, ssd.
    MaxSpotPriceAsPercentageOfOptimalOnDemandPrice int
    The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
    MemoryGibPerVcpu CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpu
    The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
    NetworkBandwidthGbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
    NetworkInterfaceCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount
    The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
    OnDemandMaxPricePercentageOverLowestPrice int
    The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
    RequireHibernateSupport bool
    Indicates whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.
    SpotMaxPricePercentageOverLowestPrice int
    The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
    TotalLocalStorageGb CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGb
    The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
    memoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib
    The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
    vcpuCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount
    The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
    acceleratorCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount
    The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
    acceleratorManufacturers List<String>
    The accelerator manufacturers to include. You can specify nvidia, amd, amazon-web-services, xilinx, or habana depending on your accelerator requirements. Valid values are amazon-web-services, amd, nvidia, xilinx, habana.
    acceleratorNames List<String>
    The specific accelerator names to include. For example, you can specify a100, v100, k80, or other specific accelerator models. Valid values are a100, inferentia, k520, k80, m60, radeon-pro-v520, t4, vu9p, v100, a10g, h100, t4g.
    acceleratorTotalMemoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib
    The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
    acceleratorTypes List<String>
    The accelerator types to include. You can specify gpu for graphics processing units, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    allowedInstanceTypes List<String>
    The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g., m5.*).
    bareMetal String
    Indicates whether to include bare metal instance types. Set to included to allow bare metal instances, excluded to exclude them, or required to use only bare metal instances. Valid values are included, excluded, required.
    baselineEbsBandwidthMbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps
    The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
    burstablePerformance String
    Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to included to allow burstable instances, excluded to exclude them, or required to use only burstable instances. Valid values are included, excluded, required.
    cpuManufacturers List<String>
    The CPU manufacturers to include or exclude. You can specify intel, amd, or amazon-web-services to control which CPU types are used for your workloads. Valid values are intel, amd, amazon-web-services.
    excludedInstanceTypes List<String>
    The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
    instanceGenerations List<String>
    The instance generations to include. You can specify current to use the latest generation instances, or previous to include previous generation instances for cost optimization. Valid values are current, previous.
    localStorage String
    Indicates whether to include instance types with local storage. Set to included to allow local storage, excluded to exclude it, or required to use only instances with local storage. Valid values are included, excluded, required.
    localStorageTypes List<String>
    The local storage types to include. You can specify hdd for hard disk drives, ssd for solid state drives, or both. Valid values are hdd, ssd.
    maxSpotPriceAsPercentageOfOptimalOnDemandPrice Integer
    The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
    memoryGibPerVcpu CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpu
    The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
    networkBandwidthGbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
    networkInterfaceCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount
    The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
    onDemandMaxPricePercentageOverLowestPrice Integer
    The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
    requireHibernateSupport Boolean
    Indicates whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.
    spotMaxPricePercentageOverLowestPrice Integer
    The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
    totalLocalStorageGb CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGb
    The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
    memoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib
    The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
    vcpuCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount
    The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
    acceleratorCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount
    The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
    acceleratorManufacturers string[]
    The accelerator manufacturers to include. You can specify nvidia, amd, amazon-web-services, xilinx, or habana depending on your accelerator requirements. Valid values are amazon-web-services, amd, nvidia, xilinx, habana.
    acceleratorNames string[]
    The specific accelerator names to include. For example, you can specify a100, v100, k80, or other specific accelerator models. Valid values are a100, inferentia, k520, k80, m60, radeon-pro-v520, t4, vu9p, v100, a10g, h100, t4g.
    acceleratorTotalMemoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib
    The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
    acceleratorTypes string[]
    The accelerator types to include. You can specify gpu for graphics processing units, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    allowedInstanceTypes string[]
    The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g., m5.*).
    bareMetal string
    Indicates whether to include bare metal instance types. Set to included to allow bare metal instances, excluded to exclude them, or required to use only bare metal instances. Valid values are included, excluded, required.
    baselineEbsBandwidthMbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps
    The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
    burstablePerformance string
    Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to included to allow burstable instances, excluded to exclude them, or required to use only burstable instances. Valid values are included, excluded, required.
    cpuManufacturers string[]
    The CPU manufacturers to include or exclude. You can specify intel, amd, or amazon-web-services to control which CPU types are used for your workloads. Valid values are intel, amd, amazon-web-services.
    excludedInstanceTypes string[]
    The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
    instanceGenerations string[]
    The instance generations to include. You can specify current to use the latest generation instances, or previous to include previous generation instances for cost optimization. Valid values are current, previous.
    localStorage string
    Indicates whether to include instance types with local storage. Set to included to allow local storage, excluded to exclude it, or required to use only instances with local storage. Valid values are included, excluded, required.
    localStorageTypes string[]
    The local storage types to include. You can specify hdd for hard disk drives, ssd for solid state drives, or both. Valid values are hdd, ssd.
    maxSpotPriceAsPercentageOfOptimalOnDemandPrice number
    The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
    memoryGibPerVcpu CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpu
    The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
    networkBandwidthGbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
    networkInterfaceCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount
    The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
    onDemandMaxPricePercentageOverLowestPrice number
    The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
    requireHibernateSupport boolean
    Indicates whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.
    spotMaxPricePercentageOverLowestPrice number
    The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
    totalLocalStorageGb CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGb
    The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
    memory_mib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib
    The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
    vcpu_count CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount
    The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
    accelerator_count CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount
    The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
    accelerator_manufacturers Sequence[str]
    The accelerator manufacturers to include. You can specify nvidia, amd, amazon-web-services, xilinx, or habana depending on your accelerator requirements. Valid values are amazon-web-services, amd, nvidia, xilinx, habana.
    accelerator_names Sequence[str]
    The specific accelerator names to include. For example, you can specify a100, v100, k80, or other specific accelerator models. Valid values are a100, inferentia, k520, k80, m60, radeon-pro-v520, t4, vu9p, v100, a10g, h100, t4g.
    accelerator_total_memory_mib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib
    The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
    accelerator_types Sequence[str]
    The accelerator types to include. You can specify gpu for graphics processing units, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    allowed_instance_types Sequence[str]
    The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g., m5.*).
    bare_metal str
    Indicates whether to include bare metal instance types. Set to included to allow bare metal instances, excluded to exclude them, or required to use only bare metal instances. Valid values are included, excluded, required.
    baseline_ebs_bandwidth_mbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps
    The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
    burstable_performance str
    Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to included to allow burstable instances, excluded to exclude them, or required to use only burstable instances. Valid values are included, excluded, required.
    cpu_manufacturers Sequence[str]
    The CPU manufacturers to include or exclude. You can specify intel, amd, or amazon-web-services to control which CPU types are used for your workloads. Valid values are intel, amd, amazon-web-services.
    excluded_instance_types Sequence[str]
    The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
    instance_generations Sequence[str]
    The instance generations to include. You can specify current to use the latest generation instances, or previous to include previous generation instances for cost optimization. Valid values are current, previous.
    local_storage str
    Indicates whether to include instance types with local storage. Set to included to allow local storage, excluded to exclude it, or required to use only instances with local storage. Valid values are included, excluded, required.
    local_storage_types Sequence[str]
    The local storage types to include. You can specify hdd for hard disk drives, ssd for solid state drives, or both. Valid values are hdd, ssd.
    max_spot_price_as_percentage_of_optimal_on_demand_price int
    The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
    memory_gib_per_vcpu CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpu
    The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
    network_bandwidth_gbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
    network_interface_count CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount
    The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
    on_demand_max_price_percentage_over_lowest_price int
    The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
    require_hibernate_support bool
    Indicates whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.
    spot_max_price_percentage_over_lowest_price int
    The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
    total_local_storage_gb CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGb
    The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
    memoryMib Property Map
    The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
    vcpuCount Property Map
    The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
    acceleratorCount Property Map
    The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
    acceleratorManufacturers List<String>
    The accelerator manufacturers to include. You can specify nvidia, amd, amazon-web-services, xilinx, or habana depending on your accelerator requirements. Valid values are amazon-web-services, amd, nvidia, xilinx, habana.
    acceleratorNames List<String>
    The specific accelerator names to include. For example, you can specify a100, v100, k80, or other specific accelerator models. Valid values are a100, inferentia, k520, k80, m60, radeon-pro-v520, t4, vu9p, v100, a10g, h100, t4g.
    acceleratorTotalMemoryMib Property Map
    The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
    acceleratorTypes List<String>
    The accelerator types to include. You can specify gpu for graphics processing units, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    allowedInstanceTypes List<String>
    The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g., m5.*).
    bareMetal String
    Indicates whether to include bare metal instance types. Set to included to allow bare metal instances, excluded to exclude them, or required to use only bare metal instances. Valid values are included, excluded, required.
    baselineEbsBandwidthMbps Property Map
    The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
    burstablePerformance String
    Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to included to allow burstable instances, excluded to exclude them, or required to use only burstable instances. Valid values are included, excluded, required.
    cpuManufacturers List<String>
    The CPU manufacturers to include or exclude. You can specify intel, amd, or amazon-web-services to control which CPU types are used for your workloads. Valid values are intel, amd, amazon-web-services.
    excludedInstanceTypes List<String>
    The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
    instanceGenerations List<String>
    The instance generations to include. You can specify current to use the latest generation instances, or previous to include previous generation instances for cost optimization. Valid values are current, previous.
    localStorage String
    Indicates whether to include instance types with local storage. Set to included to allow local storage, excluded to exclude it, or required to use only instances with local storage. Valid values are included, excluded, required.
    localStorageTypes List<String>
    The local storage types to include. You can specify hdd for hard disk drives, ssd for solid state drives, or both. Valid values are hdd, ssd.
    maxSpotPriceAsPercentageOfOptimalOnDemandPrice Number
    The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
    memoryGibPerVcpu Property Map
    The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
    networkBandwidthGbps Property Map
    The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
    networkInterfaceCount Property Map
    The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
    onDemandMaxPricePercentageOverLowestPrice Number
    The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
    requireHibernateSupport Boolean
    Indicates whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.
    spotMaxPricePercentageOverLowestPrice Number
    The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
    totalLocalStorageGb Property Map
    The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCountArgs

    Max int
    Min int
    Max int
    Min int
    max Integer
    min Integer
    max number
    min number
    max int
    min int
    max Number
    min Number

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs

    Max int
    Min int
    Max int
    Min int
    max Integer
    min Integer
    max number
    min number
    max int
    min int
    max Number
    min Number

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs

    Max int
    Min int
    Max int
    Min int
    max Integer
    min Integer
    max number
    min number
    max int
    min int
    max Number
    min Number

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpu, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs

    Max double
    Min double
    Max float64
    Min float64
    max Double
    min Double
    max number
    min number
    max float
    min float
    max Number
    min Number

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs

    Min int
    Max int
    Min int
    Max int
    min Integer
    max Integer
    min number
    max number
    min int
    max int
    min Number
    max Number

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs

    Max double
    Min double
    Max float64
    Min float64
    max Double
    min Double
    max number
    min number
    max float
    min float
    max Number
    min Number

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs

    Max int
    Min int
    Max int
    Min int
    max Integer
    min Integer
    max number
    min number
    max int
    min int
    max Number
    min Number

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGb, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs

    Max double
    Min double
    Max float64
    Min float64
    max Double
    min Double
    max number
    min number
    max float
    min float
    max Number
    min Number

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs

    Min int
    Max int
    Min int
    Max int
    min Integer
    max Integer
    min number
    max number
    min int
    max int
    min Number
    max Number

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfiguration, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs

    Subnets List<string>
    The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
    SecurityGroups List<string>
    The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
    Subnets []string
    The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
    SecurityGroups []string
    The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
    subnets List<String>
    The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
    securityGroups List<String>
    The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
    subnets string[]
    The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
    securityGroups string[]
    The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
    subnets Sequence[str]
    The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
    security_groups Sequence[str]
    The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
    subnets List<String>
    The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
    securityGroups List<String>
    The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfiguration, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs

    StorageSizeGib int
    The size of the tasks volume in GiB. Must be at least 1.
    StorageSizeGib int
    The size of the tasks volume in GiB. Must be at least 1.
    storageSizeGib Integer
    The size of the tasks volume in GiB. Must be at least 1.
    storageSizeGib number
    The size of the tasks volume in GiB. Must be at least 1.
    storage_size_gib int
    The size of the tasks volume in GiB. Must be at least 1.
    storageSizeGib Number
    The size of the tasks volume in GiB. Must be at least 1.

    Import

    Identity Schema

    Required

    • arn (String) Amazon Resource Name (ARN) of the ECS capacity provider.

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

    console

    % pulumi import aws_ecs_capacity_provider.example arn:aws:ecs:us-west-2:123456789012:capacity-provider/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 v7.10.0 published on Friday, Oct 24, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate