aws.ecs.CapacityProvider
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
AmazonECSManagedtag to the Auto Scaling Group. This tag should be included in theaws.autoscaling.Groupresource configuration to prevent the provider from removing it in subsequent executions as well as ensuring theAmazonECSManagedtag is propagated to all EC2 Instances in the Auto Scaling Group ifmin_sizeis above 0 on creation. Any EC2 Instances in the Auto Scaling Group without this tag must be manually be updated, otherwise they may cause unexpected scaling behavior and metrics.
NOTE: You must specify exactly one of
auto_scaling_group_providerormanaged_instances_provider. When usingmanaged_instances_provider, theclusterparameter is required. When usingauto_scaling_group_provider, theclusterparameter must not be set.
Example Usage
Auto Scaling Group Provider
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.autoscaling.Group("example", {tags: [{
key: "AmazonECSManaged",
value: "true",
propagateAtLaunch: true,
}]});
const exampleCapacityProvider = new aws.ecs.CapacityProvider("example", {
name: "example",
autoScalingGroupProvider: {
autoScalingGroupArn: example.arn,
managedTerminationProtection: "ENABLED",
managedScaling: {
maximumScalingStepSize: 1000,
minimumScalingStepSize: 1,
status: "ENABLED",
targetCapacity: 10,
},
},
});
import pulumi
import pulumi_aws as aws
example = aws.autoscaling.Group("example", tags=[{
"key": "AmazonECSManaged",
"value": "true",
"propagate_at_launch": True,
}])
example_capacity_provider = aws.ecs.CapacityProvider("example",
name="example",
auto_scaling_group_provider={
"auto_scaling_group_arn": example.arn,
"managed_termination_protection": "ENABLED",
"managed_scaling": {
"maximum_scaling_step_size": 1000,
"minimum_scaling_step_size": 1,
"status": "ENABLED",
"target_capacity": 10,
},
})
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/autoscaling"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := autoscaling.NewGroup(ctx, "example", &autoscaling.GroupArgs{
Tags: autoscaling.GroupTagArray{
&autoscaling.GroupTagArgs{
Key: pulumi.String("AmazonECSManaged"),
Value: pulumi.String("true"),
PropagateAtLaunch: pulumi.Bool(true),
},
},
})
if err != nil {
return err
}
_, err = ecs.NewCapacityProvider(ctx, "example", &ecs.CapacityProviderArgs{
Name: pulumi.String("example"),
AutoScalingGroupProvider: &ecs.CapacityProviderAutoScalingGroupProviderArgs{
AutoScalingGroupArn: example.Arn,
ManagedTerminationProtection: pulumi.String("ENABLED"),
ManagedScaling: &ecs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs{
MaximumScalingStepSize: pulumi.Int(1000),
MinimumScalingStepSize: pulumi.Int(1),
Status: pulumi.String("ENABLED"),
TargetCapacity: pulumi.Int(10),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.AutoScaling.Group("example", new()
{
Tags = new[]
{
new Aws.AutoScaling.Inputs.GroupTagArgs
{
Key = "AmazonECSManaged",
Value = "true",
PropagateAtLaunch = true,
},
},
});
var exampleCapacityProvider = new Aws.Ecs.CapacityProvider("example", new()
{
Name = "example",
AutoScalingGroupProvider = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
{
AutoScalingGroupArn = example.Arn,
ManagedTerminationProtection = "ENABLED",
ManagedScaling = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs
{
MaximumScalingStepSize = 1000,
MinimumScalingStepSize = 1,
Status = "ENABLED",
TargetCapacity = 10,
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.inputs.GroupTagArgs;
import com.pulumi.aws.ecs.CapacityProvider;
import com.pulumi.aws.ecs.CapacityProviderArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderAutoScalingGroupProviderArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Group("example", GroupArgs.builder()
.tags(GroupTagArgs.builder()
.key("AmazonECSManaged")
.value("true")
.propagateAtLaunch(true)
.build())
.build());
var exampleCapacityProvider = new CapacityProvider("exampleCapacityProvider", CapacityProviderArgs.builder()
.name("example")
.autoScalingGroupProvider(CapacityProviderAutoScalingGroupProviderArgs.builder()
.autoScalingGroupArn(example.arn())
.managedTerminationProtection("ENABLED")
.managedScaling(CapacityProviderAutoScalingGroupProviderManagedScalingArgs.builder()
.maximumScalingStepSize(1000)
.minimumScalingStepSize(1)
.status("ENABLED")
.targetCapacity(10)
.build())
.build())
.build());
}
}
resources:
example:
type: aws:autoscaling:Group
properties:
tags:
- key: AmazonECSManaged
value: true
propagateAtLaunch: true
exampleCapacityProvider:
type: aws:ecs:CapacityProvider
name: example
properties:
name: example
autoScalingGroupProvider:
autoScalingGroupArn: ${example.arn}
managedTerminationProtection: ENABLED
managedScaling:
maximumScalingStepSize: 1000
minimumScalingStepSize: 1
status: ENABLED
targetCapacity: 10
Managed Instances Provider
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ecs.CapacityProvider("example", {
name: "example",
cluster: "my-cluster",
managedInstancesProvider: {
infrastructureRoleArn: ecsInfrastructure.arn,
propagateTags: "TASK_DEFINITION",
instanceLaunchTemplate: {
ec2InstanceProfileArn: ecsInstance.arn,
monitoring: "ENABLED",
networkConfiguration: {
subnets: [exampleAwsSubnet.id],
securityGroups: [exampleAwsSecurityGroup.id],
},
storageConfiguration: {
storageSizeGib: 30,
},
instanceRequirements: {
memoryMib: {
min: 1024,
max: 8192,
},
vcpuCount: {
min: 1,
max: 4,
},
instanceGenerations: ["current"],
cpuManufacturers: [
"intel",
"amd",
],
},
},
},
});
import pulumi
import pulumi_aws as aws
example = aws.ecs.CapacityProvider("example",
name="example",
cluster="my-cluster",
managed_instances_provider={
"infrastructure_role_arn": ecs_infrastructure["arn"],
"propagate_tags": "TASK_DEFINITION",
"instance_launch_template": {
"ec2_instance_profile_arn": ecs_instance["arn"],
"monitoring": "ENABLED",
"network_configuration": {
"subnets": [example_aws_subnet["id"]],
"security_groups": [example_aws_security_group["id"]],
},
"storage_configuration": {
"storage_size_gib": 30,
},
"instance_requirements": {
"memory_mib": {
"min": 1024,
"max": 8192,
},
"vcpu_count": {
"min": 1,
"max": 4,
},
"instance_generations": ["current"],
"cpu_manufacturers": [
"intel",
"amd",
],
},
},
})
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ecs.NewCapacityProvider(ctx, "example", &ecs.CapacityProviderArgs{
Name: pulumi.String("example"),
Cluster: pulumi.String("my-cluster"),
ManagedInstancesProvider: &ecs.CapacityProviderManagedInstancesProviderArgs{
InfrastructureRoleArn: pulumi.Any(ecsInfrastructure.Arn),
PropagateTags: pulumi.String("TASK_DEFINITION"),
InstanceLaunchTemplate: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs{
Ec2InstanceProfileArn: pulumi.Any(ecsInstance.Arn),
Monitoring: pulumi.String("ENABLED"),
NetworkConfiguration: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs{
Subnets: pulumi.StringArray{
exampleAwsSubnet.Id,
},
SecurityGroups: pulumi.StringArray{
exampleAwsSecurityGroup.Id,
},
},
StorageConfiguration: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs{
StorageSizeGib: pulumi.Int(30),
},
InstanceRequirements: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs{
MemoryMib: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs{
Min: pulumi.Int(1024),
Max: pulumi.Int(8192),
},
VcpuCount: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs{
Min: pulumi.Int(1),
Max: pulumi.Int(4),
},
InstanceGenerations: pulumi.StringArray{
pulumi.String("current"),
},
CpuManufacturers: pulumi.StringArray{
pulumi.String("intel"),
pulumi.String("amd"),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Ecs.CapacityProvider("example", new()
{
Name = "example",
Cluster = "my-cluster",
ManagedInstancesProvider = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderArgs
{
InfrastructureRoleArn = ecsInfrastructure.Arn,
PropagateTags = "TASK_DEFINITION",
InstanceLaunchTemplate = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs
{
Ec2InstanceProfileArn = ecsInstance.Arn,
Monitoring = "ENABLED",
NetworkConfiguration = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs
{
Subnets = new[]
{
exampleAwsSubnet.Id,
},
SecurityGroups = new[]
{
exampleAwsSecurityGroup.Id,
},
},
StorageConfiguration = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs
{
StorageSizeGib = 30,
},
InstanceRequirements = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs
{
MemoryMib = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs
{
Min = 1024,
Max = 8192,
},
VcpuCount = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs
{
Min = 1,
Max = 4,
},
InstanceGenerations = new[]
{
"current",
},
CpuManufacturers = new[]
{
"intel",
"amd",
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ecs.CapacityProvider;
import com.pulumi.aws.ecs.CapacityProviderArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs;
import com.pulumi.aws.ecs.inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new CapacityProvider("example", CapacityProviderArgs.builder()
.name("example")
.cluster("my-cluster")
.managedInstancesProvider(CapacityProviderManagedInstancesProviderArgs.builder()
.infrastructureRoleArn(ecsInfrastructure.arn())
.propagateTags("TASK_DEFINITION")
.instanceLaunchTemplate(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs.builder()
.ec2InstanceProfileArn(ecsInstance.arn())
.monitoring("ENABLED")
.networkConfiguration(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs.builder()
.subnets(exampleAwsSubnet.id())
.securityGroups(exampleAwsSecurityGroup.id())
.build())
.storageConfiguration(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs.builder()
.storageSizeGib(30)
.build())
.instanceRequirements(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs.builder()
.memoryMib(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs.builder()
.min(1024)
.max(8192)
.build())
.vcpuCount(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs.builder()
.min(1)
.max(4)
.build())
.instanceGenerations("current")
.cpuManufacturers(
"intel",
"amd")
.build())
.build())
.build())
.build());
}
}
resources:
example:
type: aws:ecs:CapacityProvider
properties:
name: example
cluster: my-cluster
managedInstancesProvider:
infrastructureRoleArn: ${ecsInfrastructure.arn}
propagateTags: TASK_DEFINITION
instanceLaunchTemplate:
ec2InstanceProfileArn: ${ecsInstance.arn}
monitoring: ENABLED
networkConfiguration:
subnets:
- ${exampleAwsSubnet.id}
securityGroups:
- ${exampleAwsSecurityGroup.id}
storageConfiguration:
storageSizeGib: 30
instanceRequirements:
memoryMib:
min: 1024
max: 8192
vcpuCount:
min: 1
max: 4
instanceGenerations:
- current
cpuManufacturers:
- intel
- amd
Create CapacityProvider Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new CapacityProvider(name: string, args?: CapacityProviderArgs, opts?: CustomResourceOptions);@overload
def CapacityProvider(resource_name: str,
args: Optional[CapacityProviderArgs] = None,
opts: Optional[ResourceOptions] = None)
@overload
def CapacityProvider(resource_name: str,
opts: Optional[ResourceOptions] = None,
auto_scaling_group_provider: Optional[CapacityProviderAutoScalingGroupProviderArgs] = None,
cluster: Optional[str] = None,
managed_instances_provider: Optional[CapacityProviderManagedInstancesProviderArgs] = None,
name: Optional[str] = None,
region: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None)func NewCapacityProvider(ctx *Context, name string, args *CapacityProviderArgs, opts ...ResourceOption) (*CapacityProvider, error)public CapacityProvider(string name, CapacityProviderArgs? args = null, CustomResourceOptions? opts = null)
public CapacityProvider(String name, CapacityProviderArgs args)
public CapacityProvider(String name, CapacityProviderArgs args, CustomResourceOptions options)
type: aws:ecs:CapacityProvider
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args CapacityProviderArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args CapacityProviderArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args CapacityProviderArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CapacityProviderArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args CapacityProviderArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var capacityProviderResource = new Aws.Ecs.CapacityProvider("capacityProviderResource", new()
{
AutoScalingGroupProvider = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderArgs
{
AutoScalingGroupArn = "string",
ManagedDraining = "string",
ManagedScaling = new Aws.Ecs.Inputs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs
{
InstanceWarmupPeriod = 0,
MaximumScalingStepSize = 0,
MinimumScalingStepSize = 0,
Status = "string",
TargetCapacity = 0,
},
ManagedTerminationProtection = "string",
},
Cluster = "string",
ManagedInstancesProvider = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderArgs
{
InfrastructureRoleArn = "string",
InstanceLaunchTemplate = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs
{
Ec2InstanceProfileArn = "string",
NetworkConfiguration = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs
{
Subnets = new[]
{
"string",
},
SecurityGroups = new[]
{
"string",
},
},
InstanceRequirements = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs
{
MemoryMib = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs
{
Min = 0,
Max = 0,
},
VcpuCount = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs
{
Min = 0,
Max = 0,
},
LocalStorage = "string",
LocalStorageTypes = new[]
{
"string",
},
AcceleratorTypes = new[]
{
"string",
},
AllowedInstanceTypes = new[]
{
"string",
},
BareMetal = "string",
BaselineEbsBandwidthMbps = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs
{
Max = 0,
Min = 0,
},
BurstablePerformance = "string",
CpuManufacturers = new[]
{
"string",
},
ExcludedInstanceTypes = new[]
{
"string",
},
MaxSpotPriceAsPercentageOfOptimalOnDemandPrice = 0,
AcceleratorTotalMemoryMib = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs
{
Max = 0,
Min = 0,
},
AcceleratorCount = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCountArgs
{
Max = 0,
Min = 0,
},
InstanceGenerations = new[]
{
"string",
},
MemoryGibPerVcpu = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs
{
Max = 0,
Min = 0,
},
AcceleratorNames = new[]
{
"string",
},
NetworkBandwidthGbps = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs
{
Max = 0,
Min = 0,
},
NetworkInterfaceCount = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs
{
Max = 0,
Min = 0,
},
OnDemandMaxPricePercentageOverLowestPrice = 0,
RequireHibernateSupport = false,
SpotMaxPricePercentageOverLowestPrice = 0,
TotalLocalStorageGb = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs
{
Max = 0,
Min = 0,
},
AcceleratorManufacturers = new[]
{
"string",
},
},
Monitoring = "string",
StorageConfiguration = new Aws.Ecs.Inputs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs
{
StorageSizeGib = 0,
},
},
PropagateTags = "string",
},
Name = "string",
Region = "string",
Tags =
{
{ "string", "string" },
},
});
example, err := ecs.NewCapacityProvider(ctx, "capacityProviderResource", &ecs.CapacityProviderArgs{
AutoScalingGroupProvider: &ecs.CapacityProviderAutoScalingGroupProviderArgs{
AutoScalingGroupArn: pulumi.String("string"),
ManagedDraining: pulumi.String("string"),
ManagedScaling: &ecs.CapacityProviderAutoScalingGroupProviderManagedScalingArgs{
InstanceWarmupPeriod: pulumi.Int(0),
MaximumScalingStepSize: pulumi.Int(0),
MinimumScalingStepSize: pulumi.Int(0),
Status: pulumi.String("string"),
TargetCapacity: pulumi.Int(0),
},
ManagedTerminationProtection: pulumi.String("string"),
},
Cluster: pulumi.String("string"),
ManagedInstancesProvider: &ecs.CapacityProviderManagedInstancesProviderArgs{
InfrastructureRoleArn: pulumi.String("string"),
InstanceLaunchTemplate: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs{
Ec2InstanceProfileArn: pulumi.String("string"),
NetworkConfiguration: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs{
Subnets: pulumi.StringArray{
pulumi.String("string"),
},
SecurityGroups: pulumi.StringArray{
pulumi.String("string"),
},
},
InstanceRequirements: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs{
MemoryMib: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs{
Min: pulumi.Int(0),
Max: pulumi.Int(0),
},
VcpuCount: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs{
Min: pulumi.Int(0),
Max: pulumi.Int(0),
},
LocalStorage: pulumi.String("string"),
LocalStorageTypes: pulumi.StringArray{
pulumi.String("string"),
},
AcceleratorTypes: pulumi.StringArray{
pulumi.String("string"),
},
AllowedInstanceTypes: pulumi.StringArray{
pulumi.String("string"),
},
BareMetal: pulumi.String("string"),
BaselineEbsBandwidthMbps: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs{
Max: pulumi.Int(0),
Min: pulumi.Int(0),
},
BurstablePerformance: pulumi.String("string"),
CpuManufacturers: pulumi.StringArray{
pulumi.String("string"),
},
ExcludedInstanceTypes: pulumi.StringArray{
pulumi.String("string"),
},
MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: pulumi.Int(0),
AcceleratorTotalMemoryMib: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs{
Max: pulumi.Int(0),
Min: pulumi.Int(0),
},
AcceleratorCount: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCountArgs{
Max: pulumi.Int(0),
Min: pulumi.Int(0),
},
InstanceGenerations: pulumi.StringArray{
pulumi.String("string"),
},
MemoryGibPerVcpu: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs{
Max: pulumi.Float64(0),
Min: pulumi.Float64(0),
},
AcceleratorNames: pulumi.StringArray{
pulumi.String("string"),
},
NetworkBandwidthGbps: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs{
Max: pulumi.Float64(0),
Min: pulumi.Float64(0),
},
NetworkInterfaceCount: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs{
Max: pulumi.Int(0),
Min: pulumi.Int(0),
},
OnDemandMaxPricePercentageOverLowestPrice: pulumi.Int(0),
RequireHibernateSupport: pulumi.Bool(false),
SpotMaxPricePercentageOverLowestPrice: pulumi.Int(0),
TotalLocalStorageGb: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs{
Max: pulumi.Float64(0),
Min: pulumi.Float64(0),
},
AcceleratorManufacturers: pulumi.StringArray{
pulumi.String("string"),
},
},
Monitoring: pulumi.String("string"),
StorageConfiguration: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs{
StorageSizeGib: pulumi.Int(0),
},
},
PropagateTags: pulumi.String("string"),
},
Name: pulumi.String("string"),
Region: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
})
var capacityProviderResource = new CapacityProvider("capacityProviderResource", CapacityProviderArgs.builder()
.autoScalingGroupProvider(CapacityProviderAutoScalingGroupProviderArgs.builder()
.autoScalingGroupArn("string")
.managedDraining("string")
.managedScaling(CapacityProviderAutoScalingGroupProviderManagedScalingArgs.builder()
.instanceWarmupPeriod(0)
.maximumScalingStepSize(0)
.minimumScalingStepSize(0)
.status("string")
.targetCapacity(0)
.build())
.managedTerminationProtection("string")
.build())
.cluster("string")
.managedInstancesProvider(CapacityProviderManagedInstancesProviderArgs.builder()
.infrastructureRoleArn("string")
.instanceLaunchTemplate(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs.builder()
.ec2InstanceProfileArn("string")
.networkConfiguration(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs.builder()
.subnets("string")
.securityGroups("string")
.build())
.instanceRequirements(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs.builder()
.memoryMib(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs.builder()
.min(0)
.max(0)
.build())
.vcpuCount(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs.builder()
.min(0)
.max(0)
.build())
.localStorage("string")
.localStorageTypes("string")
.acceleratorTypes("string")
.allowedInstanceTypes("string")
.bareMetal("string")
.baselineEbsBandwidthMbps(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs.builder()
.max(0)
.min(0)
.build())
.burstablePerformance("string")
.cpuManufacturers("string")
.excludedInstanceTypes("string")
.maxSpotPriceAsPercentageOfOptimalOnDemandPrice(0)
.acceleratorTotalMemoryMib(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs.builder()
.max(0)
.min(0)
.build())
.acceleratorCount(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCountArgs.builder()
.max(0)
.min(0)
.build())
.instanceGenerations("string")
.memoryGibPerVcpu(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs.builder()
.max(0.0)
.min(0.0)
.build())
.acceleratorNames("string")
.networkBandwidthGbps(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs.builder()
.max(0.0)
.min(0.0)
.build())
.networkInterfaceCount(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs.builder()
.max(0)
.min(0)
.build())
.onDemandMaxPricePercentageOverLowestPrice(0)
.requireHibernateSupport(false)
.spotMaxPricePercentageOverLowestPrice(0)
.totalLocalStorageGb(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs.builder()
.max(0.0)
.min(0.0)
.build())
.acceleratorManufacturers("string")
.build())
.monitoring("string")
.storageConfiguration(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs.builder()
.storageSizeGib(0)
.build())
.build())
.propagateTags("string")
.build())
.name("string")
.region("string")
.tags(Map.of("string", "string"))
.build());
capacity_provider_resource = aws.ecs.CapacityProvider("capacityProviderResource",
auto_scaling_group_provider={
"auto_scaling_group_arn": "string",
"managed_draining": "string",
"managed_scaling": {
"instance_warmup_period": 0,
"maximum_scaling_step_size": 0,
"minimum_scaling_step_size": 0,
"status": "string",
"target_capacity": 0,
},
"managed_termination_protection": "string",
},
cluster="string",
managed_instances_provider={
"infrastructure_role_arn": "string",
"instance_launch_template": {
"ec2_instance_profile_arn": "string",
"network_configuration": {
"subnets": ["string"],
"security_groups": ["string"],
},
"instance_requirements": {
"memory_mib": {
"min": 0,
"max": 0,
},
"vcpu_count": {
"min": 0,
"max": 0,
},
"local_storage": "string",
"local_storage_types": ["string"],
"accelerator_types": ["string"],
"allowed_instance_types": ["string"],
"bare_metal": "string",
"baseline_ebs_bandwidth_mbps": {
"max": 0,
"min": 0,
},
"burstable_performance": "string",
"cpu_manufacturers": ["string"],
"excluded_instance_types": ["string"],
"max_spot_price_as_percentage_of_optimal_on_demand_price": 0,
"accelerator_total_memory_mib": {
"max": 0,
"min": 0,
},
"accelerator_count": {
"max": 0,
"min": 0,
},
"instance_generations": ["string"],
"memory_gib_per_vcpu": {
"max": 0,
"min": 0,
},
"accelerator_names": ["string"],
"network_bandwidth_gbps": {
"max": 0,
"min": 0,
},
"network_interface_count": {
"max": 0,
"min": 0,
},
"on_demand_max_price_percentage_over_lowest_price": 0,
"require_hibernate_support": False,
"spot_max_price_percentage_over_lowest_price": 0,
"total_local_storage_gb": {
"max": 0,
"min": 0,
},
"accelerator_manufacturers": ["string"],
},
"monitoring": "string",
"storage_configuration": {
"storage_size_gib": 0,
},
},
"propagate_tags": "string",
},
name="string",
region="string",
tags={
"string": "string",
})
const capacityProviderResource = new aws.ecs.CapacityProvider("capacityProviderResource", {
autoScalingGroupProvider: {
autoScalingGroupArn: "string",
managedDraining: "string",
managedScaling: {
instanceWarmupPeriod: 0,
maximumScalingStepSize: 0,
minimumScalingStepSize: 0,
status: "string",
targetCapacity: 0,
},
managedTerminationProtection: "string",
},
cluster: "string",
managedInstancesProvider: {
infrastructureRoleArn: "string",
instanceLaunchTemplate: {
ec2InstanceProfileArn: "string",
networkConfiguration: {
subnets: ["string"],
securityGroups: ["string"],
},
instanceRequirements: {
memoryMib: {
min: 0,
max: 0,
},
vcpuCount: {
min: 0,
max: 0,
},
localStorage: "string",
localStorageTypes: ["string"],
acceleratorTypes: ["string"],
allowedInstanceTypes: ["string"],
bareMetal: "string",
baselineEbsBandwidthMbps: {
max: 0,
min: 0,
},
burstablePerformance: "string",
cpuManufacturers: ["string"],
excludedInstanceTypes: ["string"],
maxSpotPriceAsPercentageOfOptimalOnDemandPrice: 0,
acceleratorTotalMemoryMib: {
max: 0,
min: 0,
},
acceleratorCount: {
max: 0,
min: 0,
},
instanceGenerations: ["string"],
memoryGibPerVcpu: {
max: 0,
min: 0,
},
acceleratorNames: ["string"],
networkBandwidthGbps: {
max: 0,
min: 0,
},
networkInterfaceCount: {
max: 0,
min: 0,
},
onDemandMaxPricePercentageOverLowestPrice: 0,
requireHibernateSupport: false,
spotMaxPricePercentageOverLowestPrice: 0,
totalLocalStorageGb: {
max: 0,
min: 0,
},
acceleratorManufacturers: ["string"],
},
monitoring: "string",
storageConfiguration: {
storageSizeGib: 0,
},
},
propagateTags: "string",
},
name: "string",
region: "string",
tags: {
string: "string",
},
});
type: aws:ecs:CapacityProvider
properties:
autoScalingGroupProvider:
autoScalingGroupArn: string
managedDraining: string
managedScaling:
instanceWarmupPeriod: 0
maximumScalingStepSize: 0
minimumScalingStepSize: 0
status: string
targetCapacity: 0
managedTerminationProtection: string
cluster: string
managedInstancesProvider:
infrastructureRoleArn: string
instanceLaunchTemplate:
ec2InstanceProfileArn: string
instanceRequirements:
acceleratorCount:
max: 0
min: 0
acceleratorManufacturers:
- string
acceleratorNames:
- string
acceleratorTotalMemoryMib:
max: 0
min: 0
acceleratorTypes:
- string
allowedInstanceTypes:
- string
bareMetal: string
baselineEbsBandwidthMbps:
max: 0
min: 0
burstablePerformance: string
cpuManufacturers:
- string
excludedInstanceTypes:
- string
instanceGenerations:
- string
localStorage: string
localStorageTypes:
- string
maxSpotPriceAsPercentageOfOptimalOnDemandPrice: 0
memoryGibPerVcpu:
max: 0
min: 0
memoryMib:
max: 0
min: 0
networkBandwidthGbps:
max: 0
min: 0
networkInterfaceCount:
max: 0
min: 0
onDemandMaxPricePercentageOverLowestPrice: 0
requireHibernateSupport: false
spotMaxPricePercentageOverLowestPrice: 0
totalLocalStorageGb:
max: 0
min: 0
vcpuCount:
max: 0
min: 0
monitoring: string
networkConfiguration:
securityGroups:
- string
subnets:
- string
storageConfiguration:
storageSizeGib: 0
propagateTags: string
name: string
region: string
tags:
string: string
CapacityProvider Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The CapacityProvider resource accepts the following input properties:
- Auto
Scaling CapacityGroup Provider Provider Auto Scaling Group Provider - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - Cluster string
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - Managed
Instances CapacityProvider Provider Managed Instances Provider - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- Dictionary<string, string>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Auto
Scaling CapacityGroup Provider Provider Auto Scaling Group Provider Args - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - Cluster string
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - Managed
Instances CapacityProvider Provider Managed Instances Provider Args - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- map[string]string
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- auto
Scaling CapacityGroup Provider Provider Auto Scaling Group Provider - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - cluster String
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - managed
Instances CapacityProvider Provider Managed Instances Provider - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- Map<String,String>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- auto
Scaling CapacityGroup Provider Provider Auto Scaling Group Provider - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - cluster string
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - managed
Instances CapacityProvider Provider Managed Instances Provider - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- {[key: string]: string}
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- auto_
scaling_ Capacitygroup_ provider Provider Auto Scaling Group Provider Args - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - cluster str
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - managed_
instances_ Capacityprovider Provider Managed Instances Provider Args - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- Mapping[str, str]
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- auto
Scaling Property MapGroup Provider - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - cluster String
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - managed
Instances Property MapProvider - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- Map<String>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration 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:
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) -> CapacityProviderfunc GetCapacityProvider(ctx *Context, name string, id IDInput, state *CapacityProviderState, opts ...ResourceOption) (*CapacityProvider, error)public static CapacityProvider Get(string name, Input<string> id, CapacityProviderState? state, CustomResourceOptions? opts = null)public static CapacityProvider get(String name, Output<String> id, CapacityProviderState state, CustomResourceOptions options)resources: _: type: aws:ecs:CapacityProvider get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
- ARN that identifies the capacity provider.
- Auto
Scaling CapacityGroup Provider Provider Auto Scaling Group Provider - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - Cluster string
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - Managed
Instances CapacityProvider Provider Managed Instances Provider - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- Dictionary<string, string>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
- Arn string
- ARN that identifies the capacity provider.
- Auto
Scaling CapacityGroup Provider Provider Auto Scaling Group Provider Args - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - Cluster string
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - Managed
Instances CapacityProvider Provider Managed Instances Provider Args - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- map[string]string
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - map[string]string
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
- arn String
- ARN that identifies the capacity provider.
- auto
Scaling CapacityGroup Provider Provider Auto Scaling Group Provider - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - cluster String
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - managed
Instances CapacityProvider Provider Managed Instances Provider - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- Map<String,String>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
- arn string
- ARN that identifies the capacity provider.
- auto
Scaling CapacityGroup Provider Provider Auto Scaling Group Provider - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - cluster string
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - managed
Instances CapacityProvider Provider Managed Instances Provider - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- {[key: string]: string}
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
- arn str
- ARN that identifies the capacity provider.
- auto_
scaling_ Capacitygroup_ provider Provider Auto Scaling Group Provider Args - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - cluster str
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - managed_
instances_ Capacityprovider Provider Managed Instances Provider Args - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- Mapping[str, str]
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
- arn String
- ARN that identifies the capacity provider.
- auto
Scaling Property MapGroup Provider - Configuration block for the provider for the ECS auto scaling group. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust be specified. - cluster String
- Name of the ECS cluster. Required when using
managed_instances_provider. Must not be set when usingauto_scaling_group_provider. - managed
Instances Property MapProvider - Configuration block for the managed instances provider. Detailed below. Exactly one of
auto_scaling_group_providerormanaged_instances_providermust 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.
- Map<String>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tagsconfiguration block.
Supporting Types
CapacityProviderAutoScalingGroupProvider, CapacityProviderAutoScalingGroupProviderArgs
- Auto
Scaling stringGroup Arn - ARN of the associated auto scaling group.
- Managed
Draining string - Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are
ENABLEDandDISABLED. The default value isENABLEDwhen a capacity provider is created. - Managed
Scaling CapacityProvider Auto Scaling Group Provider Managed Scaling - Configuration block defining the parameters of the auto scaling. Detailed below.
- Managed
Termination stringProtection - Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are
ENABLEDandDISABLED.
- Auto
Scaling stringGroup Arn - ARN of the associated auto scaling group.
- Managed
Draining string - Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are
ENABLEDandDISABLED. The default value isENABLEDwhen a capacity provider is created. - Managed
Scaling CapacityProvider Auto Scaling Group Provider Managed Scaling - Configuration block defining the parameters of the auto scaling. Detailed below.
- Managed
Termination stringProtection - Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are
ENABLEDandDISABLED.
- auto
Scaling StringGroup Arn - ARN of the associated auto scaling group.
- managed
Draining String - Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are
ENABLEDandDISABLED. The default value isENABLEDwhen a capacity provider is created. - managed
Scaling CapacityProvider Auto Scaling Group Provider Managed Scaling - Configuration block defining the parameters of the auto scaling. Detailed below.
- managed
Termination StringProtection - Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are
ENABLEDandDISABLED.
- auto
Scaling stringGroup Arn - ARN of the associated auto scaling group.
- managed
Draining string - Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are
ENABLEDandDISABLED. The default value isENABLEDwhen a capacity provider is created. - managed
Scaling CapacityProvider Auto Scaling Group Provider Managed Scaling - Configuration block defining the parameters of the auto scaling. Detailed below.
- managed
Termination stringProtection - Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are
ENABLEDandDISABLED.
- auto_
scaling_ strgroup_ arn - ARN of the associated auto scaling group.
- managed_
draining str - Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are
ENABLEDandDISABLED. The default value isENABLEDwhen a capacity provider is created. - managed_
scaling CapacityProvider Auto Scaling Group Provider Managed Scaling - Configuration block defining the parameters of the auto scaling. Detailed below.
- managed_
termination_ strprotection - Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are
ENABLEDandDISABLED.
- auto
Scaling StringGroup Arn - ARN of the associated auto scaling group.
- managed
Draining String - Enables or disables a graceful shutdown of instances without disturbing workloads. Valid values are
ENABLEDandDISABLED. The default value isENABLEDwhen a capacity provider is created. - managed
Scaling Property Map - Configuration block defining the parameters of the auto scaling. Detailed below.
- managed
Termination StringProtection - Enables or disables container-aware termination of instances in the auto scaling group when scale-in happens. Valid values are
ENABLEDandDISABLED.
CapacityProviderAutoScalingGroupProviderManagedScaling, CapacityProviderAutoScalingGroupProviderManagedScalingArgs
- Instance
Warmup intPeriod 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 intStep Size - Maximum step adjustment size. A number between 1 and 10,000.
- Minimum
Scaling intStep Size - Minimum step adjustment size. A number between 1 and 10,000.
- Status string
- Whether auto scaling is managed by ECS. Valid values are
ENABLEDandDISABLED. - Target
Capacity int - Target utilization for the capacity provider. A number between 1 and 100.
- Instance
Warmup intPeriod 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 intStep Size - Maximum step adjustment size. A number between 1 and 10,000.
- Minimum
Scaling intStep Size - Minimum step adjustment size. A number between 1 and 10,000.
- Status string
- Whether auto scaling is managed by ECS. Valid values are
ENABLEDandDISABLED. - Target
Capacity int - Target utilization for the capacity provider. A number between 1 and 100.
- instance
Warmup IntegerPeriod 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 IntegerStep Size - Maximum step adjustment size. A number between 1 and 10,000.
- minimum
Scaling IntegerStep Size - Minimum step adjustment size. A number between 1 and 10,000.
- status String
- Whether auto scaling is managed by ECS. Valid values are
ENABLEDandDISABLED. - target
Capacity Integer - Target utilization for the capacity provider. A number between 1 and 100.
- instance
Warmup numberPeriod 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 numberStep Size - Maximum step adjustment size. A number between 1 and 10,000.
- minimum
Scaling numberStep Size - Minimum step adjustment size. A number between 1 and 10,000.
- status string
- Whether auto scaling is managed by ECS. Valid values are
ENABLEDandDISABLED. - target
Capacity number - Target utilization for the capacity provider. A number between 1 and 100.
- instance_
warmup_ intperiod 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_ intstep_ size - Maximum step adjustment size. A number between 1 and 10,000.
- minimum_
scaling_ intstep_ size - Minimum step adjustment size. A number between 1 and 10,000.
- status str
- Whether auto scaling is managed by ECS. Valid values are
ENABLEDandDISABLED. - target_
capacity int - Target utilization for the capacity provider. A number between 1 and 100.
- instance
Warmup NumberPeriod 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 NumberStep Size - Maximum step adjustment size. A number between 1 and 10,000.
- minimum
Scaling NumberStep Size - Minimum step adjustment size. A number between 1 and 10,000.
- status String
- Whether auto scaling is managed by ECS. Valid values are
ENABLEDandDISABLED. - target
Capacity Number - Target utilization for the capacity provider. A number between 1 and 100.
CapacityProviderManagedInstancesProvider, CapacityProviderManagedInstancesProviderArgs
- Infrastructure
Role stringArn - The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
- Instance
Launch CapacityTemplate Provider Managed Instances Provider Instance Launch Template - The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
- string
- Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are
CAPACITY_PROVIDERandNONE.
- Infrastructure
Role stringArn - The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
- Instance
Launch CapacityTemplate Provider Managed Instances Provider Instance Launch Template - The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
- string
- Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are
CAPACITY_PROVIDERandNONE.
- infrastructure
Role StringArn - The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
- instance
Launch CapacityTemplate Provider Managed Instances Provider Instance Launch Template - The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
- String
- Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are
CAPACITY_PROVIDERandNONE.
- infrastructure
Role stringArn - The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
- instance
Launch CapacityTemplate Provider Managed Instances Provider Instance Launch Template - The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
- string
- Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are
CAPACITY_PROVIDERandNONE.
- infrastructure_
role_ strarn - The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
- instance_
launch_ Capacitytemplate Provider Managed Instances Provider Instance Launch Template - The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
- str
- Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are
CAPACITY_PROVIDERandNONE.
- infrastructure
Role StringArn - The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.
- instance
Launch Property MapTemplate - The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide. Detailed below.
- String
- Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider. Valid values are
CAPACITY_PROVIDERandNONE.
CapacityProviderManagedInstancesProviderInstanceLaunchTemplate, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs
- Ec2Instance
Profile stringArn - The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
- Network
Configuration CapacityProvider Managed Instances Provider Instance Launch Template Network Configuration - The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
- Instance
Requirements CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements - The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
- Monitoring string
- CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are
BASICandDETAILED. - Storage
Configuration CapacityProvider Managed Instances Provider Instance Launch Template Storage Configuration - The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
- Ec2Instance
Profile stringArn - The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
- Network
Configuration CapacityProvider Managed Instances Provider Instance Launch Template Network Configuration - The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
- Instance
Requirements CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements - The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
- Monitoring string
- CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are
BASICandDETAILED. - Storage
Configuration CapacityProvider Managed Instances Provider Instance Launch Template Storage Configuration - The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
- ec2Instance
Profile StringArn - The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
- network
Configuration CapacityProvider Managed Instances Provider Instance Launch Template Network Configuration - The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
- instance
Requirements CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements - The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
- monitoring String
- CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are
BASICandDETAILED. - storage
Configuration CapacityProvider Managed Instances Provider Instance Launch Template Storage Configuration - The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
- ec2Instance
Profile stringArn - The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
- network
Configuration CapacityProvider Managed Instances Provider Instance Launch Template Network Configuration - The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
- instance
Requirements CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements - The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
- monitoring string
- CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are
BASICandDETAILED. - storage
Configuration CapacityProvider Managed Instances Provider Instance Launch Template Storage Configuration - The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
- ec2_
instance_ strprofile_ arn - The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
- network_
configuration CapacityProvider Managed Instances Provider Instance Launch Template Network Configuration - The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
- instance_
requirements CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements - The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
- monitoring str
- CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are
BASICandDETAILED. - storage_
configuration CapacityProvider Managed Instances Provider Instance Launch Template Storage Configuration - The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
- ec2Instance
Profile StringArn - The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.
- network
Configuration Property Map - The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
- instance
Requirements Property Map - The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
- monitoring String
- CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide. Valid values are
BASICandDETAILED. - storage
Configuration Property Map - The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirements, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs
- Memory
Mib CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Memory Mib - The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
- Vcpu
Count CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Vcpu Count - The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
- Accelerator
Count CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Accelerator Count - The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
- Accelerator
Manufacturers List<string> - The accelerator manufacturers to include. You can specify
nvidia,amd,amazon-web-services,xilinx, orhabanadepending on your accelerator requirements. Valid values areamazon-web-services,amd,nvidia,xilinx,habana. - Accelerator
Names List<string> - The specific accelerator names to include. For example, you can specify
a100,v100,k80, or other specific accelerator models. Valid values area100,inferentia,k520,k80,m60,radeon-pro-v520,t4,vu9p,v100,a10g,h100,t4g. - Accelerator
Total CapacityMemory Mib Provider Managed Instances Provider Instance Launch Template Instance Requirements Accelerator Total Memory Mib - The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
- Accelerator
Types List<string> - The accelerator types to include. You can specify
gpufor graphics processing units,fpgafor field programmable gate arrays, orinferencefor machine learning inference accelerators. Valid values aregpu,fpga,inference. - Allowed
Instance List<string>Types - The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g.,
m5.*). - Bare
Metal string - Indicates whether to include bare metal instance types. Set to
includedto allow bare metal instances,excludedto exclude them, orrequiredto use only bare metal instances. Valid values areincluded,excluded,required. - Baseline
Ebs CapacityBandwidth Mbps Provider Managed Instances Provider Instance Launch Template Instance Requirements Baseline Ebs Bandwidth Mbps - The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
- Burstable
Performance string - Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to
includedto allow burstable instances,excludedto exclude them, orrequiredto use only burstable instances. Valid values areincluded,excluded,required. - Cpu
Manufacturers List<string> - The CPU manufacturers to include or exclude. You can specify
intel,amd, oramazon-web-servicesto control which CPU types are used for your workloads. Valid values areintel,amd,amazon-web-services. - Excluded
Instance List<string>Types - The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
- Instance
Generations List<string> - The instance generations to include. You can specify
currentto use the latest generation instances, orpreviousto include previous generation instances for cost optimization. Valid values arecurrent,previous. - Local
Storage string - Indicates whether to include instance types with local storage. Set to
includedto allow local storage,excludedto exclude it, orrequiredto use only instances with local storage. Valid values areincluded,excluded,required. - Local
Storage List<string>Types - The local storage types to include. You can specify
hddfor hard disk drives,ssdfor solid state drives, or both. Valid values arehdd,ssd. - Max
Spot intPrice As Percentage Of Optimal On Demand Price - The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
- Memory
Gib CapacityPer Vcpu Provider Managed Instances Provider Instance Launch Template Instance Requirements Memory Gib Per Vcpu - The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
- Network
Bandwidth CapacityGbps Provider Managed Instances Provider Instance Launch Template Instance Requirements Network Bandwidth Gbps - The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
- Network
Interface CapacityCount Provider Managed Instances Provider Instance Launch Template Instance Requirements Network Interface Count - The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
- On
Demand intMax Price Percentage Over Lowest Price - The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
- Require
Hibernate boolSupport - Indicates whether the instance types must support hibernation. When set to
true, only instance types that support hibernation are selected. - Spot
Max intPrice Percentage Over Lowest Price - The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
- Total
Local CapacityStorage Gb Provider Managed Instances Provider Instance Launch Template Instance Requirements Total Local Storage Gb - The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
- Memory
Mib CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Memory Mib - The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
- Vcpu
Count CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Vcpu Count - The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
- Accelerator
Count CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Accelerator Count - The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
- Accelerator
Manufacturers []string - The accelerator manufacturers to include. You can specify
nvidia,amd,amazon-web-services,xilinx, orhabanadepending on your accelerator requirements. Valid values areamazon-web-services,amd,nvidia,xilinx,habana. - Accelerator
Names []string - The specific accelerator names to include. For example, you can specify
a100,v100,k80, or other specific accelerator models. Valid values area100,inferentia,k520,k80,m60,radeon-pro-v520,t4,vu9p,v100,a10g,h100,t4g. - Accelerator
Total CapacityMemory Mib Provider Managed Instances Provider Instance Launch Template Instance Requirements Accelerator Total Memory Mib - The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
- Accelerator
Types []string - The accelerator types to include. You can specify
gpufor graphics processing units,fpgafor field programmable gate arrays, orinferencefor machine learning inference accelerators. Valid values aregpu,fpga,inference. - Allowed
Instance []stringTypes - The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g.,
m5.*). - Bare
Metal string - Indicates whether to include bare metal instance types. Set to
includedto allow bare metal instances,excludedto exclude them, orrequiredto use only bare metal instances. Valid values areincluded,excluded,required. - Baseline
Ebs CapacityBandwidth Mbps Provider Managed Instances Provider Instance Launch Template Instance Requirements Baseline Ebs Bandwidth Mbps - The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
- Burstable
Performance string - Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to
includedto allow burstable instances,excludedto exclude them, orrequiredto use only burstable instances. Valid values areincluded,excluded,required. - Cpu
Manufacturers []string - The CPU manufacturers to include or exclude. You can specify
intel,amd, oramazon-web-servicesto control which CPU types are used for your workloads. Valid values areintel,amd,amazon-web-services. - Excluded
Instance []stringTypes - The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
- Instance
Generations []string - The instance generations to include. You can specify
currentto use the latest generation instances, orpreviousto include previous generation instances for cost optimization. Valid values arecurrent,previous. - Local
Storage string - Indicates whether to include instance types with local storage. Set to
includedto allow local storage,excludedto exclude it, orrequiredto use only instances with local storage. Valid values areincluded,excluded,required. - Local
Storage []stringTypes - The local storage types to include. You can specify
hddfor hard disk drives,ssdfor solid state drives, or both. Valid values arehdd,ssd. - Max
Spot intPrice As Percentage Of Optimal On Demand Price - The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
- Memory
Gib CapacityPer Vcpu Provider Managed Instances Provider Instance Launch Template Instance Requirements Memory Gib Per Vcpu - The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
- Network
Bandwidth CapacityGbps Provider Managed Instances Provider Instance Launch Template Instance Requirements Network Bandwidth Gbps - The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
- Network
Interface CapacityCount Provider Managed Instances Provider Instance Launch Template Instance Requirements Network Interface Count - The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
- On
Demand intMax Price Percentage Over Lowest Price - The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
- Require
Hibernate boolSupport - Indicates whether the instance types must support hibernation. When set to
true, only instance types that support hibernation are selected. - Spot
Max intPrice Percentage Over Lowest Price - The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
- Total
Local CapacityStorage Gb Provider Managed Instances Provider Instance Launch Template Instance Requirements Total Local Storage Gb - The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
- memory
Mib CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Memory Mib - The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
- vcpu
Count CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Vcpu Count - The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
- accelerator
Count CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Accelerator Count - The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
- accelerator
Manufacturers List<String> - The accelerator manufacturers to include. You can specify
nvidia,amd,amazon-web-services,xilinx, orhabanadepending on your accelerator requirements. Valid values areamazon-web-services,amd,nvidia,xilinx,habana. - accelerator
Names List<String> - The specific accelerator names to include. For example, you can specify
a100,v100,k80, or other specific accelerator models. Valid values area100,inferentia,k520,k80,m60,radeon-pro-v520,t4,vu9p,v100,a10g,h100,t4g. - accelerator
Total CapacityMemory Mib Provider Managed Instances Provider Instance Launch Template Instance Requirements Accelerator Total Memory Mib - The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
- accelerator
Types List<String> - The accelerator types to include. You can specify
gpufor graphics processing units,fpgafor field programmable gate arrays, orinferencefor machine learning inference accelerators. Valid values aregpu,fpga,inference. - allowed
Instance List<String>Types - The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g.,
m5.*). - bare
Metal String - Indicates whether to include bare metal instance types. Set to
includedto allow bare metal instances,excludedto exclude them, orrequiredto use only bare metal instances. Valid values areincluded,excluded,required. - baseline
Ebs CapacityBandwidth Mbps Provider Managed Instances Provider Instance Launch Template Instance Requirements Baseline Ebs Bandwidth Mbps - The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
- burstable
Performance String - Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to
includedto allow burstable instances,excludedto exclude them, orrequiredto use only burstable instances. Valid values areincluded,excluded,required. - cpu
Manufacturers List<String> - The CPU manufacturers to include or exclude. You can specify
intel,amd, oramazon-web-servicesto control which CPU types are used for your workloads. Valid values areintel,amd,amazon-web-services. - excluded
Instance List<String>Types - The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
- instance
Generations List<String> - The instance generations to include. You can specify
currentto use the latest generation instances, orpreviousto include previous generation instances for cost optimization. Valid values arecurrent,previous. - local
Storage String - Indicates whether to include instance types with local storage. Set to
includedto allow local storage,excludedto exclude it, orrequiredto use only instances with local storage. Valid values areincluded,excluded,required. - local
Storage List<String>Types - The local storage types to include. You can specify
hddfor hard disk drives,ssdfor solid state drives, or both. Valid values arehdd,ssd. - max
Spot IntegerPrice As Percentage Of Optimal On Demand Price - The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
- memory
Gib CapacityPer Vcpu Provider Managed Instances Provider Instance Launch Template Instance Requirements Memory Gib Per Vcpu - The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
- network
Bandwidth CapacityGbps Provider Managed Instances Provider Instance Launch Template Instance Requirements Network Bandwidth Gbps - The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
- network
Interface CapacityCount Provider Managed Instances Provider Instance Launch Template Instance Requirements Network Interface Count - The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
- on
Demand IntegerMax Price Percentage Over Lowest Price - The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
- require
Hibernate BooleanSupport - Indicates whether the instance types must support hibernation. When set to
true, only instance types that support hibernation are selected. - spot
Max IntegerPrice Percentage Over Lowest Price - The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
- total
Local CapacityStorage Gb Provider Managed Instances Provider Instance Launch Template Instance Requirements Total Local Storage Gb - The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
- memory
Mib CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Memory Mib - The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
- vcpu
Count CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Vcpu Count - The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
- accelerator
Count CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Accelerator Count - The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
- accelerator
Manufacturers string[] - The accelerator manufacturers to include. You can specify
nvidia,amd,amazon-web-services,xilinx, orhabanadepending on your accelerator requirements. Valid values areamazon-web-services,amd,nvidia,xilinx,habana. - accelerator
Names string[] - The specific accelerator names to include. For example, you can specify
a100,v100,k80, or other specific accelerator models. Valid values area100,inferentia,k520,k80,m60,radeon-pro-v520,t4,vu9p,v100,a10g,h100,t4g. - accelerator
Total CapacityMemory Mib Provider Managed Instances Provider Instance Launch Template Instance Requirements Accelerator Total Memory Mib - The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
- accelerator
Types string[] - The accelerator types to include. You can specify
gpufor graphics processing units,fpgafor field programmable gate arrays, orinferencefor machine learning inference accelerators. Valid values aregpu,fpga,inference. - allowed
Instance string[]Types - The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g.,
m5.*). - bare
Metal string - Indicates whether to include bare metal instance types. Set to
includedto allow bare metal instances,excludedto exclude them, orrequiredto use only bare metal instances. Valid values areincluded,excluded,required. - baseline
Ebs CapacityBandwidth Mbps Provider Managed Instances Provider Instance Launch Template Instance Requirements Baseline Ebs Bandwidth Mbps - The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
- burstable
Performance string - Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to
includedto allow burstable instances,excludedto exclude them, orrequiredto use only burstable instances. Valid values areincluded,excluded,required. - cpu
Manufacturers string[] - The CPU manufacturers to include or exclude. You can specify
intel,amd, oramazon-web-servicesto control which CPU types are used for your workloads. Valid values areintel,amd,amazon-web-services. - excluded
Instance string[]Types - The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
- instance
Generations string[] - The instance generations to include. You can specify
currentto use the latest generation instances, orpreviousto include previous generation instances for cost optimization. Valid values arecurrent,previous. - local
Storage string - Indicates whether to include instance types with local storage. Set to
includedto allow local storage,excludedto exclude it, orrequiredto use only instances with local storage. Valid values areincluded,excluded,required. - local
Storage string[]Types - The local storage types to include. You can specify
hddfor hard disk drives,ssdfor solid state drives, or both. Valid values arehdd,ssd. - max
Spot numberPrice As Percentage Of Optimal On Demand Price - The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
- memory
Gib CapacityPer Vcpu Provider Managed Instances Provider Instance Launch Template Instance Requirements Memory Gib Per Vcpu - The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
- network
Bandwidth CapacityGbps Provider Managed Instances Provider Instance Launch Template Instance Requirements Network Bandwidth Gbps - The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
- network
Interface CapacityCount Provider Managed Instances Provider Instance Launch Template Instance Requirements Network Interface Count - The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
- on
Demand numberMax Price Percentage Over Lowest Price - The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
- require
Hibernate booleanSupport - Indicates whether the instance types must support hibernation. When set to
true, only instance types that support hibernation are selected. - spot
Max numberPrice Percentage Over Lowest Price - The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
- total
Local CapacityStorage Gb Provider Managed Instances Provider Instance Launch Template Instance Requirements Total Local Storage Gb - The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
- memory_
mib CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Memory Mib - The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
- vcpu_
count CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Vcpu Count - The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
- accelerator_
count CapacityProvider Managed Instances Provider Instance Launch Template Instance Requirements Accelerator Count - The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
- accelerator_
manufacturers Sequence[str] - The accelerator manufacturers to include. You can specify
nvidia,amd,amazon-web-services,xilinx, orhabanadepending on your accelerator requirements. Valid values areamazon-web-services,amd,nvidia,xilinx,habana. - accelerator_
names Sequence[str] - The specific accelerator names to include. For example, you can specify
a100,v100,k80, or other specific accelerator models. Valid values area100,inferentia,k520,k80,m60,radeon-pro-v520,t4,vu9p,v100,a10g,h100,t4g. - accelerator_
total_ Capacitymemory_ mib Provider Managed Instances Provider Instance Launch Template Instance Requirements Accelerator Total Memory Mib - The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
- accelerator_
types Sequence[str] - The accelerator types to include. You can specify
gpufor graphics processing units,fpgafor field programmable gate arrays, orinferencefor machine learning inference accelerators. Valid values aregpu,fpga,inference. - allowed_
instance_ Sequence[str]types - The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g.,
m5.*). - bare_
metal str - Indicates whether to include bare metal instance types. Set to
includedto allow bare metal instances,excludedto exclude them, orrequiredto use only bare metal instances. Valid values areincluded,excluded,required. - baseline_
ebs_ Capacitybandwidth_ mbps Provider Managed Instances Provider Instance Launch Template Instance Requirements Baseline Ebs Bandwidth Mbps - The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
- burstable_
performance str - Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to
includedto allow burstable instances,excludedto exclude them, orrequiredto use only burstable instances. Valid values areincluded,excluded,required. - cpu_
manufacturers Sequence[str] - The CPU manufacturers to include or exclude. You can specify
intel,amd, oramazon-web-servicesto control which CPU types are used for your workloads. Valid values areintel,amd,amazon-web-services. - excluded_
instance_ Sequence[str]types - The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
- instance_
generations Sequence[str] - The instance generations to include. You can specify
currentto use the latest generation instances, orpreviousto include previous generation instances for cost optimization. Valid values arecurrent,previous. - local_
storage str - Indicates whether to include instance types with local storage. Set to
includedto allow local storage,excludedto exclude it, orrequiredto use only instances with local storage. Valid values areincluded,excluded,required. - local_
storage_ Sequence[str]types - The local storage types to include. You can specify
hddfor hard disk drives,ssdfor solid state drives, or both. Valid values arehdd,ssd. - max_
spot_ intprice_ as_ percentage_ of_ optimal_ on_ demand_ price - The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
- memory_
gib_ Capacityper_ vcpu Provider Managed Instances Provider Instance Launch Template Instance Requirements Memory Gib Per Vcpu - The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
- network_
bandwidth_ Capacitygbps Provider Managed Instances Provider Instance Launch Template Instance Requirements Network Bandwidth Gbps - The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
- network_
interface_ Capacitycount Provider Managed Instances Provider Instance Launch Template Instance Requirements Network Interface Count - The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
- on_
demand_ intmax_ price_ percentage_ over_ lowest_ price - The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
- require_
hibernate_ boolsupport - Indicates whether the instance types must support hibernation. When set to
true, only instance types that support hibernation are selected. - spot_
max_ intprice_ percentage_ over_ lowest_ price - The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
- total_
local_ Capacitystorage_ gb Provider Managed Instances Provider Instance Launch Template Instance Requirements Total Local Storage Gb - The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
- memory
Mib Property Map - The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
- vcpu
Count Property Map - The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
- accelerator
Count Property Map - The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
- accelerator
Manufacturers List<String> - The accelerator manufacturers to include. You can specify
nvidia,amd,amazon-web-services,xilinx, orhabanadepending on your accelerator requirements. Valid values areamazon-web-services,amd,nvidia,xilinx,habana. - accelerator
Names List<String> - The specific accelerator names to include. For example, you can specify
a100,v100,k80, or other specific accelerator models. Valid values area100,inferentia,k520,k80,m60,radeon-pro-v520,t4,vu9p,v100,a10g,h100,t4g. - accelerator
Total Property MapMemory Mib - The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
- accelerator
Types List<String> - The accelerator types to include. You can specify
gpufor graphics processing units,fpgafor field programmable gate arrays, orinferencefor machine learning inference accelerators. Valid values aregpu,fpga,inference. - allowed
Instance List<String>Types - The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified. Maximum of 400 instance types. You can specify instance type patterns using wildcards (e.g.,
m5.*). - bare
Metal String - Indicates whether to include bare metal instance types. Set to
includedto allow bare metal instances,excludedto exclude them, orrequiredto use only bare metal instances. Valid values areincluded,excluded,required. - baseline
Ebs Property MapBandwidth Mbps - The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
- burstable
Performance String - Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to
includedto allow burstable instances,excludedto exclude them, orrequiredto use only burstable instances. Valid values areincluded,excluded,required. - cpu
Manufacturers List<String> - The CPU manufacturers to include or exclude. You can specify
intel,amd, oramazon-web-servicesto control which CPU types are used for your workloads. Valid values areintel,amd,amazon-web-services. - excluded
Instance List<String>Types - The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads. Maximum of 400 instance types.
- instance
Generations List<String> - The instance generations to include. You can specify
currentto use the latest generation instances, orpreviousto include previous generation instances for cost optimization. Valid values arecurrent,previous. - local
Storage String - Indicates whether to include instance types with local storage. Set to
includedto allow local storage,excludedto exclude it, orrequiredto use only instances with local storage. Valid values areincluded,excluded,required. - local
Storage List<String>Types - The local storage types to include. You can specify
hddfor hard disk drives,ssdfor solid state drives, or both. Valid values arehdd,ssd. - max
Spot NumberPrice As Percentage Of Optimal On Demand Price - The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
- memory
Gib Property MapPer Vcpu - The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
- network
Bandwidth Property MapGbps - The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
- network
Interface Property MapCount - The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
- on
Demand NumberMax Price Percentage Over Lowest Price - The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon ECS selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.
- require
Hibernate BooleanSupport - Indicates whether the instance types must support hibernation. When set to
true, only instance types that support hibernation are selected. - spot
Max NumberPrice Percentage Over Lowest Price - The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
- total
Local Property MapStorage Gb - The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCount, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorCountArgs
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpu, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMib, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsMemoryMibArgs
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbps, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCount, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGb, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCount, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsVcpuCountArgs
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfiguration, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs
- Subnets List<string>
- The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
- Security
Groups List<string> - The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
- Subnets []string
- The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
- Security
Groups []string - The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
- subnets List<String>
- The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
- security
Groups List<String> - The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
- subnets string[]
- The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
- security
Groups string[] - The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
- subnets Sequence[str]
- The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
- security_
groups Sequence[str] - The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
- subnets List<String>
- The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
- security
Groups List<String> - The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfiguration, CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs
- Storage
Size intGib - The size of the tasks volume in GiB. Must be at least 1.
- Storage
Size intGib - The size of the tasks volume in GiB. Must be at least 1.
- storage
Size IntegerGib - The size of the tasks volume in GiB. Must be at least 1.
- storage
Size numberGib - The size of the tasks volume in GiB. Must be at least 1.
- storage_
size_ intgib - The size of the tasks volume in GiB. Must be at least 1.
- storage
Size NumberGib - The size of the tasks volume in GiB. Must be at least 1.
Import
Identity Schema
Required
arn(String) Amazon Resource Name (ARN) of the ECS capacity provider.
Using pulumi import, import ECS Capacity Providers using the arn. For example:
console
% pulumi import aws_ecs_capacity_provider.example arn:aws:ecs:us-west-2:123456789012:capacity-provider/example
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
awsTerraform Provider.
