Skip to content

aws.autoscaling.describe_auto_scaling_groups

Example SQL Queries

SELECT * FROM
aws.autoscaling.describe_auto_scaling_groups;

Description

Gets information about the Auto Scaling groups in the account and Region.

If you specify Auto Scaling group names, the output includes information for only the specified Auto Scaling groups. If you specify filters, the output includes information for only those Auto Scaling groups that meet the filter criteria. If you do not specify group names or filters, the output includes information for all Auto Scaling groups.

This operation also returns information about instances in Auto Scaling groups. To retrieve information about the instances in a warm pool, you must call the DescribeWarmPool API.

Table Definition

Column NameColumn Data Type
auto_scaling_group_names Input Column

The names of the Auto Scaling groups. By default, you can only specify up to 50 names. You can optionally increase this limit using the MaxRecords property.

If you omit this property, all Auto Scaling groups are described.

VARCHAR[]
Show child fields
auto_scaling_group_names[]
filters Input Column

One or more filters to limit the results based on specific tags.

STRUCT(
"name" VARCHAR,
"values" VARCHAR[]
)[]
Show child fields
filters[]
Show child fields
filters[].name

The name of the filter.

The valid values for Name depend on which API operation you're using with the filter (DescribeAutoScalingGroups or DescribeTags).

DescribeAutoScalingGroups

Valid values for Name include the following:

  • tag-key - Accepts tag keys. The results only include information about the Auto Scaling groups associated with these tag keys.

  • tag-value - Accepts tag values. The results only include information about the Auto Scaling groups associated with these tag values.

  • tag:<key> - Accepts the key/value combination of the tag. Use the tag key in the filter name and the tag value as the filter value. The results only include information about the Auto Scaling groups associated with the specified key/value combination.

DescribeTags

Valid values for Name include the following:

  • auto-scaling-group - Accepts the names of Auto Scaling groups. The results only include information about the tags associated with these Auto Scaling groups.

  • key - Accepts tag keys. The results only include information about the tags associated with these tag keys.

  • value - Accepts tag values. The results only include information about the tags associated with these tag values.

  • propagate-at-launch - Accepts a Boolean value, which specifies whether tags propagate to instances at launch. The results only include information about the tags associated with the specified Boolean value.

filters[].values[]
_aws_profile Input Column

The AWS profile defines the AWS identity used. It can be defined via credentials or by assuming a IAM role.

STRUCT(
"type" VARCHAR,
"name" VARCHAR,
"account_id" VARCHAR,
"via_profile_name" VARCHAR,
"assumed_role_arn" VARCHAR,
"organization" STRUCT(
"account_name" VARCHAR,
"id" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[],
"master_account" STRUCT(
"id" VARCHAR,
"email" VARCHAR
),
"parents" STRUCT(
"type" VARCHAR,
"id" VARCHAR,
"name" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[]
)[]
)
)
Show child fields
_aws_profile.account_id

The AWS account id

_aws_profile.assumed_role_arn

The ARN of the assumed role

_aws_profile.name

The unique name of the profile.

_aws_profile.organization

Information about this profile's membership in the AWS organization.

Show child fields
_aws_profile.organization.account_name

The name of account speciifed by the organization

_aws_profile.organization.id

The organization id

_aws_profile.organization.master_account
Show child fields
_aws_profile.organization.master_account.email

The organization master account email address

_aws_profile.organization.master_account.id

The organization master account id

_aws_profile.organization.parents[]
Show child fields
_aws_profile.organization.parents[].id

The id of the parent

_aws_profile.organization.parents[].name

The name of the parent

_aws_profile.organization.parents[].tags[]
Show child fields
_aws_profile.organization.parents[].tags[].key
_aws_profile.organization.parents[].tags[].value
_aws_profile.organization.parents[].type

The type of parent can be an organization unit or a root

_aws_profile.organization.tags[]
Show child fields
_aws_profile.organization.tags[].key
_aws_profile.organization.tags[].value
_aws_profile.type

The type of profile, either 'credentials' or 'assumed_role'

_aws_profile.via_profile_name

This IAM role for this profile is assumed by first utilizing another profile with this name to obtain credentials.

_aws_region Input Column

The AWS region to use.

VARCHAR
auto_scaling_group_arn

The Amazon Resource Name (ARN) of the Auto Scaling group.

VARCHAR
auto_scaling_group_name

The name of the Auto Scaling group.

VARCHAR
availability_zones

One or more Availability Zones for the group.

VARCHAR[]
Show child fields
availability_zones[]
capacity_rebalance

Indicates whether Capacity Rebalancing is enabled.

BOOLEAN
context

Reserved.

VARCHAR
created_time

The date and time the group was created.

TIMESTAMP_S
default_cooldown

The duration of the default cooldown period, in seconds.

BIGINT
default_instance_warmup

The duration of the default instance warmup, in seconds.

BIGINT
desired_capacity

The desired size of the group.

BIGINT
desired_capacity_type

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only.

VARCHAR
enabled_metrics

The metrics enabled for the group.

STRUCT(
"metric" VARCHAR,
"granularity" VARCHAR
)[]
Show child fields
enabled_metrics[]
Show child fields
enabled_metrics[].granularity

The granularity of the metric. The only valid value is 1Minute.

enabled_metrics[].metric

One of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

For more information, see Amazon CloudWatch metrics for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

health_check_grace_period

The duration of the health check grace period, in seconds.

BIGINT
health_check_type

A comma-separated value string of one or more health check types.

VARCHAR
instance_maintenance_policy

An instance maintenance policy.

STRUCT(
"min_healthy_percentage" BIGINT,
"max_healthy_percentage" BIGINT
)
Show child fields
instance_maintenance_policy.max_healthy_percentage

Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of -1.

Both MinHealthyPercentage and MaxHealthyPercentage must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.

instance_maintenance_policy.min_healthy_percentage

Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. To clear a previously set value, specify a value of -1.

instances

The EC2 instances associated with the group.

STRUCT(
"instance_id" VARCHAR,
"instance_type" VARCHAR,
"availability_zone" VARCHAR,
"lifecycle_state" VARCHAR,
"health_status" VARCHAR,
"launch_configuration_name" VARCHAR,
"launch_template" STRUCT(
"launch_template_id" VARCHAR,
"launch_template_name" VARCHAR,
"version" VARCHAR
),
"protected_from_scale_in" BOOLEAN,
"weighted_capacity" VARCHAR
)[]
Show child fields
instances[]
Show child fields
instances[].availability_zone

The Availability Zone in which the instance is running.

instances[].health_status

The last reported health status of the instance. Healthy means that the instance is healthy and should remain in service. Unhealthy means that the instance is unhealthy and that Amazon EC2 Auto Scaling should terminate and replace it.

instances[].instance_id

The ID of the instance.

instances[].instance_type

The instance type of the EC2 instance.

instances[].launch_configuration_name

The launch configuration associated with the instance.

instances[].launch_template

The launch template for the instance.

Show child fields
instances[].launch_template.launch_template_id

The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

instances[].launch_template.launch_template_name

The name of the launch template. To get the template name, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

instances[].launch_template.version

The version number, $Latest, or $Default. To get the version number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions can be created using the Amazon EC2 CreateLaunchTemplateVersion API. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

instances[].lifecycle_state

A description of the current lifecycle state. The Quarantined state is not used. For more information, see Amazon EC2 Auto Scaling instance lifecycle in the Amazon EC2 Auto Scaling User Guide.

instances[].protected_from_scale_in

Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.

instances[].weighted_capacity

The number of capacity units contributed by the instance based on its instance type.

Valid Range: Minimum value of 1. Maximum value of 999.

launch_configuration_name

The name of the associated launch configuration.

VARCHAR
launch_template

The launch template for the group.

STRUCT(
"launch_template_id" VARCHAR,
"launch_template_name" VARCHAR,
"version" VARCHAR
)
Show child fields
launch_template.launch_template_id

The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

launch_template.launch_template_name

The name of the launch template. To get the template name, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

launch_template.version

The version number, $Latest, or $Default. To get the version number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions can be created using the Amazon EC2 CreateLaunchTemplateVersion API. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

load_balancer_names

One or more load balancers associated with the group.

VARCHAR[]
Show child fields
load_balancer_names[]
max_instance_lifetime

The maximum amount of time, in seconds, that an instance can be in service.

Valid Range: Minimum value of 0.

BIGINT
max_size

The maximum size of the group.

BIGINT
min_size

The minimum size of the group.

BIGINT
mixed_instances_policy

The mixed instances policy for the group.

STRUCT(
"launch_template" STRUCT(
"launch_template_specification" STRUCT(
"launch_template_id" VARCHAR,
"launch_template_name" VARCHAR,
"version" VARCHAR
),
"overrides" STRUCT(
"instance_type" VARCHAR,
"weighted_capacity" VARCHAR,
"launch_template_specification" STRUCT(
"launch_template_id" VARCHAR,
"launch_template_name" VARCHAR,
"version" VARCHAR
),
"instance_requirements" STRUCT(
"v_cpu_count" STRUCT(
"min" BIGINT,
"max" BIGINT
),
"memory_mi_b" STRUCT(
"min" BIGINT,
"max" BIGINT
),
"cpu_manufacturers" VARCHAR[],
"memory_gi_b_per_v_cpu" STRUCT(
"min" DOUBLE,
"max" DOUBLE
),
"excluded_instance_types" VARCHAR[],
"instance_generations" VARCHAR[],
"spot_max_price_percentage_over_lowest_price" BIGINT,
"max_spot_price_as_percentage_of_optimal_on_demand_price" BIGINT,
"on_demand_max_price_percentage_over_lowest_price" BIGINT,
"bare_metal" VARCHAR,
"burstable_performance" VARCHAR,
"require_hibernate_support" BOOLEAN,
"network_interface_count" STRUCT(
"min" BIGINT,
"max" BIGINT
),
"local_storage" VARCHAR,
"local_storage_types" VARCHAR[],
"total_local_storage_gb" STRUCT(
"min" DOUBLE,
"max" DOUBLE
),
"baseline_ebs_bandwidth_mbps" STRUCT(
"min" BIGINT,
"max" BIGINT
),
"accelerator_types" VARCHAR[],
"accelerator_count" STRUCT(
"min" BIGINT,
"max" BIGINT
),
"accelerator_manufacturers" VARCHAR[],
"accelerator_names" VARCHAR[],
"accelerator_total_memory_mi_b" STRUCT(
"min" BIGINT,
"max" BIGINT
),
"network_bandwidth_gbps" STRUCT(
"min" DOUBLE,
"max" DOUBLE
),
"allowed_instance_types" VARCHAR[]
)
)[]
),
"instances_distribution" STRUCT(
"on_demand_allocation_strategy" VARCHAR,
"on_demand_base_capacity" BIGINT,
"on_demand_percentage_above_base_capacity" BIGINT,
"spot_allocation_strategy" VARCHAR,
"spot_instance_pools" BIGINT,
"spot_max_price" VARCHAR
)
)
Show child fields
mixed_instances_policy.instances_distribution

The instances distribution.

Show child fields
mixed_instances_policy.instances_distribution.on_demand_allocation_strategy

The allocation strategy to apply to your On-Demand Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.

The following lists the valid values:

lowest-price

Uses price to determine which instance types are the highest priority, launching the lowest priced instance types within an Availability Zone first. This is the default value for Auto Scaling groups that specify InstanceRequirements.

prioritized

You set the order of instance types for the launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling launches your highest priority instance types first. If all your On-Demand capacity cannot be fulfilled using your highest priority instance type, then Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so on. This is the default value for Auto Scaling groups that don't specify InstanceRequirements and cannot be used for groups that do.

mixed_instances_policy.instances_distribution.on_demand_base_capacity

The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is launched first as your group scales.

This number has the same unit of measurement as the group's desired capacity. If you change the default unit of measurement (number of instances) by specifying weighted capacity values in your launch template overrides list, or by changing the default desired capacity type setting of the group, you must specify this number using the same unit of measurement.

Default: 0

mixed_instances_policy.instances_distribution.on_demand_percentage_above_base_capacity

Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity. Expressed as a number (for example, 20 specifies 20% On-Demand Instances, 80% Spot Instances). If set to 100, only On-Demand Instances are used.

Default: 100

mixed_instances_policy.instances_distribution.spot_allocation_strategy

The allocation strategy to apply to your Spot Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.

The following lists the valid values:

capacity-optimized

Requests Spot Instances using pools that are optimally chosen based on the available Spot capacity. This strategy has the lowest risk of interruption. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized.

capacity-optimized-prioritized

You set the order of instance types for the launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best effort basis but optimizes for capacity first. Note that if the On-Demand allocation strategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity. This is not a valid value for Auto Scaling groups that specify InstanceRequirements.

lowest-price

Requests Spot Instances using the lowest priced pools within an Availability Zone, across the number of Spot pools that you specify for the SpotInstancePools property. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. This is the default value, but it might lead to high interruption rates because this strategy only considers instance price and not available capacity.

price-capacity-optimized (recommended)

The price and capacity optimized allocation strategy looks at both price and capacity to select the Spot Instance pools that are the least likely to be interrupted and have the lowest possible price.

mixed_instances_policy.instances_distribution.spot_instance_pools

The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are determined from the different instance types in the overrides. Valid only when the SpotAllocationStrategy is lowest-price. Value must be in the range of 1–20.

Default: 2

mixed_instances_policy.instances_distribution.spot_max_price

The maximum price per unit hour that you are willing to pay for a Spot Instance. If your maximum price is lower than the Spot price for the instance types that you selected, your Spot Instances are not launched. We do not recommend specifying a maximum price because it can lead to increased interruptions. When Spot Instances launch, you pay the current Spot price. To remove a maximum price that you previously set, include the property but specify an empty string ("") for the value.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify one.

Valid Range: Minimum value of 0.001

mixed_instances_policy.launch_template

One or more launch templates and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities.

Show child fields
mixed_instances_policy.launch_template.launch_template_specification

The launch template.

Show child fields
mixed_instances_policy.launch_template.launch_template_specification.launch_template_id

The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

mixed_instances_policy.launch_template.launch_template_specification.launch_template_name

The name of the launch template. To get the template name, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

mixed_instances_policy.launch_template.launch_template_specification.version

The version number, $Latest, or $Default. To get the version number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions can be created using the Amazon EC2 CreateLaunchTemplateVersion API. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

mixed_instances_policy.launch_template.overrides[]
Show child fields
mixed_instances_policy.launch_template.overrides[].instance_requirements

The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.

You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template.

If you specify InstanceRequirements, you can't specify InstanceType.

Show child fields
mixed_instances_policy.launch_template.overrides[].instance_requirements.accelerator_count

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) for an instance type.

To exclude accelerator-enabled instance types, set Max to 0.

Default: No minimum or maximum limits

Show child fields
mixed_instances_policy.launch_template.overrides[].instance_requirements.accelerator_count.max

The maximum value.

mixed_instances_policy.launch_template.overrides[].instance_requirements.accelerator_count.min

The minimum value.

mixed_instances_policy.launch_template.overrides[].instance_requirements.accelerator_manufacturers[]
mixed_instances_policy.launch_template.overrides[].instance_requirements.accelerator_names[]
mixed_instances_policy.launch_template.overrides[].instance_requirements.accelerator_total_memory_mi_b

The minimum and maximum total memory size for the accelerators on an instance type, in MiB.

Default: No minimum or maximum limits

Show child fields
mixed_instances_policy.launch_template.overrides[].instance_requirements.accelerator_total_memory_mi_b.max

The memory maximum in MiB.

mixed_instances_policy.launch_template.overrides[].instance_requirements.accelerator_total_memory_mi_b.min

The memory minimum in MiB.

mixed_instances_policy.launch_template.overrides[].instance_requirements.accelerator_types[]
mixed_instances_policy.launch_template.overrides[].instance_requirements.allowed_instance_types[]
mixed_instances_policy.launch_template.overrides[].instance_requirements.bare_metal

Indicates whether bare metal instance types are included, excluded, or required.

Default: excluded

mixed_instances_policy.launch_template.overrides[].instance_requirements.baseline_ebs_bandwidth_mbps

The minimum and maximum baseline bandwidth performance for an instance type, in Mbps. For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide for Linux Instances.

Default: No minimum or maximum limits

Show child fields
mixed_instances_policy.launch_template.overrides[].instance_requirements.baseline_ebs_bandwidth_mbps.max

The maximum value in Mbps.

mixed_instances_policy.launch_template.overrides[].instance_requirements.baseline_ebs_bandwidth_mbps.min

The minimum value in Mbps.

mixed_instances_policy.launch_template.overrides[].instance_requirements.burstable_performance

Indicates whether burstable performance instance types are included, excluded, or required. For more information, see Burstable performance instances in the Amazon EC2 User Guide for Linux Instances.

Default: excluded

mixed_instances_policy.launch_template.overrides[].instance_requirements.cpu_manufacturers[]
mixed_instances_policy.launch_template.overrides[].instance_requirements.excluded_instance_types[]
mixed_instances_policy.launch_template.overrides[].instance_requirements.instance_generations[]
mixed_instances_policy.launch_template.overrides[].instance_requirements.local_storage

Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, see Amazon EC2 instance store in the Amazon EC2 User Guide for Linux Instances.

Default: included

mixed_instances_policy.launch_template.overrides[].instance_requirements.local_storage_types[]
mixed_instances_policy.launch_template.overrides[].instance_requirements.max_spot_price_as_percentage_of_optimal_on_demand_price

[Price protection] The price protection threshold for Spot Instances, as a percentage of 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 EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

mixed_instances_policy.launch_template.overrides[].instance_requirements.memory_gi_b_per_v_cpu

The minimum and maximum amount of memory per vCPU for an instance type, in GiB.

Default: No minimum or maximum limits

Show child fields
mixed_instances_policy.launch_template.overrides[].instance_requirements.memory_gi_b_per_v_cpu.max

The memory maximum in GiB.

mixed_instances_policy.launch_template.overrides[].instance_requirements.memory_gi_b_per_v_cpu.min

The memory minimum in GiB.

mixed_instances_policy.launch_template.overrides[].instance_requirements.memory_mi_b

The minimum and maximum instance memory size for an instance type, in MiB.

Show child fields
mixed_instances_policy.launch_template.overrides[].instance_requirements.memory_mi_b.max

The memory maximum in MiB.

mixed_instances_policy.launch_template.overrides[].instance_requirements.memory_mi_b.min

The memory minimum in MiB.

mixed_instances_policy.launch_template.overrides[].instance_requirements.network_bandwidth_gbps

The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).

Default: No minimum or maximum limits

Show child fields
mixed_instances_policy.launch_template.overrides[].instance_requirements.network_bandwidth_gbps.max

The maximum amount of network bandwidth, in gigabits per second (Gbps).

mixed_instances_policy.launch_template.overrides[].instance_requirements.network_bandwidth_gbps.min

The minimum amount of network bandwidth, in gigabits per second (Gbps).

mixed_instances_policy.launch_template.overrides[].instance_requirements.network_interface_count

The minimum and maximum number of network interfaces for an instance type.

Default: No minimum or maximum limits

Show child fields
mixed_instances_policy.launch_template.overrides[].instance_requirements.network_interface_count.max

The maximum number of network interfaces.

mixed_instances_policy.launch_template.overrides[].instance_requirements.network_interface_count.min

The minimum number of network interfaces.

mixed_instances_policy.launch_template.overrides[].instance_requirements.on_demand_max_price_percentage_over_lowest_price

[Price protection] 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 EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.

To turn off price protection, specify a high value, such as 999999.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price.

Default: 20

mixed_instances_policy.launch_template.overrides[].instance_requirements.require_hibernate_support

Indicates whether instance types must provide On-Demand Instance hibernation support.

Default: false

mixed_instances_policy.launch_template.overrides[].instance_requirements.spot_max_price_percentage_over_lowest_price

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot 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 EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

mixed_instances_policy.launch_template.overrides[].instance_requirements.total_local_storage_gb

The minimum and maximum total local storage size for an instance type, in GB.

Default: No minimum or maximum limits

Show child fields
mixed_instances_policy.launch_template.overrides[].instance_requirements.total_local_storage_gb.max

The storage maximum in GB.

mixed_instances_policy.launch_template.overrides[].instance_requirements.total_local_storage_gb.min

The storage minimum in GB.

mixed_instances_policy.launch_template.overrides[].instance_requirements.v_cpu_count

The minimum and maximum number of vCPUs for an instance type.

Show child fields
mixed_instances_policy.launch_template.overrides[].instance_requirements.v_cpu_count.max

The maximum number of vCPUs.

mixed_instances_policy.launch_template.overrides[].instance_requirements.v_cpu_count.min

The minimum number of vCPUs.

mixed_instances_policy.launch_template.overrides[].instance_type

The instance type, such as m3.xlarge. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see Instance types in the Amazon EC2 User Guide for Linux Instances.

You can specify up to 40 instance types per Auto Scaling group.

mixed_instances_policy.launch_template.overrides[].launch_template_specification

Provides a launch template for the specified instance type or set of instance requirements. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's specified in the LaunchTemplate definition. For more information, see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User Guide.

You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides and in the LaunchTemplate definition count towards this limit.

Show child fields
mixed_instances_policy.launch_template.overrides[].launch_template_specification.launch_template_id

The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

mixed_instances_policy.launch_template.overrides[].launch_template_specification.launch_template_name

The name of the launch template. To get the template name, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName.

mixed_instances_policy.launch_template.overrides[].launch_template_specification.version

The version number, $Latest, or $Default. To get the version number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions can be created using the Amazon EC2 CreateLaunchTemplateVersion API. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

mixed_instances_policy.launch_template.overrides[].weighted_capacity

If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a WeightedCapacity of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see Configure an Auto Scaling group to use instance weights in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1–999.

If you specify a value for WeightedCapacity for one instance type, you must specify a value for WeightedCapacity for all of them.

Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize, and MinSize). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.

new_instances_protected_from_scale_in

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in.

BOOLEAN
placement_group

The name of the placement group into which to launch your instances, if any.

VARCHAR
predicted_capacity

The predicted capacity of the group when it has a predictive scaling policy.

BIGINT
service_linked_role_arn

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other Amazon Web Services on your behalf.

VARCHAR
status

The current state of the group when the DeleteAutoScalingGroup operation is in progress.

VARCHAR
suspended_processes

The suspended processes associated with the group.

STRUCT(
"process_name" VARCHAR,
"suspension_reason" VARCHAR
)[]
Show child fields
suspended_processes[]
Show child fields
suspended_processes[].process_name

The name of the suspended process.

suspended_processes[].suspension_reason

The reason that the process was suspended.

tags

The tags for the group.

STRUCT(
"resource_id" VARCHAR,
"resource_type" VARCHAR,
"key" VARCHAR,
"value" VARCHAR,
"propagate_at_launch" BOOLEAN
)[]
Show child fields
tags[]
Show child fields
tags[].key

The tag key.

tags[].propagate_at_launch

Determines whether the tag is added to new instances as they are launched in the group.

tags[].resource_id

The name of the group.

tags[].resource_type

The type of resource. The only supported value is auto-scaling-group.

tags[].value

The tag value.

target_group_ar_ns

The Amazon Resource Names (ARN) of the target groups for your load balancer.

VARCHAR[]
Show child fields
target_group_ar_ns[]
termination_policies

The termination policies for the group.

VARCHAR[]
Show child fields
termination_policies[]
traffic_sources

The traffic sources associated with this Auto Scaling group.

STRUCT(
"identifier" VARCHAR,
"type" VARCHAR
)[]
Show child fields
traffic_sources[]
Show child fields
traffic_sources[].identifier

Identifies the traffic source.

For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.

For example:

  • Application Load Balancer ARN: arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456

  • Classic Load Balancer name: my-classic-load-balancer

  • VPC Lattice ARN: arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456

To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing DescribeTargetGroups and DescribeLoadBalancers API operations.

To get the ARN of a target group for VPC Lattice, use the VPC Lattice GetTargetGroup API operation.

traffic_sources[].type

Provides additional context for the value of Identifier.

The following lists the valid values:

  • elb if Identifier is the name of a Classic Load Balancer.

  • elbv2 if Identifier is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.

  • vpc-lattice if Identifier is the ARN of a VPC Lattice target group.

Required if the identifier is the name of a Classic Load Balancer.

vpc_zone_identifier

One or more subnet IDs, if applicable, separated by commas.

VARCHAR
warm_pool_configuration

The warm pool for the group.

STRUCT(
"max_group_prepared_capacity" BIGINT,
"min_size" BIGINT,
"pool_state" VARCHAR,
"status" VARCHAR,
"instance_reuse_policy" STRUCT(
"reuse_on_scale_in" BOOLEAN
)
)
Show child fields
warm_pool_configuration.instance_reuse_policy

The instance reuse policy.

Show child fields
warm_pool_configuration.instance_reuse_policy.reuse_on_scale_in

Specifies whether instances in the Auto Scaling group can be returned to the warm pool on scale in.

warm_pool_configuration.max_group_prepared_capacity

The maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.

warm_pool_configuration.min_size

The minimum number of instances to maintain in the warm pool.

warm_pool_configuration.pool_state

The instance state to transition to after the lifecycle actions are complete.

warm_pool_configuration.status

The status of a warm pool that is marked for deletion.

warm_pool_size

The current size of the warm pool.

BIGINT