1. Registry
  2. Packages
  3. AWS
  4. API Docs
  5. ecs
  6. CapacityProvider
Viewing docs for AWS v7.46.0
published on Thursday, Sep 10, 2026 by Pulumi
aws logo aws logo
Viewing docs for AWS v7.46.0
published on Thursday, Sep 10, 2026 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 minSize 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 autoScalingGroupProvider or managedInstancesProvider. When using managedInstancesProvider, the cluster parameter is required. When using autoScalingGroupProvider, the cluster parameter must not be set.

    NOTE: AWS cannot delete a capacity provider that is still associated with a cluster through aws.ecs.ClusterCapacityProviders. When a change forces replacement, add a replaceTriggeredBy lifecycle rule to the aws.ecs.ClusterCapacityProviders resource so the association is recreated before the old capacity provider is deleted.

    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", {
        autoScalingGroupProvider: {
            managedScaling: {
                maximumScalingStepSize: 1000,
                minimumScalingStepSize: 1,
                status: "ENABLED",
                targetCapacity: 10,
            },
            autoScalingGroupArn: example.arn,
            managedTerminationProtection: "ENABLED",
        },
        name: "example",
    });
    
    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",
        auto_scaling_group_provider={
            "managed_scaling": {
                "maximum_scaling_step_size": 1000,
                "minimum_scaling_step_size": 1,
                "status": "ENABLED",
                "target_capacity": 10,
            },
            "auto_scaling_group_arn": example.arn,
            "managed_termination_protection": "ENABLED",
        },
        name="example")
    
    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{
    			AutoScalingGroupProvider: &ecs.CapacityProviderAutoScalingGroupProviderArgs{
    				ManagedScaling: &ecs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs{
    					MaximumScalingStepSize: pulumi.Int(1000),
    					MinimumScalingStepSize: pulumi.Int(1),
    					Status:                 pulumi.String("ENABLED"),
    					TargetCapacity:         pulumi.Int(10),
    				},
    				AutoScalingGroupArn:          example.Arn,
    				ManagedTerminationProtection: pulumi.String("ENABLED"),
    			},
    			Name: pulumi.String("example"),
    		})
    		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()
        {
            AutoScalingGroupProvider = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
            {
                ManagedScaling = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs
                {
                    MaximumScalingStepSize = 1000,
                    MinimumScalingStepSize = 1,
                    Status = "ENABLED",
                    TargetCapacity = 10,
                },
                AutoScalingGroupArn = example.Arn,
                ManagedTerminationProtection = "ENABLED",
            },
            Name = "example",
        });
    
    });
    
    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.ArrayList;
    import java.util.Arrays;
    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()
                .autoScalingGroupProvider(CapacityProviderAutoScalingGroupProviderArgs.builder()
                    .managedScaling(CapacityProviderAutoScalingGroupProviderManagedScalingArgs.builder()
                        .maximumScalingStepSize(1000)
                        .minimumScalingStepSize(1)
                        .status("ENABLED")
                        .targetCapacity(10)
                        .build())
                    .autoScalingGroupArn(example.arn())
                    .managedTerminationProtection("ENABLED")
                    .build())
                .name("example")
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:autoscaling:Group
        properties:
          tags:
            - key: AmazonECSManaged
              value: true
              propagateAtLaunch: true
      exampleCapacityProvider:
        type: aws:ecs:CapacityProvider
        name: example
        properties:
          autoScalingGroupProvider:
            managedScaling:
              maximumScalingStepSize: 1000
              minimumScalingStepSize: 1
              status: ENABLED
              targetCapacity: 10
            autoScalingGroupArn: ${example.arn}
            managedTerminationProtection: ENABLED
          name: example
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    resource "aws_autoscaling_group" "example" {
      tags {
        key                 = "AmazonECSManaged"
        value               = true
        propagate_at_launch = true
      }
    }
    resource "aws_ecs_capacityprovider" "example" {
      auto_scaling_group_provider = {
        managed_scaling = {
          maximum_scaling_step_size = 1000
          minimum_scaling_step_size = 1
          status                    = "ENABLED"
          target_capacity           = 10
        }
        auto_scaling_group_arn         = aws_autoscaling_group.example.arn
        managed_termination_protection = "ENABLED"
      }
      name = "example"
    }
    

    Managed Instances Provider

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.ecs.CapacityProvider("example", {
        managedInstancesProvider: {
            instanceLaunchTemplate: {
                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",
                    ],
                },
                ec2InstanceProfileArn: ecsInstance.arn,
                monitoring: "DETAILED",
            },
            infrastructureRoleArn: ecsInfrastructure.arn,
            propagateTags: "CAPACITY_PROVIDER",
        },
        name: "example",
        cluster: "my-cluster",
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.ecs.CapacityProvider("example",
        managed_instances_provider={
            "instance_launch_template": {
                "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",
                    ],
                },
                "ec2_instance_profile_arn": ecs_instance["arn"],
                "monitoring": "DETAILED",
            },
            "infrastructure_role_arn": ecs_infrastructure["arn"],
            "propagate_tags": "CAPACITY_PROVIDER",
        },
        name="example",
        cluster="my-cluster")
    
    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{
    			ManagedInstancesProvider: &ecs.CapacityProviderManagedInstancesProviderArgs{
    				InstanceLaunchTemplate: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs{
    					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"),
    						},
    					},
    					Ec2InstanceProfileArn: pulumi.Any(ecsInstance.Arn),
    					Monitoring:            pulumi.String("DETAILED"),
    				},
    				InfrastructureRoleArn: pulumi.Any(ecsInfrastructure.Arn),
    				PropagateTags:         pulumi.String("CAPACITY_PROVIDER"),
    			},
    			Name:    pulumi.String("example"),
    			Cluster: pulumi.String("my-cluster"),
    		})
    		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()
        {
            ManagedInstancesProvider = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderArgs
            {
                InstanceLaunchTemplate = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs
                {
                    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",
                        },
                    },
                    Ec2InstanceProfileArn = ecsInstance.Arn,
                    Monitoring = "DETAILED",
                },
                InfrastructureRoleArn = ecsInfrastructure.Arn,
                PropagateTags = "CAPACITY_PROVIDER",
            },
            Name = "example",
            Cluster = "my-cluster",
        });
    
    });
    
    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.ArrayList;
    import java.util.Arrays;
    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()
                .managedInstancesProvider(CapacityProviderManagedInstancesProviderArgs.builder()
                    .instanceLaunchTemplate(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs.builder()
                        .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())
                        .ec2InstanceProfileArn(ecsInstance.arn())
                        .monitoring("DETAILED")
                        .build())
                    .infrastructureRoleArn(ecsInfrastructure.arn())
                    .propagateTags("CAPACITY_PROVIDER")
                    .build())
                .name("example")
                .cluster("my-cluster")
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:ecs:CapacityProvider
        properties:
          managedInstancesProvider:
            instanceLaunchTemplate:
              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
              ec2InstanceProfileArn: ${ecsInstance.arn}
              monitoring: DETAILED
            infrastructureRoleArn: ${ecsInfrastructure.arn}
            propagateTags: CAPACITY_PROVIDER
          name: example
          cluster: my-cluster
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    resource "aws_ecs_capacityprovider" "example" {
      managed_instances_provider = {
        instance_launch_template = {
          network_configuration = {
            subnets         = [exampleAwsSubnet.id]
            security_groups = [exampleAwsSecurityGroup.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"]
          }
          ec2_instance_profile_arn = ecsInstance.arn
          monitoring               = "DETAILED"
        }
        infrastructure_role_arn = ecsInfrastructure.arn
        propagate_tags          = "CAPACITY_PROVIDER"
      }
      name    = "example"
      cluster = "my-cluster"
    }
    

    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.
    
    
    resource "aws_ecs_capacity_provider" "name" {
        # resource properties
    }

    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",
                    },
                },
                CapacityOptionType = "string",
                CapacityReservations = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateCapacityReservationsArgs
                {
                    ReservationGroupArn = "string",
                    ReservationPreference = "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.0,
                        Min = 0.0,
                    },
                    AcceleratorNames = new[]
                    {
                        "string",
                    },
                    NetworkBandwidthGbps = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs
                    {
                        Max = 0.0,
                        Min = 0.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.0,
                        Min = 0.0,
                    },
                    AcceleratorManufacturers = new[]
                    {
                        "string",
                    },
                },
                LocalStorageConfiguration = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateLocalStorageConfigurationArgs
                {
                    UseLocalStorage = false,
                },
                Monitoring = "string",
                StorageConfiguration = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs
                {
                    StorageSizeGib = 0,
                },
            },
            AutoRepairConfiguration = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderAutoRepairConfigurationArgs
            {
                ActionsStatus = "string",
            },
            InfrastructureOptimization = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs
            {
                ScaleInAfter = 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"),
    				},
    			},
    			CapacityOptionType: pulumi.String("string"),
    			CapacityReservations: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateCapacityReservationsArgs{
    				ReservationGroupArn:   pulumi.String("string"),
    				ReservationPreference: 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"),
    				},
    			},
    			LocalStorageConfiguration: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateLocalStorageConfigurationArgs{
    				UseLocalStorage: pulumi.Bool(false),
    			},
    			Monitoring: pulumi.String("string"),
    			StorageConfiguration: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs{
    				StorageSizeGib: pulumi.Int(0),
    			},
    		},
    		AutoRepairConfiguration: &ecs.CapacityProviderManagedInstancesProviderAutoRepairConfigurationArgs{
    			ActionsStatus: pulumi.String("string"),
    		},
    		InfrastructureOptimization: &ecs.CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs{
    			ScaleInAfter: pulumi.Int(0),
    		},
    		PropagateTags: pulumi.String("string"),
    	},
    	Name:   pulumi.String("string"),
    	Region: pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    resource "aws_ecs_capacity_provider" "capacityProviderResource" {
      lifecycle {
        create_before_destroy = true
      }
      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"]
          }
          capacity_option_type = "string"
          capacity_reservations = {
            reservation_group_arn  = "string"
            reservation_preference = "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"]
          }
          local_storage_configuration = {
            use_local_storage = false
          }
          monitoring = "string"
          storage_configuration = {
            storage_size_gib = 0
          }
        }
        auto_repair_configuration = {
          actions_status = "string"
        }
        infrastructure_optimization = {
          scale_in_after = 0
        }
        propagate_tags = "string"
      }
      name   = "string"
      region = "string"
      tags = {
        "string" = "string"
      }
    }
    
    var capacityProviderResource = new com.pulumi.aws.ecs.CapacityProvider("capacityProviderResource", com.pulumi.aws.ecs.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())
                .capacityOptionType("string")
                .capacityReservations(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateCapacityReservationsArgs.builder()
                    .reservationGroupArn("string")
                    .reservationPreference("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())
                .localStorageConfiguration(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateLocalStorageConfigurationArgs.builder()
                    .useLocalStorage(false)
                    .build())
                .monitoring("string")
                .storageConfiguration(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs.builder()
                    .storageSizeGib(0)
                    .build())
                .build())
            .autoRepairConfiguration(CapacityProviderManagedInstancesProviderAutoRepairConfigurationArgs.builder()
                .actionsStatus("string")
                .build())
            .infrastructureOptimization(CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs.builder()
                .scaleInAfter(0)
                .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"],
                },
                "capacity_option_type": "string",
                "capacity_reservations": {
                    "reservation_group_arn": "string",
                    "reservation_preference": "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": float(0),
                        "min": float(0),
                    },
                    "accelerator_names": ["string"],
                    "network_bandwidth_gbps": {
                        "max": float(0),
                        "min": float(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": float(0),
                        "min": float(0),
                    },
                    "accelerator_manufacturers": ["string"],
                },
                "local_storage_configuration": {
                    "use_local_storage": False,
                },
                "monitoring": "string",
                "storage_configuration": {
                    "storage_size_gib": 0,
                },
            },
            "auto_repair_configuration": {
                "actions_status": "string",
            },
            "infrastructure_optimization": {
                "scale_in_after": 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"],
                },
                capacityOptionType: "string",
                capacityReservations: {
                    reservationGroupArn: "string",
                    reservationPreference: "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"],
                },
                localStorageConfiguration: {
                    useLocalStorage: false,
                },
                monitoring: "string",
                storageConfiguration: {
                    storageSizeGib: 0,
                },
            },
            autoRepairConfiguration: {
                actionsStatus: "string",
            },
            infrastructureOptimization: {
                scaleInAfter: 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:
            autoRepairConfiguration:
                actionsStatus: string
            infrastructureOptimization:
                scaleInAfter: 0
            infrastructureRoleArn: string
            instanceLaunchTemplate:
                capacityOptionType: string
                capacityReservations:
                    reservationGroupArn: string
                    reservationPreference: string
                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
                localStorageConfiguration:
                    useLocalStorage: false
                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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    Cluster string
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    ManagedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    Cluster string
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    ManagedInstancesProvider CapacityProviderManagedInstancesProviderArgs
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    auto_scaling_group_provider object
    Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider must be specified.
    cluster string
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    managed_instances_provider object
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    cluster String
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    managedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    cluster string
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    managedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    cluster str
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    managed_instances_provider CapacityProviderManagedInstancesProviderArgs
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    cluster String
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    managedInstancesProvider Property Map
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 defaultTags 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 defaultTags configuration block.
    arn string
    ARN that identifies the capacity provider.
    id string
    The provider-assigned unique ID for this managed resource.
    tags_all map(string)
    Map of tags assigned to the resource, including those inherited from the provider defaultTags 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 defaultTags 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 defaultTags 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 defaultTags 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 defaultTags 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}
    import {
      to = aws_ecs_capacity_provider.example
      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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    Cluster string
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    ManagedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 defaultTags 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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    Cluster string
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    ManagedInstancesProvider CapacityProviderManagedInstancesProviderArgs
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 defaultTags configuration block.
    arn string
    ARN that identifies the capacity provider.
    auto_scaling_group_provider object
    Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider must be specified.
    cluster string
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    managed_instances_provider object
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all map(string)
    Map of tags assigned to the resource, including those inherited from the provider defaultTags 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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    cluster String
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    managedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 defaultTags 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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    cluster string
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    managedInstancesProvider CapacityProviderManagedInstancesProvider
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 defaultTags 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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    cluster str
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    managed_instances_provider CapacityProviderManagedInstancesProviderArgs
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 defaultTags 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 autoScalingGroupProvider or managedInstancesProvider must be specified.
    cluster String
    Name of the ECS cluster. Required when using managedInstancesProvider. Must not be set when using autoScalingGroupProvider.
    managedInstancesProvider Property Map
    Configuration block for the managed instances provider. Detailed below. Exactly one of autoScalingGroupProvider or managedInstancesProvider 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 defaultTags 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 defaultTags 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.
    auto_scaling_group_arn string
    ARN of the associated auto scaling group.
    managed_draining 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.
    managed_scaling object
    Configuration block defining the parameters of the auto scaling. Detailed below.
    managed_termination_protection 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.
    instance_warmup_period 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.

    maximum_scaling_step_size number
    Maximum step adjustment size. A number between 1 and 10,000.
    minimum_scaling_step_size 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.
    target_capacity number
    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
    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
    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.
    AutoRepairConfiguration CapacityProviderManagedInstancesProviderAutoRepairConfiguration
    Configuration block for the auto repair configuration. Detailed below.
    InfrastructureOptimization CapacityProviderManagedInstancesProviderInfrastructureOptimization
    Configuration block for how Amazon ECS Managed Instances optimizes the infrastructure in your capacity provider, including whether to turn optimization on or off and how long to delay optimizing idle EC2 instances. Detailed below.
    PropagateTags string
    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
    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
    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.
    AutoRepairConfiguration CapacityProviderManagedInstancesProviderAutoRepairConfiguration
    Configuration block for the auto repair configuration. Detailed below.
    InfrastructureOptimization CapacityProviderManagedInstancesProviderInfrastructureOptimization
    Configuration block for how Amazon ECS Managed Instances optimizes the infrastructure in your capacity provider, including whether to turn optimization on or off and how long to delay optimizing idle EC2 instances. Detailed below.
    PropagateTags string
    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 string
    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 object
    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.
    auto_repair_configuration object
    Configuration block for the auto repair configuration. Detailed below.
    infrastructure_optimization object
    Configuration block for how Amazon ECS Managed Instances optimizes the infrastructure in your capacity provider, including whether to turn optimization on or off and how long to delay optimizing idle EC2 instances. Detailed below.
    propagate_tags string
    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
    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
    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.
    autoRepairConfiguration CapacityProviderManagedInstancesProviderAutoRepairConfiguration
    Configuration block for the auto repair configuration. Detailed below.
    infrastructureOptimization CapacityProviderManagedInstancesProviderInfrastructureOptimization
    Configuration block for how Amazon ECS Managed Instances optimizes the infrastructure in your capacity provider, including whether to turn optimization on or off and how long to delay optimizing idle EC2 instances. Detailed below.
    propagateTags String
    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
    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
    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.
    autoRepairConfiguration CapacityProviderManagedInstancesProviderAutoRepairConfiguration
    Configuration block for the auto repair configuration. Detailed below.
    infrastructureOptimization CapacityProviderManagedInstancesProviderInfrastructureOptimization
    Configuration block for how Amazon ECS Managed Instances optimizes the infrastructure in your capacity provider, including whether to turn optimization on or off and how long to delay optimizing idle EC2 instances. Detailed below.
    propagateTags string
    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
    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
    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.
    auto_repair_configuration CapacityProviderManagedInstancesProviderAutoRepairConfiguration
    Configuration block for the auto repair configuration. Detailed below.
    infrastructure_optimization CapacityProviderManagedInstancesProviderInfrastructureOptimization
    Configuration block for how Amazon ECS Managed Instances optimizes the infrastructure in your capacity provider, including whether to turn optimization on or off and how long to delay optimizing idle EC2 instances. Detailed below.
    propagate_tags str
    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
    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
    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.
    autoRepairConfiguration Property Map
    Configuration block for the auto repair configuration. Detailed below.
    infrastructureOptimization Property Map
    Configuration block for how Amazon ECS Managed Instances optimizes the infrastructure in your capacity provider, including whether to turn optimization on or off and how long to delay optimizing idle EC2 instances. Detailed below.
    propagateTags String
    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.

    CapacityProviderManagedInstancesProviderAutoRepairConfiguration, CapacityProviderManagedInstancesProviderAutoRepairConfigurationArgs

    ActionsStatus string
    Whether to use Amazon ECS managed auto repair. Valid values are ENABLED and DISABLED.
    ActionsStatus string
    Whether to use Amazon ECS managed auto repair. Valid values are ENABLED and DISABLED.
    actions_status string
    Whether to use Amazon ECS managed auto repair. Valid values are ENABLED and DISABLED.
    actionsStatus String
    Whether to use Amazon ECS managed auto repair. Valid values are ENABLED and DISABLED.
    actionsStatus string
    Whether to use Amazon ECS managed auto repair. Valid values are ENABLED and DISABLED.
    actions_status str
    Whether to use Amazon ECS managed auto repair. Valid values are ENABLED and DISABLED.
    actionsStatus String
    Whether to use Amazon ECS managed auto repair. Valid values are ENABLED and DISABLED.

    CapacityProviderManagedInstancesProviderInfrastructureOptimization, CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs

    ScaleInAfter int
    Number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle instances more quickly. Valid values are -1 to disable automatic infrastructure optimization, 0 to 3600 (inclusive) to specify the number of seconds to wait before optimizing instances, or leave unset (null) to use the default optimization behavior.
    ScaleInAfter int
    Number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle instances more quickly. Valid values are -1 to disable automatic infrastructure optimization, 0 to 3600 (inclusive) to specify the number of seconds to wait before optimizing instances, or leave unset (null) to use the default optimization behavior.
    scale_in_after number
    Number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle instances more quickly. Valid values are -1 to disable automatic infrastructure optimization, 0 to 3600 (inclusive) to specify the number of seconds to wait before optimizing instances, or leave unset (null) to use the default optimization behavior.
    scaleInAfter Integer
    Number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle instances more quickly. Valid values are -1 to disable automatic infrastructure optimization, 0 to 3600 (inclusive) to specify the number of seconds to wait before optimizing instances, or leave unset (null) to use the default optimization behavior.
    scaleInAfter number
    Number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle instances more quickly. Valid values are -1 to disable automatic infrastructure optimization, 0 to 3600 (inclusive) to specify the number of seconds to wait before optimizing instances, or leave unset (null) to use the default optimization behavior.
    scale_in_after int
    Number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle instances more quickly. Valid values are -1 to disable automatic infrastructure optimization, 0 to 3600 (inclusive) to specify the number of seconds to wait before optimizing instances, or leave unset (null) to use the default optimization behavior.
    scaleInAfter Number
    Number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle instances more quickly. Valid values are -1 to disable automatic infrastructure optimization, 0 to 3600 (inclusive) to specify the number of seconds to wait before optimizing instances, or leave unset (null) to use the default optimization behavior.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplate, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs

    Ec2InstanceProfileArn string
    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
    Network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    CapacityOptionType string
    Purchasing option for the EC2 instances used in the capacity provider. Determines whether to use On-Demand, Spot, or Capacity Reservation instances. Valid values are ON_DEMAND, SPOT, and RESERVED. Defaults to ON_DEMAND when not specified. Changing this value will trigger replacement of the capacity provider. For more information, see Amazon EC2 billing and purchasing options in the Amazon EC2 User Guide.
    CapacityReservations CapacityProviderManagedInstancesProviderInstanceLaunchTemplateCapacityReservations
    Capacity Reservation configuration used to launch instances. Required when capacityOptionType is RESERVED. Detailed below.
    InstanceRequirements CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements
    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.
    LocalStorageConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateLocalStorageConfiguration
    Configuration block for the local storage settings applied to Amazon ECS Managed Instances. 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
    Storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
    Ec2InstanceProfileArn string
    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
    Network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    CapacityOptionType string
    Purchasing option for the EC2 instances used in the capacity provider. Determines whether to use On-Demand, Spot, or Capacity Reservation instances. Valid values are ON_DEMAND, SPOT, and RESERVED. Defaults to ON_DEMAND when not specified. Changing this value will trigger replacement of the capacity provider. For more information, see Amazon EC2 billing and purchasing options in the Amazon EC2 User Guide.
    CapacityReservations CapacityProviderManagedInstancesProviderInstanceLaunchTemplateCapacityReservations
    Capacity Reservation configuration used to launch instances. Required when capacityOptionType is RESERVED. Detailed below.
    InstanceRequirements CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements
    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.
    LocalStorageConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateLocalStorageConfiguration
    Configuration block for the local storage settings applied to Amazon ECS Managed Instances. 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
    Storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
    ec2_instance_profile_arn string
    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 object
    Network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    capacity_option_type string
    Purchasing option for the EC2 instances used in the capacity provider. Determines whether to use On-Demand, Spot, or Capacity Reservation instances. Valid values are ON_DEMAND, SPOT, and RESERVED. Defaults to ON_DEMAND when not specified. Changing this value will trigger replacement of the capacity provider. For more information, see Amazon EC2 billing and purchasing options in the Amazon EC2 User Guide.
    capacity_reservations object
    Capacity Reservation configuration used to launch instances. Required when capacityOptionType is RESERVED. Detailed below.
    instance_requirements object
    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.
    local_storage_configuration object
    Configuration block for the local storage settings applied to Amazon ECS Managed Instances. 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.
    storage_configuration object
    Storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
    ec2InstanceProfileArn String
    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
    Network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    capacityOptionType String
    Purchasing option for the EC2 instances used in the capacity provider. Determines whether to use On-Demand, Spot, or Capacity Reservation instances. Valid values are ON_DEMAND, SPOT, and RESERVED. Defaults to ON_DEMAND when not specified. Changing this value will trigger replacement of the capacity provider. For more information, see Amazon EC2 billing and purchasing options in the Amazon EC2 User Guide.
    capacityReservations CapacityProviderManagedInstancesProviderInstanceLaunchTemplateCapacityReservations
    Capacity Reservation configuration used to launch instances. Required when capacityOptionType is RESERVED. Detailed below.
    instanceRequirements CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements
    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.
    localStorageConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateLocalStorageConfiguration
    Configuration block for the local storage settings applied to Amazon ECS Managed Instances. 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
    Storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
    ec2InstanceProfileArn string
    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
    Network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    capacityOptionType string
    Purchasing option for the EC2 instances used in the capacity provider. Determines whether to use On-Demand, Spot, or Capacity Reservation instances. Valid values are ON_DEMAND, SPOT, and RESERVED. Defaults to ON_DEMAND when not specified. Changing this value will trigger replacement of the capacity provider. For more information, see Amazon EC2 billing and purchasing options in the Amazon EC2 User Guide.
    capacityReservations CapacityProviderManagedInstancesProviderInstanceLaunchTemplateCapacityReservations
    Capacity Reservation configuration used to launch instances. Required when capacityOptionType is RESERVED. Detailed below.
    instanceRequirements CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements
    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.
    localStorageConfiguration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateLocalStorageConfiguration
    Configuration block for the local storage settings applied to Amazon ECS Managed Instances. 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
    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
    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
    Network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    capacity_option_type str
    Purchasing option for the EC2 instances used in the capacity provider. Determines whether to use On-Demand, Spot, or Capacity Reservation instances. Valid values are ON_DEMAND, SPOT, and RESERVED. Defaults to ON_DEMAND when not specified. Changing this value will trigger replacement of the capacity provider. For more information, see Amazon EC2 billing and purchasing options in the Amazon EC2 User Guide.
    capacity_reservations CapacityProviderManagedInstancesProviderInstanceLaunchTemplateCapacityReservations
    Capacity Reservation configuration used to launch instances. Required when capacityOptionType is RESERVED. Detailed below.
    instance_requirements CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements
    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.
    local_storage_configuration CapacityProviderManagedInstancesProviderInstanceLaunchTemplateLocalStorageConfiguration
    Configuration block for the local storage settings applied to Amazon ECS Managed Instances. 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
    Storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
    ec2InstanceProfileArn String
    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
    Network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
    capacityOptionType String
    Purchasing option for the EC2 instances used in the capacity provider. Determines whether to use On-Demand, Spot, or Capacity Reservation instances. Valid values are ON_DEMAND, SPOT, and RESERVED. Defaults to ON_DEMAND when not specified. Changing this value will trigger replacement of the capacity provider. For more information, see Amazon EC2 billing and purchasing options in the Amazon EC2 User Guide.
    capacityReservations Property Map
    Capacity Reservation configuration used to launch instances. Required when capacityOptionType is RESERVED. Detailed below.
    instanceRequirements Property Map
    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.
    localStorageConfiguration Property Map
    Configuration block for the local storage settings applied to Amazon ECS Managed Instances. 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
    Storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateCapacityReservations, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateCapacityReservationsArgs

    ReservationGroupArn string
    ARN of the Capacity Reservation resource group in which to run instances. Can only be set when reservationPreference is RESERVATIONS_ONLY.
    ReservationPreference string
    Preference for when Capacity Reservations should be used. Valid values are RESERVATIONS_ONLY, RESERVATIONS_FIRST, and RESERVATIONS_EXCLUDED. instanceRequirements must be provided when set to RESERVATIONS_ONLY or RESERVATIONS_FIRST.
    ReservationGroupArn string
    ARN of the Capacity Reservation resource group in which to run instances. Can only be set when reservationPreference is RESERVATIONS_ONLY.
    ReservationPreference string
    Preference for when Capacity Reservations should be used. Valid values are RESERVATIONS_ONLY, RESERVATIONS_FIRST, and RESERVATIONS_EXCLUDED. instanceRequirements must be provided when set to RESERVATIONS_ONLY or RESERVATIONS_FIRST.
    reservation_group_arn string
    ARN of the Capacity Reservation resource group in which to run instances. Can only be set when reservationPreference is RESERVATIONS_ONLY.
    reservation_preference string
    Preference for when Capacity Reservations should be used. Valid values are RESERVATIONS_ONLY, RESERVATIONS_FIRST, and RESERVATIONS_EXCLUDED. instanceRequirements must be provided when set to RESERVATIONS_ONLY or RESERVATIONS_FIRST.
    reservationGroupArn String
    ARN of the Capacity Reservation resource group in which to run instances. Can only be set when reservationPreference is RESERVATIONS_ONLY.
    reservationPreference String
    Preference for when Capacity Reservations should be used. Valid values are RESERVATIONS_ONLY, RESERVATIONS_FIRST, and RESERVATIONS_EXCLUDED. instanceRequirements must be provided when set to RESERVATIONS_ONLY or RESERVATIONS_FIRST.
    reservationGroupArn string
    ARN of the Capacity Reservation resource group in which to run instances. Can only be set when reservationPreference is RESERVATIONS_ONLY.
    reservationPreference string
    Preference for when Capacity Reservations should be used. Valid values are RESERVATIONS_ONLY, RESERVATIONS_FIRST, and RESERVATIONS_EXCLUDED. instanceRequirements must be provided when set to RESERVATIONS_ONLY or RESERVATIONS_FIRST.
    reservation_group_arn str
    ARN of the Capacity Reservation resource group in which to run instances. Can only be set when reservationPreference is RESERVATIONS_ONLY.
    reservation_preference str
    Preference for when Capacity Reservations should be used. Valid values are RESERVATIONS_ONLY, RESERVATIONS_FIRST, and RESERVATIONS_EXCLUDED. instanceRequirements must be provided when set to RESERVATIONS_ONLY or RESERVATIONS_FIRST.
    reservationGroupArn String
    ARN of the Capacity Reservation resource group in which to run instances. Can only be set when reservationPreference is RESERVATIONS_ONLY.
    reservationPreference String
    Preference for when Capacity Reservations should be used. Valid values are RESERVATIONS_ONLY, RESERVATIONS_FIRST, and RESERVATIONS_EXCLUDED. instanceRequirements must be provided when set to RESERVATIONS_ONLY or RESERVATIONS_FIRST.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs

    MemoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib
    Minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range. Detailed below.
    VcpuCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount
    Minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range. Detailed below.
    AcceleratorCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount
    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. Detailed below.
    AcceleratorManufacturers List<string>
    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>
    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
    Minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory. Detailed below.
    AcceleratorTypes List<string>
    Accelerator types to include. You can specify gpu for GPUs, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    AllowedInstanceTypes List<string>
    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
    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
    Minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements. Detailed below.
    BurstablePerformance string
    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>
    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>
    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>
    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
    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>
    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
    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
    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. Detailed below.
    NetworkBandwidthGbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    Minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput. Detailed below.
    NetworkInterfaceCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount
    Minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces. Detailed below.
    OnDemandMaxPricePercentageOverLowestPrice int
    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
    Whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.
    SpotMaxPricePercentageOverLowestPrice int
    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
    Minimum and maximum total local storage in gigabytes (GB) for instance types with local storage. Detailed below.
    MemoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib
    Minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range. Detailed below.
    VcpuCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount
    Minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range. Detailed below.
    AcceleratorCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount
    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. Detailed below.
    AcceleratorManufacturers []string
    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
    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
    Minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory. Detailed below.
    AcceleratorTypes []string
    Accelerator types to include. You can specify gpu for GPUs, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    AllowedInstanceTypes []string
    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
    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
    Minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements. Detailed below.
    BurstablePerformance string
    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
    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
    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
    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
    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
    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
    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
    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. Detailed below.
    NetworkBandwidthGbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    Minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput. Detailed below.
    NetworkInterfaceCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount
    Minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces. Detailed below.
    OnDemandMaxPricePercentageOverLowestPrice int
    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
    Whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.
    SpotMaxPricePercentageOverLowestPrice int
    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
    Minimum and maximum total local storage in gigabytes (GB) for instance types with local storage. Detailed below.
    memory_mib object
    Minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range. Detailed below.
    vcpu_count object
    Minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range. Detailed below.
    accelerator_count object
    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. Detailed below.
    accelerator_manufacturers list(string)
    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 list(string)
    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 object
    Minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory. Detailed below.
    accelerator_types list(string)
    Accelerator types to include. You can specify gpu for GPUs, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    allowed_instance_types list(string)
    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 string
    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 object
    Minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements. Detailed below.
    burstable_performance string
    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 list(string)
    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 list(string)
    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 list(string)
    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 string
    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 list(string)
    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 number
    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 object
    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. Detailed below.
    network_bandwidth_gbps object
    Minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput. Detailed below.
    network_interface_count object
    Minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces. Detailed below.
    on_demand_max_price_percentage_over_lowest_price number
    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
    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 number
    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 object
    Minimum and maximum total local storage in gigabytes (GB) for instance types with local storage. Detailed below.
    memoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib
    Minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range. Detailed below.
    vcpuCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount
    Minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range. Detailed below.
    acceleratorCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount
    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. Detailed below.
    acceleratorManufacturers List<String>
    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>
    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
    Minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory. Detailed below.
    acceleratorTypes List<String>
    Accelerator types to include. You can specify gpu for GPUs, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    allowedInstanceTypes List<String>
    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
    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
    Minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements. Detailed below.
    burstablePerformance String
    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>
    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>
    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>
    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
    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>
    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
    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
    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. Detailed below.
    networkBandwidthGbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    Minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput. Detailed below.
    networkInterfaceCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount
    Minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces. Detailed below.
    onDemandMaxPricePercentageOverLowestPrice Integer
    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
    Whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.
    spotMaxPricePercentageOverLowestPrice Integer
    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
    Minimum and maximum total local storage in gigabytes (GB) for instance types with local storage. Detailed below.
    memoryMib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib
    Minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range. Detailed below.
    vcpuCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount
    Minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range. Detailed below.
    acceleratorCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount
    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. Detailed below.
    acceleratorManufacturers string[]
    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[]
    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
    Minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory. Detailed below.
    acceleratorTypes string[]
    Accelerator types to include. You can specify gpu for GPUs, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    allowedInstanceTypes string[]
    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
    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
    Minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements. Detailed below.
    burstablePerformance string
    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[]
    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[]
    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[]
    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
    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[]
    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
    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
    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. Detailed below.
    networkBandwidthGbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    Minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput. Detailed below.
    networkInterfaceCount CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount
    Minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces. Detailed below.
    onDemandMaxPricePercentageOverLowestPrice number
    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
    Whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.
    spotMaxPricePercentageOverLowestPrice number
    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
    Minimum and maximum total local storage in gigabytes (GB) for instance types with local storage. Detailed below.
    memory_mib CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib
    Minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range. Detailed below.
    vcpu_count CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount
    Minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range. Detailed below.
    accelerator_count CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount
    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. Detailed below.
    accelerator_manufacturers Sequence[str]
    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]
    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
    Minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory. Detailed below.
    accelerator_types Sequence[str]
    Accelerator types to include. You can specify gpu for GPUs, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    allowed_instance_types Sequence[str]
    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
    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
    Minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements. Detailed below.
    burstable_performance str
    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]
    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]
    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]
    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
    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]
    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
    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
    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. Detailed below.
    network_bandwidth_gbps CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    Minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput. Detailed below.
    network_interface_count CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount
    Minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces. Detailed below.
    on_demand_max_price_percentage_over_lowest_price int
    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
    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
    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
    Minimum and maximum total local storage in gigabytes (GB) for instance types with local storage. Detailed below.
    memoryMib Property Map
    Minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range. Detailed below.
    vcpuCount Property Map
    Minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range. Detailed below.
    acceleratorCount Property Map
    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. Detailed below.
    acceleratorManufacturers List<String>
    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>
    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
    Minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory. Detailed below.
    acceleratorTypes List<String>
    Accelerator types to include. You can specify gpu for GPUs, fpga for field programmable gate arrays, or inference for machine learning inference accelerators. Valid values are gpu, fpga, inference.
    allowedInstanceTypes List<String>
    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
    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
    Minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements. Detailed below.
    burstablePerformance String
    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>
    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>
    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>
    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
    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>
    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
    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
    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. Detailed below.
    networkBandwidthGbps Property Map
    Minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput. Detailed below.
    networkInterfaceCount Property Map
    Minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces. Detailed below.
    onDemandMaxPricePercentageOverLowestPrice Number
    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
    Whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.
    spotMaxPricePercentageOverLowestPrice Number
    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
    Minimum and maximum total local storage in gigabytes (GB) for instance types with local storage. Detailed below.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCountArgs

    Max int
    Maximum number of accelerators.
    Min int
    Minimum number of accelerators.
    Max int
    Maximum number of accelerators.
    Min int
    Minimum number of accelerators.
    max number
    Maximum number of accelerators.
    min number
    Minimum number of accelerators.
    max Integer
    Maximum number of accelerators.
    min Integer
    Minimum number of accelerators.
    max number
    Maximum number of accelerators.
    min number
    Minimum number of accelerators.
    max int
    Maximum number of accelerators.
    min int
    Minimum number of accelerators.
    max Number
    Maximum number of accelerators.
    min Number
    Minimum number of accelerators.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs

    Max int
    Maximum total accelerator memory, in MiB.
    Min int
    Minimum total accelerator memory, in MiB.
    Max int
    Maximum total accelerator memory, in MiB.
    Min int
    Minimum total accelerator memory, in MiB.
    max number
    Maximum total accelerator memory, in MiB.
    min number
    Minimum total accelerator memory, in MiB.
    max Integer
    Maximum total accelerator memory, in MiB.
    min Integer
    Minimum total accelerator memory, in MiB.
    max number
    Maximum total accelerator memory, in MiB.
    min number
    Minimum total accelerator memory, in MiB.
    max int
    Maximum total accelerator memory, in MiB.
    min int
    Minimum total accelerator memory, in MiB.
    max Number
    Maximum total accelerator memory, in MiB.
    min Number
    Minimum total accelerator memory, in MiB.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs

    Max int
    Maximum baseline Amazon EBS bandwidth, in Mbps.
    Min int
    Minimum baseline Amazon EBS bandwidth, in Mbps.
    Max int
    Maximum baseline Amazon EBS bandwidth, in Mbps.
    Min int
    Minimum baseline Amazon EBS bandwidth, in Mbps.
    max number
    Maximum baseline Amazon EBS bandwidth, in Mbps.
    min number
    Minimum baseline Amazon EBS bandwidth, in Mbps.
    max Integer
    Maximum baseline Amazon EBS bandwidth, in Mbps.
    min Integer
    Minimum baseline Amazon EBS bandwidth, in Mbps.
    max number
    Maximum baseline Amazon EBS bandwidth, in Mbps.
    min number
    Minimum baseline Amazon EBS bandwidth, in Mbps.
    max int
    Maximum baseline Amazon EBS bandwidth, in Mbps.
    min int
    Minimum baseline Amazon EBS bandwidth, in Mbps.
    max Number
    Maximum baseline Amazon EBS bandwidth, in Mbps.
    min Number
    Minimum baseline Amazon EBS bandwidth, in Mbps.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpu, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs

    Max double
    Maximum amount of memory per vCPU, in GiB.
    Min double
    Minimum amount of memory per vCPU, in GiB.
    Max float64
    Maximum amount of memory per vCPU, in GiB.
    Min float64
    Minimum amount of memory per vCPU, in GiB.
    max number
    Maximum amount of memory per vCPU, in GiB.
    min number
    Minimum amount of memory per vCPU, in GiB.
    max Double
    Maximum amount of memory per vCPU, in GiB.
    min Double
    Minimum amount of memory per vCPU, in GiB.
    max number
    Maximum amount of memory per vCPU, in GiB.
    min number
    Minimum amount of memory per vCPU, in GiB.
    max float
    Maximum amount of memory per vCPU, in GiB.
    min float
    Minimum amount of memory per vCPU, in GiB.
    max Number
    Maximum amount of memory per vCPU, in GiB.
    min Number
    Minimum amount of memory per vCPU, in GiB.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs

    Min int
    Minimum amount of memory, in MiB.
    Max int
    Maximum amount of memory, in MiB.
    Min int
    Minimum amount of memory, in MiB.
    Max int
    Maximum amount of memory, in MiB.
    min number
    Minimum amount of memory, in MiB.
    max number
    Maximum amount of memory, in MiB.
    min Integer
    Minimum amount of memory, in MiB.
    max Integer
    Maximum amount of memory, in MiB.
    min number
    Minimum amount of memory, in MiB.
    max number
    Maximum amount of memory, in MiB.
    min int
    Minimum amount of memory, in MiB.
    max int
    Maximum amount of memory, in MiB.
    min Number
    Minimum amount of memory, in MiB.
    max Number
    Maximum amount of memory, in MiB.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs

    Max double
    Maximum network bandwidth, in Gbps.
    Min double
    Minimum network bandwidth, in Gbps.
    Max float64
    Maximum network bandwidth, in Gbps.
    Min float64
    Minimum network bandwidth, in Gbps.
    max number
    Maximum network bandwidth, in Gbps.
    min number
    Minimum network bandwidth, in Gbps.
    max Double
    Maximum network bandwidth, in Gbps.
    min Double
    Minimum network bandwidth, in Gbps.
    max number
    Maximum network bandwidth, in Gbps.
    min number
    Minimum network bandwidth, in Gbps.
    max float
    Maximum network bandwidth, in Gbps.
    min float
    Minimum network bandwidth, in Gbps.
    max Number
    Maximum network bandwidth, in Gbps.
    min Number
    Minimum network bandwidth, in Gbps.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs

    Max int
    Maximum number of network interfaces.
    Min int
    Minimum number of network interfaces.
    Max int
    Maximum number of network interfaces.
    Min int
    Minimum number of network interfaces.
    max number
    Maximum number of network interfaces.
    min number
    Minimum number of network interfaces.
    max Integer
    Maximum number of network interfaces.
    min Integer
    Minimum number of network interfaces.
    max number
    Maximum number of network interfaces.
    min number
    Minimum number of network interfaces.
    max int
    Maximum number of network interfaces.
    min int
    Minimum number of network interfaces.
    max Number
    Maximum number of network interfaces.
    min Number
    Minimum number of network interfaces.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGb, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs

    Max double
    Maximum total local storage, in GB.
    Min double
    Minimum total local storage, in GB.
    Max float64
    Maximum total local storage, in GB.
    Min float64
    Minimum total local storage, in GB.
    max number
    Maximum total local storage, in GB.
    min number
    Minimum total local storage, in GB.
    max Double
    Maximum total local storage, in GB.
    min Double
    Minimum total local storage, in GB.
    max number
    Maximum total local storage, in GB.
    min number
    Minimum total local storage, in GB.
    max float
    Maximum total local storage, in GB.
    min float
    Minimum total local storage, in GB.
    max Number
    Maximum total local storage, in GB.
    min Number
    Minimum total local storage, in GB.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs

    Min int
    Minimum number of vCPUs.
    Max int
    Maximum number of vCPUs.
    Min int
    Minimum number of vCPUs.
    Max int
    Maximum number of vCPUs.
    min number
    Minimum number of vCPUs.
    max number
    Maximum number of vCPUs.
    min Integer
    Minimum number of vCPUs.
    max Integer
    Maximum number of vCPUs.
    min number
    Minimum number of vCPUs.
    max number
    Maximum number of vCPUs.
    min int
    Minimum number of vCPUs.
    max int
    Maximum number of vCPUs.
    min Number
    Minimum number of vCPUs.
    max Number
    Maximum number of vCPUs.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateLocalStorageConfiguration, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateLocalStorageConfigurationArgs

    UseLocalStorage bool
    Whether to use the local storage of the instance for Amazon ECS Managed Instances.
    UseLocalStorage bool
    Whether to use the local storage of the instance for Amazon ECS Managed Instances.
    use_local_storage bool
    Whether to use the local storage of the instance for Amazon ECS Managed Instances.
    useLocalStorage Boolean
    Whether to use the local storage of the instance for Amazon ECS Managed Instances.
    useLocalStorage boolean
    Whether to use the local storage of the instance for Amazon ECS Managed Instances.
    use_local_storage bool
    Whether to use the local storage of the instance for Amazon ECS Managed Instances.
    useLocalStorage Boolean
    Whether to use the local storage of the instance for Amazon ECS Managed Instances.

    CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfiguration, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs

    Subnets List<string>
    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>
    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
    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
    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)
    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 list(string)
    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>
    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>
    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[]
    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[]
    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]
    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]
    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>
    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>
    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
    Size of the tasks volume in GiB. Must be at least 1.
    StorageSizeGib int
    Size of the tasks volume in GiB. Must be at least 1.
    storage_size_gib number
    Size of the tasks volume in GiB. Must be at least 1.
    storageSizeGib Integer
    Size of the tasks volume in GiB. Must be at least 1.
    storageSizeGib number
    Size of the tasks volume in GiB. Must be at least 1.
    storage_size_gib int
    Size of the tasks volume in GiB. Must be at least 1.
    storageSizeGib Number
    Size of the tasks volume in GiB. Must be at least 1.

    Import

    Identity Schema

    Required

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

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

    $ pulumi import aws:ecs/capacityProvider:CapacityProvider 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 logo
    Viewing docs for AWS v7.46.0
    published on Thursday, Sep 10, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial