Skip to content

InstanceRequirementsRequest

Source code in docs_src/capo_ecs/types/instance_requirements_request.py
class InstanceRequirementsRequest(TypedDict, closed=True):
    v_cpu_count: "capo_ecs.types.v_cpu_count_range_request.VCpuCountRangeRequest"
    """<p>The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.</p>"""
    memory_mi_b: "capo_ecs.types.memory_mi_b_request.MemoryMiBRequest"
    """<p>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.</p>"""
    cpu_manufacturers: NotRequired[
        "capo_ecs.types.cpu_manufacturer_set.CpuManufacturerSet"
    ]
    """<p>The CPU manufacturers to include or exclude. You can specify <code>intel</code>, <code>amd</code>, or <code>amazon-web-services</code> to control which CPU types are used for your workloads.</p>"""
    memory_gi_b_per_v_cpu: NotRequired[
        "capo_ecs.types.memory_gi_b_per_v_cpu_request.MemoryGiBPerVCpuRequest"
    ]
    """<p>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.</p>"""
    excluded_instance_types: NotRequired[
        "capo_ecs.types.excluded_instance_type_set.ExcludedInstanceTypeSet"
    ]
    """<p>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.</p>"""
    instance_generations: NotRequired[
        "capo_ecs.types.instance_generation_set.InstanceGenerationSet"
    ]
    """<p>The instance generations to include. You can specify <code>current</code> to use the latest generation instances, or <code>previous</code> to include previous generation instances for cost optimization.</p>"""
    spot_max_price_percentage_over_lowest_price: NotRequired[
        "capo_ecs.types.boxed_integer.BoxedInteger"
    ]
    """<p>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.</p>"""
    on_demand_max_price_percentage_over_lowest_price: NotRequired[
        "capo_ecs.types.boxed_integer.BoxedInteger"
    ]
    """<p>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. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.</p>"""
    bare_metal: NotRequired["capo_ecs.types.bare_metal.BareMetal"]
    """<p>Indicates whether to include bare metal instance types. Set to <code>included</code> to allow bare metal instances, <code>excluded</code> to exclude them, or <code>required</code> to use only bare metal instances.</p>"""
    burstable_performance: NotRequired[
        "capo_ecs.types.burstable_performance.BurstablePerformance"
    ]
    """<p>Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to <code>included</code> to allow burstable instances, <code>excluded</code> to exclude them, or <code>required</code> to use only burstable instances.</p>"""
    require_hibernate_support: NotRequired["capo_ecs.types.boxed_boolean.BoxedBoolean"]
    """<p>Indicates whether the instance types must support hibernation. When set to <code>true</code>, only instance types that support hibernation are selected.</p>"""
    network_interface_count: NotRequired[
        "capo_ecs.types.network_interface_count_request.NetworkInterfaceCountRequest"
    ]
    """<p>The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.</p>"""
    local_storage: NotRequired["capo_ecs.types.local_storage.LocalStorage"]
    """<p>Indicates whether to include instance types with local storage. Set to <code>included</code> to allow local storage, <code>excluded</code> to exclude it, or <code>required</code> to use only instances with local storage.</p>"""
    local_storage_types: NotRequired[
        "capo_ecs.types.local_storage_type_set.LocalStorageTypeSet"
    ]
    """<p>The local storage types to include. You can specify <code>hdd</code> for hard disk drives, <code>ssd</code> for solid state drives, or both.</p>"""
    total_local_storage_gb: NotRequired[
        "capo_ecs.types.total_local_storage_gb_request.TotalLocalStorageGBRequest"
    ]
    """<p>The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.</p>"""
    baseline_ebs_bandwidth_mbps: NotRequired[
        "capo_ecs.types.baseline_ebs_bandwidth_mbps_request.BaselineEbsBandwidthMbpsRequest"
    ]
    """<p>The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.</p>"""
    accelerator_types: NotRequired[
        "capo_ecs.types.accelerator_type_set.AcceleratorTypeSet"
    ]
    """<p>The accelerator types to include. You can specify <code>gpu</code> for graphics processing units, <code>fpga</code> for field programmable gate arrays, or <code>inference</code> for machine learning inference accelerators.</p>"""
    accelerator_count: NotRequired[
        "capo_ecs.types.accelerator_count_request.AcceleratorCountRequest"
    ]
    """<p>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.</p>"""
    accelerator_manufacturers: NotRequired[
        "capo_ecs.types.accelerator_manufacturer_set.AcceleratorManufacturerSet"
    ]
    """<p>The accelerator manufacturers to include. You can specify <code>nvidia</code>, <code>amd</code>, <code>amazon-web-services</code>, or <code>xilinx</code> depending on your accelerator requirements.</p>"""
    accelerator_names: NotRequired[
        "capo_ecs.types.accelerator_name_set.AcceleratorNameSet"
    ]
    """<p>The specific accelerator names to include. For example, you can specify <code>a100</code>, <code>v100</code>, <code>k80</code>, or other specific accelerator models.</p>"""
    accelerator_total_memory_mi_b: NotRequired[
        "capo_ecs.types.accelerator_total_memory_mi_b_request.AcceleratorTotalMemoryMiBRequest"
    ]
    """<p>The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.</p>"""
    network_bandwidth_gbps: NotRequired[
        "capo_ecs.types.network_bandwidth_gbps_request.NetworkBandwidthGbpsRequest"
    ]
    """<p>The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.</p>"""
    allowed_instance_types: NotRequired[
        "capo_ecs.types.allowed_instance_type_set.AllowedInstanceTypeSet"
    ]
    """<p>The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.</p>"""
    max_spot_price_as_percentage_of_optimal_on_demand_price: NotRequired[
        "capo_ecs.types.boxed_integer.BoxedInteger"
    ]
    """<p>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.</p>"""

accelerator_count instance-attribute

accelerator_count: NotRequired[AcceleratorCountRequest]

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 instance-attribute

accelerator_manufacturers: NotRequired[AcceleratorManufacturerSet]

The accelerator manufacturers to include. You can specify nvidia, amd, amazon-web-services, or xilinx depending on your accelerator requirements.

accelerator_names instance-attribute

accelerator_names: NotRequired[AcceleratorNameSet]

The specific accelerator names to include. For example, you can specify a100, v100, k80, or other specific accelerator models.

accelerator_total_memory_mi_b instance-attribute

accelerator_total_memory_mi_b: NotRequired[AcceleratorTotalMemoryMiBRequest]

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 instance-attribute

accelerator_types: NotRequired[AcceleratorTypeSet]

The accelerator types to include. You can specify gpu for graphics processing units, fpga for field programmable gate arrays, or inference for machine learning inference accelerators.

allowed_instance_types instance-attribute

allowed_instance_types: NotRequired[AllowedInstanceTypeSet]

The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.

bare_metal instance-attribute

bare_metal: NotRequired[BareMetal]

Indicates whether to include bare metal instance types. Set to included to allow bare metal instances, excluded to exclude them, or required to use only bare metal instances.

baseline_ebs_bandwidth_mbps instance-attribute

baseline_ebs_bandwidth_mbps: NotRequired[BaselineEbsBandwidthMbpsRequest]

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 instance-attribute

burstable_performance: NotRequired[BurstablePerformance]

Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to included to allow burstable instances, excluded to exclude them, or required to use only burstable instances.

cpu_manufacturers instance-attribute

cpu_manufacturers: NotRequired[CpuManufacturerSet]

The CPU manufacturers to include or exclude. You can specify intel, amd, or amazon-web-services to control which CPU types are used for your workloads.

excluded_instance_types instance-attribute

excluded_instance_types: NotRequired[ExcludedInstanceTypeSet]

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.

instance_generations instance-attribute

instance_generations: NotRequired[InstanceGenerationSet]

The instance generations to include. You can specify current to use the latest generation instances, or previous to include previous generation instances for cost optimization.

local_storage instance-attribute

local_storage: NotRequired[LocalStorage]

Indicates whether to include instance types with local storage. Set to included to allow local storage, excluded to exclude it, or required to use only instances with local storage.

local_storage_types instance-attribute

local_storage_types: NotRequired[LocalStorageTypeSet]

The local storage types to include. You can specify hdd for hard disk drives, ssd for solid state drives, or both.

max_spot_price_as_percentage_of_optimal_on_demand_price instance-attribute

max_spot_price_as_percentage_of_optimal_on_demand_price: NotRequired[BoxedInteger]

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_gi_b_per_v_cpu instance-attribute

memory_gi_b_per_v_cpu: NotRequired[MemoryGiBPerVCpuRequest]

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.

memory_mi_b instance-attribute

memory_mi_b: MemoryMiBRequest

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.

network_bandwidth_gbps instance-attribute

network_bandwidth_gbps: NotRequired[NetworkBandwidthGbpsRequest]

The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.

network_interface_count instance-attribute

network_interface_count: NotRequired[NetworkInterfaceCountRequest]

The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.

on_demand_max_price_percentage_over_lowest_price instance-attribute

on_demand_max_price_percentage_over_lowest_price: NotRequired[BoxedInteger]

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. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

require_hibernate_support instance-attribute

require_hibernate_support: NotRequired[BoxedBoolean]

Indicates whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.

spot_max_price_percentage_over_lowest_price instance-attribute

spot_max_price_percentage_over_lowest_price: NotRequired[BoxedInteger]

The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.

total_local_storage_gb instance-attribute

total_local_storage_gb: NotRequired[TotalLocalStorageGBRequest]

The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.

v_cpu_count instance-attribute

v_cpu_count: VCpuCountRangeRequest

The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.