Smaws_Client_AutoScaling.Typestype nonrec instance_reuse_policy = {reuse_on_scale_in : reuse_on_scale_in option;Specifies whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
*)}Describes an instance reuse policy for a warm pool.
For more information, see Warm pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
type nonrec warm_pool_configuration = {instance_reuse_policy : instance_reuse_policy option;The instance reuse policy.
*)status : warm_pool_status option;The status of a warm pool that is marked for deletion.
*)pool_state : warm_pool_state option;The instance state to transition to after the lifecycle actions are complete.
*)min_size : warm_pool_min_size option;The minimum number of instances to maintain in the warm pool.
*)max_group_prepared_capacity : max_group_prepared_capacity option;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.
}Describes a warm pool configuration.
type nonrec values = xml_string listtype nonrec v_cpu_count_request = {max : nullable_positive_integer option;The maximum number of vCPUs.
*)min : nullable_positive_integer;The minimum number of vCPUs.
*)}Specifies the minimum and maximum for the VCpuCount object when you specify InstanceRequirements for an Auto Scaling group.
type nonrec launch_template_specification = {version : xml_string_max_len255 option;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.
launch_template_name : launch_template_name option;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_id : xml_string_max_len255 option;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.
}Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information about launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.
type nonrec memory_mi_b_request = {max : nullable_positive_integer option;The memory maximum in MiB.
*)min : nullable_positive_integer;The memory minimum in MiB.
*)}Specifies the minimum and maximum for the MemoryMiB object when you specify InstanceRequirements for an Auto Scaling group.
type nonrec cpu_manufacturers = cpu_manufacturer listtype nonrec memory_gi_b_per_v_cpu_request = {max : nullable_positive_double option;The memory maximum in GiB.
*)min : nullable_positive_double option;The memory minimum in GiB.
*)}Specifies the minimum and maximum for the MemoryGiBPerVCpu object when you specify InstanceRequirements for an Auto Scaling group.
type nonrec excluded_instance_types = excluded_instance listtype nonrec instance_generations = instance_generation listtype nonrec network_interface_count_request = {max : nullable_positive_integer option;The maximum number of network interfaces.
*)min : nullable_positive_integer option;The minimum number of network interfaces.
*)}Specifies the minimum and maximum for the NetworkInterfaceCount object when you specify InstanceRequirements for an Auto Scaling group.
type nonrec local_storage_types = local_storage_type listtype nonrec total_local_storage_gb_request = {max : nullable_positive_double option;The storage maximum in GB.
*)min : nullable_positive_double option;The storage minimum in GB.
*)}Specifies the minimum and maximum for the TotalLocalStorageGB object when you specify InstanceRequirements for an Auto Scaling group.
type nonrec baseline_ebs_bandwidth_mbps_request = {max : nullable_positive_integer option;The maximum value in Mbps.
*)min : nullable_positive_integer option;The minimum value in Mbps.
*)}Specifies the minimum and maximum for the BaselineEbsBandwidthMbps object when you specify InstanceRequirements for an Auto Scaling group.
type nonrec accelerator_types = accelerator_type listtype nonrec accelerator_count_request = {max : nullable_positive_integer option;The maximum value.
*)min : nullable_positive_integer option;The minimum value.
*)}Specifies the minimum and maximum for the AcceleratorCount object when you specify InstanceRequirements for an Auto Scaling group.
type nonrec accelerator_manufacturers = accelerator_manufacturer listtype nonrec accelerator_names = accelerator_name listtype nonrec accelerator_total_memory_mi_b_request = {max : nullable_positive_integer option;The memory maximum in MiB.
*)min : nullable_positive_integer option;The memory minimum in MiB.
*)}Specifies the minimum and maximum for the AcceleratorTotalMemoryMiB object when you specify InstanceRequirements for an Auto Scaling group.
type nonrec network_bandwidth_gbps_request = {max : nullable_positive_double option;The maximum amount of network bandwidth, in gigabits per second (Gbps).
*)min : nullable_positive_double option;The minimum amount of network bandwidth, in gigabits per second (Gbps).
*)}Specifies the minimum and maximum for the NetworkBandwidthGbps object when you specify InstanceRequirements for an Auto Scaling group.
Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see Available instance bandwidth in the Amazon EC2 User Guide.
type nonrec allowed_instance_types = allowed_instance_type listtype nonrec performance_factor_reference_request = {instance_family : string_ option;The instance family to use as a baseline reference.
Make sure that you specify the correct value for the instance family. The instance family is everything before the period (.) in the instance type name. For example, in the instance c6i.large, the instance family is c6i, not c6. For more information, see Amazon EC2 instance type naming conventions in Amazon EC2 Instance Types.
The following instance types are not supported for performance protection.
c1g3| g3shpc7gm1| m2mac1 | mac2 | mac2-m1ultra | mac2-m2 | mac2-m2prop3dn | p4d | p5t1u-12tb1 | u-18tb1 | u-24tb1 | u-3tb1 | u-6tb1 | u-9tb1 | u7i-12tb | u7in-16tb | u7in-24tb | u7in-32tbIf you performance protection by specifying a supported instance family, the returned instance types will exclude the preceding unsupported instance families.
If you specify an unsupported instance family as a value for baseline performance, the API returns an empty response.
*)}Specify an instance family to use as the baseline reference for CPU performance. All instance types that All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.
Currently only one instance family can be specified in the list.
type nonrec performance_factor_reference_set_request =
performance_factor_reference_request listtype nonrec cpu_performance_factor_request = {references : performance_factor_reference_set_request option;Specify an instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.
Currently only one instance family can be specified in the list.
*)}The CPU performance to consider, using an instance family as the baseline reference.
type nonrec baseline_performance_factors_request = {cpu : cpu_performance_factor_request option;The CPU performance to consider, using an instance family as the baseline reference.
*)}The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Auto Scaling uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying c6i uses the CPU performance of the c6i family as the baseline reference.
type nonrec instance_requirements = {baseline_performance_factors : baseline_performance_factors_request option;The baseline performance factors for the instance requirements.
*)allowed_instance_types : allowed_instance_types option;The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.
You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.
For example, if you specify c5*, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.
If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.
Default: All instance types
*)network_bandwidth_gbps : network_bandwidth_gbps_request option;The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).
Default: No minimum or maximum limits
*)accelerator_total_memory_mi_b : accelerator_total_memory_mi_b_request option;The minimum and maximum total memory size for the accelerators on an instance type, in MiB.
Default: No minimum or maximum limits
*)accelerator_names : accelerator_names option;Lists the accelerators that must be on an instance type.
a100.v100.k80.t4.m60.radeon-pro-v520.vu9p.Default: Any accelerator
*)accelerator_manufacturers : accelerator_manufacturers option;Indicates whether instance types must have accelerators by specific manufacturers.
nvidia.amd.amazon-web-services.xilinx.Default: Any manufacturer
*)accelerator_count : accelerator_count_request option;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
*)accelerator_types : accelerator_types option;Lists the accelerator types that must be on an instance type.
gpu.fpga.inference.Default: Any accelerator type
*)baseline_ebs_bandwidth_mbps : baseline_ebs_bandwidth_mbps_request option;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.
Default: No minimum or maximum limits
*)total_local_storage_g_b : total_local_storage_gb_request option;The minimum and maximum total local storage size for an instance type, in GB.
Default: No minimum or maximum limits
*)local_storage_types : local_storage_types option;Indicates the type of local storage that is required.
hdd.ssd.Default: Any local storage type
*)local_storage : local_storage option;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.
Default: included
network_interface_count : network_interface_count_request option;The minimum and maximum number of network interfaces for an instance type.
Default: No minimum or maximum limits
*)require_hibernate_support : nullable_boolean option;Indicates whether instance types must provide On-Demand Instance hibernation support.
Default: false
burstable_performance : burstable_performance option;Indicates whether burstable performance instance types are included, excluded, or required. For more information, see Burstable performance instances in the Amazon EC2 User Guide.
Default: excluded
bare_metal : bare_metal option;Indicates whether bare metal instance types are included, excluded, or required.
Default: excluded
on_demand_max_price_percentage_over_lowest_price : nullable_positive_integer
option;[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
max_spot_price_as_percentage_of_optimal_on_demand_price : nullable_positive_integer
option;[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.
spot_max_price_percentage_over_lowest_price : nullable_positive_integer option;[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.
instance_generations : instance_generations option;Indicates whether current or previous generation instance types are included.
current. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see Instance types in the Amazon EC2 User Guide.previous.Default: Any current or previous generation
*)excluded_instance_types : excluded_instance_types option;The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance family, type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.
For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.
If you specify ExcludedInstanceTypes, you can't specify AllowedInstanceTypes.
Default: No excluded instance types
*)memory_gi_b_per_v_cpu : memory_gi_b_per_v_cpu_request option;The minimum and maximum amount of memory per vCPU for an instance type, in GiB.
Default: No minimum or maximum limits
*)cpu_manufacturers : cpu_manufacturers option;Lists which specific CPU manufacturers to include.
intel.amd.amazon-web-services.apple.Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
Default: Any manufacturer
*)memory_mi_b : memory_mi_b_request;The minimum and maximum instance memory size for an instance type, in MiB.
*)v_cpu_count : v_cpu_count_request;The minimum and maximum number of vCPUs for an instance type.
*)}The attributes for the instance types for a mixed instances policy. 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.
When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.
To limit the list of instance types from which Amazon EC2 Auto Scaling can identify matching instance types, you can use one of the following parameters, but not both in the same request:
AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.
For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide. For help determining which instance types match your attributes before you apply them to your Auto Scaling group, see Preview instance types with specified attributes in the Amazon EC2 User Guide.
type nonrec launch_template_overrides = {image_id : image_id option;The ID of the Amazon Machine Image (AMI) to use for instances launched with this override. When using Instance Refresh with ReplaceRootVolume strategy, this specifies the AMI for root volume replacement operations.
For ReplaceRootVolume operations:
MixedInstancesPolicy must specify an ImageIdinstance_requirements : instance_requirements option;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.
launch_template_specification : launch_template_specification option;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.
weighted_capacity : xml_string_max_len32 option;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.
instance_type : xml_string_max_len255 option;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.
You can specify up to 40 instance types per Auto Scaling group.
*)}Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:
Specify the instance types that you want, or define your instance requirements instead and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements. This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when fulfilling Spot and On-Demand capacities. You can view which instance types are matched before you apply the instance requirements to your Auto Scaling group.
After you define your instance requirements, you don't have to keep updating these settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance requirements of the Auto Scaling group to determine whether a new EC2 instance type can be used.
type nonrec overrides = launch_template_overrides listtype nonrec launch_template = {overrides : overrides option;Any properties that you specify override the same properties in the launch template.
*)launch_template_specification : launch_template_specification option;The launch template.
*)}Use this structure to specify the launch templates and instance types (overrides) for a mixed instances policy.
type nonrec instances_distribution = {spot_max_price : mixed_instance_spot_price option;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
*)spot_instance_pools : spot_instance_pools option;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
*)spot_allocation_strategy : xml_string option;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.
*)on_demand_percentage_above_base_capacity : on_demand_percentage_above_base_capacity
option;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
*)on_demand_base_capacity : on_demand_base_capacity option;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
*)on_demand_allocation_strategy : xml_string option;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.
*)}Use this structure to specify the distribution of On-Demand Instances and Spot Instances and the allocation strategies used to fulfill On-Demand and Spot capacities for a mixed instances policy.
type nonrec mixed_instances_policy = {instances_distribution : instances_distribution option;The instances distribution.
*)launch_template : launch_template option;One or more launch templates and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities.
*)}Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group.
A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.
type nonrec availability_zones = xml_string_max_len255 listtype nonrec availability_zone_ids = xml_string_max_len255 listtype nonrec termination_policies = xml_string_max_len1600 listtype nonrec instance_maintenance_policy = {max_healthy_percentage : int_percent100_to200_resettable option;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.
min_healthy_percentage : int_percent_resettable option;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.
}Describes an instance maintenance policy.
For more information, see Set instance maintenance policy in the Amazon EC2 Auto Scaling User Guide.
type nonrec availability_zone_distribution = {capacity_distribution_strategy : capacity_distribution_strategy option;If launches fail in an Availability Zone, the following strategies are available. The default is balanced-best-effort.
balanced-only - If launches fail in an Availability Zone, Auto Scaling will continue to attempt to launch in the unhealthy zone to preserve a balanced distribution.balanced-best-effort - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.reservations-then-balanced - Auto Scaling will first attempt to launch into your Capacity Reservations, and then balance any remaining capacity across the healthy Availability Zones.}Describes an Availability Zone distribution.
type nonrec availability_zone_impairment_policy = {impaired_zone_health_check_behavior : impaired_zone_health_check_behavior
option;Specifies the health check behavior for the impaired Availability Zone in an active zonal shift. If you select Replace unhealthy, instances that appear unhealthy will be replaced in all Availability Zones. If you select Ignore unhealthy, instances will not be replaced in the Availability Zone with the active zonal shift. For more information, see Auto Scaling group zonal shift in the Amazon EC2 Auto Scaling User Guide.
zonal_shift_enabled : zonal_shift_enabled option;If true, enable zonal shift for your Auto Scaling group.
}Describes an Availability Zone impairment policy.
type nonrec capacity_reservation_ids = ascii_string_max_len255 listtype nonrec capacity_reservation_resource_group_arns = resource_name listtype nonrec capacity_reservation_target = {capacity_reservation_resource_group_arns : capacity_reservation_resource_group_arns
option;The resource group ARNs of the Capacity Reservation to launch instances into.
*)capacity_reservation_ids : capacity_reservation_ids option;The Capacity Reservation IDs to launch instances into.
*)}The target for the Capacity Reservation. Specify Capacity Reservations IDs or Capacity Reservation resource group ARNs.
type nonrec capacity_reservation_specification = {capacity_reservation_target : capacity_reservation_target option;Describes a target Capacity Reservation or Capacity Reservation resource group.
*)capacity_reservation_preference : capacity_reservation_preference option;The capacity reservation preference. The following options are available:
capacity-reservations-only - Auto Scaling will only launch instances into a Capacity Reservation or Capacity Reservation resource group. If capacity isn't available, instances will fail to launch.capacity-reservations-first - Auto Scaling will try to launch instances into a Capacity Reservation or Capacity Reservation resource group first. If capacity isn't available, instances will run in On-Demand capacity.none - Auto Scaling will not launch instances into a Capacity Reservation. Instances will run in On-Demand capacity.default - Auto Scaling uses the Capacity Reservation preference from your launch template or an open Capacity Reservation.}Describes the Capacity Reservation preference and targeting options. If you specify open or none for CapacityReservationPreference, do not specify a CapacityReservationTarget.
type nonrec retention_triggers = {terminate_hook_abandon : retention_action option;Specifies the action when a termination lifecycle hook is abandoned due to failure, timeout, or explicit abandonment (calling CompleteLifecycleAction).
Set to retain to move instances to a retained state. Set to terminate for default termination behavior.
Retained instances don't count toward desired capacity and remain until you call TerminateInstanceInAutoScalingGroup.
}Defines the specific triggers that cause instances to be retained in a Retained state rather than terminated. Each trigger corresponds to a different failure scenario during the instance lifecycle. This allows fine-grained control over when to preserve instances for manual intervention.
type nonrec instance_lifecycle_policy = {retention_triggers : retention_triggers option;Specifies the conditions that trigger instance retention behavior. These triggers determine when instances should move to a Retained state instead of automatic termination. This allows you to maintain control over instance management when lifecycles transition and operations fail.
}The instance lifecycle policy for the Auto Scaling group. This policy controls instance behavior when an instance transitions through its lifecycle states. Configure retention triggers to specify when instances should move to a Retained state instead of automatic termination.
For more information, see Control instance retention with instance lifecycle policies in the Amazon EC2 Auto Scaling User Guide.
type nonrec update_auto_scaling_group_type = {deletion_protection : deletion_protection option;The deletion protection setting for the Auto Scaling group. This setting helps safeguard your Auto Scaling group and its instances by controlling whether the DeleteAutoScalingGroup operation is allowed. When deletion protection is enabled, users cannot delete the Auto Scaling group according to the specified protection level until the setting is changed back to a less restrictive level.
The valid values are none, prevent-force-deletion, and prevent-all-deletion.
Default: none
For more information, see Configure deletion protection for your Amazon EC2 Auto Scaling resources in the Amazon EC2 Auto Scaling User Guide.
*)instance_lifecycle_policy : instance_lifecycle_policy option;The instance lifecycle policy for the Auto Scaling group. This policy controls instance behavior when an instance transitions through its lifecycle states. Configure retention triggers to specify when instances should move to a Retained state instead of automatic termination.
For more information, see Control instance retention with instance lifecycle policies in the Amazon EC2 Auto Scaling User Guide.
*)capacity_reservation_specification : capacity_reservation_specification option;The capacity reservation specification for the Auto Scaling group.
*)skip_zonal_shift_validation : skip_zonal_shift_validation option;If you enable zonal shift with cross-zone disabled load balancers, capacity could become imbalanced across Availability Zones. To skip the validation, specify true. For more information, see Auto Scaling group zonal shift in the Amazon EC2 Auto Scaling User Guide.
availability_zone_impairment_policy : availability_zone_impairment_policy
option;The policy for Availability Zone impairment.
*)availability_zone_distribution : availability_zone_distribution option;The instance capacity distribution across Availability Zones.
*)instance_maintenance_policy : instance_maintenance_policy option;An instance maintenance policy. For more information, see Set instance maintenance policy in the Amazon EC2 Auto Scaling User Guide.
*)default_instance_warmup : default_instance_warmup option;The amount of time, in seconds, until a new instance is considered to have finished initializing and resource consumption to become stable after it enters the InService state.
During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an instance before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the warm-up period before aggregating the metrics for new instances with existing instances in the Amazon CloudWatch metrics that are used for scaling, resulting in more reliable usage data. For more information, see Set the default instance warmup for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
To manage various warm-up settings at the group level, we recommend that you set the default instance warmup, even if it is set to 0 seconds. To remove a value that you previously set, include the property but specify -1 for the value. However, we strongly recommend keeping the default instance warmup enabled by specifying a value of 0 or other nominal value.
desired_capacity_type : xml_string_max_len255 option;The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.
By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.
Valid values: units | vcpu | memory-mib
context : context option;Reserved.
*)capacity_rebalance : capacity_rebalance_enabled option;Enables or disables Capacity Rebalancing. If Capacity Rebalancing is disabled, proactive replacement of at-risk Spot Instances does not occur. For more information, see Capacity Rebalancing in Auto Scaling to replace at-risk Spot Instances in the Amazon EC2 Auto Scaling User Guide.
To suspend rebalancing across Availability Zones, use the SuspendProcesses API.
*)max_instance_lifetime : max_instance_lifetime option;The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). To clear a previously set value, specify a new value of 0. For more information, see Replacing Auto Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide.
*)service_linked_role_ar_n : resource_name option;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. For more information, see Service-linked roles in the Amazon EC2 Auto Scaling User Guide.
*)new_instances_protected_from_scale_in : instance_protected option;Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
*)termination_policies : termination_policies option;A policy or a list of policies that are used to select the instances to terminate. The policies are executed in the order that you list them. For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | NewestInstance | OldestInstance | OldestLaunchConfiguration | OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias
vpc_zone_identifier : xml_string_max_len5000 option;A comma-separated list of subnet IDs for a virtual private cloud (VPC). If you specify VPCZoneIdentifier with AvailabilityZones, the subnets that you specify must reside in those Availability Zones.
placement_group : update_placement_group_param option;The name of an existing placement group into which to launch your instances. To remove the placement group setting, pass an empty string for placement-group. For more information about placement groups, see Placement groups in the Amazon EC2 User Guide.
A cluster placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.
*)health_check_grace_period : health_check_grace_period option;The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service and marking it unhealthy due to a failed health check. This is useful if your instances do not immediately pass their health checks after they enter the InService state. For more information, see Set the health check grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
health_check_type : xml_string_max_len32 option;A comma-separated value string of one or more health check types.
The valid values are EC2, EBS, ELB, and VPC_LATTICE. EC2 is the default health check and cannot be disabled. For more information, see Health checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
Only specify EC2 if you must clear a value that was previously set.
availability_zone_ids : availability_zone_ids option;A list of Availability Zone IDs for the Auto Scaling group. You cannot specify both AvailabilityZones and AvailabilityZoneIds in the same request.
*)availability_zones : availability_zones option;One or more Availability Zones for the group.
*)default_cooldown : cooldown option;Only needed if you use simple scaling policies.
The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
*)desired_capacity : auto_scaling_group_desired_capacity option;The desired capacity is the initial capacity of the Auto Scaling group after this operation completes and the capacity it attempts to maintain. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group.
*)max_size : auto_scaling_group_max_size option;The maximum size of the Auto Scaling group.
With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more than your largest instance weight (weights that define how many units each instance contributes to the desired capacity of the group).
min_size : auto_scaling_group_min_size option;The minimum size of the Auto Scaling group.
*)mixed_instances_policy : mixed_instances_policy option;The mixed instances policy. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.
*)launch_template : launch_template_specification option;The launch template and version to use to specify the updates. If you specify LaunchTemplate in your update request, you can't specify LaunchConfigurationName or MixedInstancesPolicy.
launch_configuration_name : xml_string_max_len255 option;The name of the launch configuration. If you specify LaunchConfigurationName in your update request, you can't specify LaunchTemplate or MixedInstancesPolicy.
auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}The service-linked role is not yet ready for use.
The operation can't be performed because there are scaling activities in progress.
You already have a pending update to an Amazon EC2 Auto Scaling resource (for example, an Auto Scaling group, instance, or load balancer).
type nonrec traffic_source_identifier = {type_ : xml_string_max_len511 option;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.
*)identifier : xml_string_max_len511;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:
arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456my-classic-load-balancerarn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456To 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.
*)}Identifying information for a traffic source.
type nonrec traffic_sources = traffic_source_identifier listtype nonrec traffic_source_state = {type_ : xml_string_max_len511 option;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.
*)identifier : xml_string_max_len511 option;The unique identifier of the traffic source.
*)state : xml_string_max_len255 option;Describes the current state of a traffic source.
The state values are as follows:
Adding - The Auto Scaling instances are being registered with the load balancer or target group.Added - All Auto Scaling instances are registered with the load balancer or target group.InService - For an Elastic Load Balancing load balancer or target group, at least one Auto Scaling instance passed an ELB health check. For VPC Lattice, at least one Auto Scaling instance passed an VPC_LATTICE health check.Removing - The Auto Scaling instances are being deregistered from the load balancer or target group. If connection draining (deregistration delay) is enabled, Elastic Load Balancing or VPC Lattice waits for in-flight requests to complete before deregistering the instances.Removed - All Auto Scaling instances are deregistered from the load balancer or target group.traffic_source : xml_string_max_len511 option;This is replaced by Identifier.
}Describes the state of a traffic source.
type nonrec traffic_source_states = traffic_source_state listtype nonrec terminate_instance_in_auto_scaling_group_type = {should_decrement_desired_capacity : should_decrement_desired_capacity;Indicates whether terminating the instance also decrements the size of the Auto Scaling group.
*)instance_id : xml_string_max_len19;The ID of the instance.
*)}type nonrec scaling_activity_status_code = | InPlaceUpdateInProgress| WaitingForInPlaceUpdateToFinalize| WaitingForInPlaceUpdateToStart| WaitingForConnectionDraining| Cancelled| Failed| Successful| WaitingForInstanceWarmup| MidLifecycleAction| WaitingForELBConnectionDraining| InProgress| PreInService| WaitingForInstanceId| WaitingForSpotInstanceId| WaitingForSpotInstanceRequestId| PendingSpotBidPlacementtype nonrec activity = {auto_scaling_group_ar_n : resource_name option;The Amazon Resource Name (ARN) of the Auto Scaling group.
*)auto_scaling_group_state : auto_scaling_group_state option;The state of the Auto Scaling group, which is either InService or Deleted.
details : xml_string option;The details about the activity.
*)progress : progress option;A value between 0 and 100 that indicates the progress of the activity.
*)status_message : xml_string_max_len255 option;A friendly, more verbose description of the activity status.
*)status_code : scaling_activity_status_code;The current status of the activity.
*)end_time : timestamp_type option;The end time of the activity.
*)start_time : timestamp_type;The start time of the activity.
*)cause : xml_string_max_len1023;The reason the activity began.
*)description : xml_string option;A friendly, more verbose description of the activity.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)activity_id : xml_string;The ID of the activity.
*)}Describes scaling activity, which is a long-running process that represents a change to your Auto Scaling group, such as changing its size or replacing an instance.
type nonrec metric_dimension = {value : metric_dimension_value;The value of the dimension.
*)name : metric_dimension_name;The name of the dimension.
*)}Describes the dimension of a metric.
type nonrec metric_dimensions = metric_dimension listtype nonrec metric = {dimensions : metric_dimensions option;The dimensions for the metric. For the list of available dimensions, see the Amazon Web Services documentation available from the table in Amazon Web Services services that publish CloudWatch metrics in the Amazon CloudWatch User Guide.
Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.
*)metric_name : metric_name;The name of the metric.
*)namespace : metric_namespace;The namespace of the metric. For more information, see the table in Amazon Web Services services that publish CloudWatch metrics in the Amazon CloudWatch User Guide.
*)}Represents a specific metric.
type nonrec target_tracking_metric_stat = {period : metric_granularity_in_seconds option;The period of the metric in seconds. The default value is 60. Accepted values are 10, 30, and 60. For high resolution metric, set the value to less than 60. For more information, see Create a target tracking policy using high-resolution metrics for faster response.
*)unit_ : metric_unit option;The unit to use for the returned data points. For a complete list of the units that CloudWatch supports, see the MetricDatum data type in the Amazon CloudWatch API Reference.
*)stat : xml_string_metric_stat;The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in Statistics in the Amazon CloudWatch User Guide.
The most commonly used metric for scaling is Average.
metric : metric;The metric to use.
*)}This structure defines the CloudWatch metric to return, along with the statistic and unit.
For more information about the CloudWatch terminology below, see Amazon CloudWatch concepts in the Amazon CloudWatch User Guide.
type nonrec target_tracking_metric_data_query = {return_data : return_data option;Indicates whether to return the timestamps and raw data values of this metric.
If you use any math expressions, specify true for this value for only the final math expression that the metric specification is based on. You must specify false for ReturnData for all the other metrics and expressions used in the metric specification.
If you are only retrieving metrics and not performing any math expressions, do not specify anything for ReturnData. This sets it to its default (true).
period : metric_granularity_in_seconds option;The period of the metric in seconds. The default value is 60. Accepted values are 10, 30, and 60. For high resolution metric, set the value to less than 60. For more information, see Create a target tracking policy using high-resolution metrics for faster response.
*)label : xml_string_metric_label option;A human-readable label for this metric or expression. This is especially useful if this is a math expression, so that you know what the value represents.
*)metric_stat : target_tracking_metric_stat option;Information about the metric data to return.
Conditional: Within each TargetTrackingMetricDataQuery object, you must specify either Expression or MetricStat, but not both.
expression : xml_string_max_len2047 option;The math expression to perform on the returned data, if this object is performing a math expression. This expression can use the Id of the other metrics to refer to those metrics, and can also use the Id of other expressions to use the result of those expressions.
Conditional: Within each TargetTrackingMetricDataQuery object, you must specify either Expression or MetricStat, but not both.
id : xml_string_max_len64;A short name that identifies the object's results in the response. This name must be unique among all TargetTrackingMetricDataQuery objects specified for a single scaling policy. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscores. The first character must be a lowercase letter.
}The metric data to return. Also defines whether this call is returning data for one metric only, or whether it is performing a math expression on the values of returned metric statistics to create a new time series. A time series is a series of data points, each of which is associated with a timestamp.
type nonrec target_tracking_metric_data_queries =
target_tracking_metric_data_query listtype nonrec predefined_metric_specification = {resource_label : xml_string_max_len1023 option;A label that uniquely identifies a specific Application Load Balancer target group from which to determine the average request count served by your Auto Scaling group. You can't specify a resource label unless the target group is attached to the Auto Scaling group.
You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). The format of the resource label is:
app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff.
Where:
To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use the DescribeTargetGroups API operation.
*)predefined_metric_type : metric_type;The metric type. The following predefined metrics are available:
ASGAverageCPUUtilization - Average CPU utilization of the Auto Scaling group.ASGAverageNetworkIn - Average number of bytes received on all network interfaces by the Auto Scaling group.ASGAverageNetworkOut - Average number of bytes sent out on all network interfaces by the Auto Scaling group.ALBRequestCountPerTarget - Average Application Load Balancer request count per target for your Auto Scaling group.}Represents a predefined metric for a target tracking scaling policy to use with Amazon EC2 Auto Scaling.
type nonrec customized_metric_specification = {metrics : target_tracking_metric_data_queries option;The metrics to include in the target tracking scaling policy, as a metric data query. This can include both raw metric and metric math expressions.
*)period : metric_granularity_in_seconds option;The period of the metric in seconds. The default value is 60. Accepted values are 10, 30, and 60. For high resolution metric, set the value to less than 60. For more information, see Create a target tracking policy using high-resolution metrics for faster response.
*)unit_ : metric_unit option;The unit of the metric. For a complete list of the units that CloudWatch supports, see the MetricDatum data type in the Amazon CloudWatch API Reference.
*)statistic : metric_statistic option;The statistic of the metric.
*)dimensions : metric_dimensions option;The dimensions of the metric.
Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.
*)namespace : metric_namespace option;The namespace of the metric.
*)metric_name : metric_name option;The name of the metric. To get the exact metric name, namespace, and dimensions, inspect the Metric object that is returned by a call to ListMetrics.
*)}Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use with Amazon EC2 Auto Scaling.
To create your customized metric specification:
For more information about the CloudWatch terminology below, see Amazon CloudWatch concepts.
Each individual service provides information about the metrics, namespace, and dimensions they use. For more information, see Amazon Web Services services that publish CloudWatch metrics in the Amazon CloudWatch User Guide.
type nonrec target_tracking_configuration = {disable_scale_in : disable_scale_in option;Indicates whether scaling in by the target tracking scaling policy is disabled. If scaling in is disabled, the target tracking scaling policy doesn't remove instances from the Auto Scaling group. Otherwise, the target tracking scaling policy can remove instances from the Auto Scaling group. The default is false.
target_value : metric_scale;The target value for the metric.
Some metrics are based on a count instead of a percentage, such as the request count for an Application Load Balancer or the number of messages in an SQS queue. If the scaling policy specifies one of these metrics, specify the target utilization as the optimal average request or message count per instance during any one-minute interval.
*)customized_metric_specification : customized_metric_specification option;A customized metric. You must specify either a predefined metric or a customized metric.
*)predefined_metric_specification : predefined_metric_specification option;A predefined metric. You must specify either a predefined metric or a customized metric.
*)}Represents a target tracking scaling policy configuration to use with Amazon EC2 Auto Scaling.
type nonrec target_group_ar_ns = xml_string_max_len511 listtype nonrec tag_description = {propagate_at_launch : propagate_at_launch option;Determines whether the tag is added to new instances as they are launched in the group.
*)value : tag_value option;The tag value.
*)key : tag_key option;The tag key.
*)resource_type : xml_string option;The type of resource. The only supported value is auto-scaling-group.
resource_id : xml_string option;The name of the group.
*)}Describes a tag for an Auto Scaling group.
type nonrec tag_description_list = tag_description listtype nonrec tag = {propagate_at_launch : propagate_at_launch option;Determines whether the tag is added to new instances as they are launched in the group.
*)value : tag_value option;The tag value.
*)key : tag_key;The tag key.
*)resource_type : xml_string option;The type of resource. The only supported value is auto-scaling-group.
resource_id : xml_string option;The name of the Auto Scaling group.
*)}Describes a tag for an Auto Scaling group.
type nonrec tags = tag listtype nonrec suspended_process = {suspension_reason : xml_string_max_len255 option;The reason that the process was suspended.
*)process_name : xml_string_max_len255 option;The name of the suspended process.
*)}Describes an auto scaling process that has been suspended.
For more information, see Types of processes in the Amazon EC2 Auto Scaling User Guide.
type nonrec suspended_processes = suspended_process listThe operation can't be performed because the resource is in use.
type nonrec process_names = xml_string_max_len255 listtype nonrec scaling_process_query = {scaling_processes : process_names option;One or more of the following processes:
LaunchTerminateAddToLoadBalancerAlarmNotificationAZRebalanceHealthCheckInstanceRefreshReplaceUnhealthyScheduledActionsIf you omit this property, all processes are specified.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec subnet_ids_limit1 = xml_string_max_len255 listtype nonrec step_adjustment = {scaling_adjustment : policy_increment;The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity. For exact capacity, you must specify a non-negative value.
*)metric_interval_upper_bound : metric_scale option;The upper bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity.
The upper bound must be greater than the lower bound.
*)metric_interval_lower_bound : metric_scale option;The lower bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the lower bound is inclusive (the metric must be greater than or equal to the threshold plus the lower bound). Otherwise, it is exclusive (the metric must be greater than the threshold plus the lower bound). A null value indicates negative infinity.
*)}Describes information used to create a step adjustment for a step scaling policy.
For the following examples, suppose that you have an alarm with a breach threshold of 50:
There are a few rules for the step adjustments for your step policy:
For more information, see Step adjustments in the Amazon EC2 Auto Scaling User Guide.
type nonrec step_adjustments = step_adjustment listtype nonrec desired_configuration = {mixed_instances_policy : mixed_instances_policy option;Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group.
A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.
*)launch_template : launch_template_specification option;Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information about launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.
*)}Describes the desired configuration for an instance refresh.
If you specify a desired configuration, you must specify either a LaunchTemplate or a MixedInstancesPolicy.
type nonrec checkpoint_percentages = non_zero_int_percent listtype nonrec alarm_list = xml_string_max_len255 listtype nonrec alarm_specification = {alarms : alarm_list option;The names of one or more CloudWatch alarms to monitor for the instance refresh. You can specify up to 10 alarms.
*)}Specifies the CloudWatch alarm specification to use in an instance refresh.
type nonrec refresh_preferences = {bake_time : bake_time option;The amount of time, in seconds, to wait at the end of an instance refresh before the instance refresh is considered complete.
*)max_healthy_percentage : int_percent100_to200 option;Specifies the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. The value is expressed as a percentage of the desired capacity of the Auto Scaling group. Value range is 100 to 200.
If you specify MaxHealthyPercentage, you must also specify MinHealthyPercentage, and the difference between them cannot be greater than 100. A larger range increases the number of instances that can be replaced at the same time.
If you do not specify this property, the default is 100 percent, or the percentage set in the instance maintenance policy for the Auto Scaling group, if defined.
*)alarm_specification : alarm_specification option;(Optional) The CloudWatch alarm specification. CloudWatch alarms can be used to identify any issues and fail the operation if an alarm threshold is met.
*)standby_instances : standby_instances option;Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances in Standby state are found.
The following lists the valid values:
Terminate Amazon EC2 Auto Scaling terminates instances that are in Standby.
Ignore Amazon EC2 Auto Scaling ignores instances that are in Standby and continues to replace instances that are in the InService state.
Wait (default) Amazon EC2 Auto Scaling waits one hour for you to return the instances to service. Otherwise, the instance refresh will fail.
*)scale_in_protected_instances : scale_in_protected_instances option;Choose the behavior that you want Amazon EC2 Auto Scaling to use if instances protected from scale in are found.
The following lists the valid values:
Refresh Amazon EC2 Auto Scaling replaces instances that are protected from scale in.
Ignore Amazon EC2 Auto Scaling ignores instances that are protected from scale in and continues to replace instances that are not protected.
Wait (default) Amazon EC2 Auto Scaling waits one hour for you to remove scale-in protection. Otherwise, the instance refresh will fail.
*)auto_rollback : auto_rollback option;(Optional) Indicates whether to roll back the Auto Scaling group to its previous configuration if the instance refresh fails or a CloudWatch alarm threshold is met. The default is false.
A rollback is not supported in the following situations:
ImageId property.$Latest or $Default version.For more information, see Undo changes with a rollback in the Amazon EC2 Auto Scaling User Guide.
*)skip_matching : skip_matching option;(Optional) Indicates whether skip matching is enabled. If enabled (true), then Amazon EC2 Auto Scaling skips replacing instances that match the desired configuration. If no desired configuration is specified, then it skips replacing instances that have the same launch template and instance types that the Auto Scaling group was using before the start of the instance refresh. The default is false.
For more information, see Use an instance refresh with skip matching in the Amazon EC2 Auto Scaling User Guide.
*)checkpoint_delay : checkpoint_delay option;(Optional) The amount of time, in seconds, to wait after a checkpoint before continuing. This property is optional, but if you specify a value for it, you must also specify a value for CheckpointPercentages. If you specify a value for CheckpointPercentages and not for CheckpointDelay, the CheckpointDelay defaults to 3600 (1 hour).
checkpoint_percentages : checkpoint_percentages option;(Optional) Threshold values for each checkpoint in ascending order. Each number must be unique. To replace all instances in the Auto Scaling group, the last number in the array must be 100.
For usage examples, see Add checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User Guide.
*)instance_warmup : refresh_instance_warmup option;A time period, in seconds, during which an instance refresh waits before moving on to replacing the next instance after a new instance enters the InService state.
This property is not required for normal usage. Instead, use the DefaultInstanceWarmup property of the Auto Scaling group. The InstanceWarmup and DefaultInstanceWarmup properties work the same way. Only specify this property if you must override the DefaultInstanceWarmup property.
If you do not specify this property, the instance warmup by default is the value of the DefaultInstanceWarmup property, if defined (which is recommended in all cases), or the HealthCheckGracePeriod property otherwise.
min_healthy_percentage : int_percent option;Specifies the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload to allow the operation to continue. The value is expressed as a percentage of the desired capacity of the Auto Scaling group. Value range is 0 to 100.
If you do not specify this property, the default is 90 percent, or the percentage set in the instance maintenance policy for the Auto Scaling group, if defined.
*)}Describes the preferences for an instance refresh.
type nonrec start_instance_refresh_type = {preferences : refresh_preferences option;Sets your preferences for the instance refresh so that it performs as expected when you start it. Includes the instance warmup time, the minimum and maximum healthy percentages, and the behaviors that you want Amazon EC2 Auto Scaling to use if instances that are in Standby state or protected from scale in are found. You can also choose to enable additional features, such as the following:
desired_configuration : desired_configuration option;The desired configuration. For example, the desired configuration can specify a new launch template or a new version of the current launch template.
Once the instance refresh succeeds, Amazon EC2 Auto Scaling updates the settings of the Auto Scaling group to reflect the new desired configuration.
When you specify a new launch template or a new version of the current launch template for your desired configuration, consider enabling the SkipMatching property in preferences. If it's enabled, Amazon EC2 Auto Scaling skips replacing instances that already use the specified launch template and instance types. This can help you reduce the number of replacements that are required to apply updates.
strategy : refresh_strategy option;The strategy to use for the instance refresh. The default value is Rolling.
auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec start_instance_refresh_answer = {instance_refresh_id : xml_string_max_len255 option;A unique ID for tracking the progress of the instance refresh.
*)}You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits in the Amazon EC2 Auto Scaling API Reference.
The request failed because an active instance refresh already exists for the specified Auto Scaling group.
type nonrec instance_ids = xml_string_max_len19 listtype nonrec set_instance_protection_query = {protected_from_scale_in : protected_from_scale_in;Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)instance_ids : instance_ids;One or more instance IDs. You can specify up to 50 instances.
*)}type nonrec set_instance_health_query = {should_respect_grace_period : should_respect_grace_period option;If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod specified for the group, by default, this call respects the grace period. Set this to False, to have the call not respect the grace period associated with the group.
For more information about the health check grace period, see Set the health check grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
*)health_status : xml_string_max_len32;The health status of the instance. Set to Healthy to have the instance remain in service. Set to Unhealthy to have the instance be out of service. Amazon EC2 Auto Scaling terminates and replaces the unhealthy instance.
instance_id : xml_string_max_len19;The ID of the instance.
*)}type nonrec set_desired_capacity_type = {honor_cooldown : honor_cooldown option;Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before initiating a scaling activity to set your Auto Scaling group to its new capacity. By default, Amazon EC2 Auto Scaling does not honor the cooldown period during manual scaling activities.
*)desired_capacity : auto_scaling_group_desired_capacity;The desired capacity is the initial capacity of the Auto Scaling group after this operation completes and the capacity it attempts to maintain.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec security_groups = xml_string listtype nonrec scheduled_update_group_action = {time_zone : xml_string_max_len255 option;The time zone for the cron expression.
*)desired_capacity : auto_scaling_group_desired_capacity option;The desired capacity is the initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain.
*)max_size : auto_scaling_group_max_size option;The maximum size of the Auto Scaling group.
*)min_size : auto_scaling_group_min_size option;The minimum size of the Auto Scaling group.
*)recurrence : xml_string_max_len255 option;The recurring schedule for the action, in Unix cron syntax format.
When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.
end_time : timestamp_type option;The date and time in UTC for the recurring schedule to end. For example, "2019-06-01T00:00:00Z".
start_time : timestamp_type option;The date and time in UTC for this action to start. For example, "2019-06-01T00:00:00Z".
time : timestamp_type option;This property is no longer used.
*)scheduled_action_ar_n : resource_name option;The Amazon Resource Name (ARN) of the scheduled action.
*)scheduled_action_name : xml_string_max_len255 option;The name of the scheduled action.
*)auto_scaling_group_name : xml_string_max_len255 option;The name of the Auto Scaling group.
*)}Describes a scheduled scaling action.
type nonrec scheduled_update_group_actions = scheduled_update_group_action listtype nonrec scheduled_update_group_action_request = {time_zone : xml_string_max_len255 option;Specifies the time zone for a cron expression. If a time zone is not provided, UTC is used by default.
Valid values are the canonical names of the IANA time zones, derived from the IANA Time Zone Database (such as Etc/GMT+9 or Pacific/Tahiti). For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
desired_capacity : auto_scaling_group_desired_capacity option;The desired capacity is the initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain.
*)max_size : auto_scaling_group_max_size option;The maximum size of the Auto Scaling group.
*)min_size : auto_scaling_group_min_size option;The minimum size of the Auto Scaling group.
*)recurrence : xml_string_max_len255 option;The recurring schedule for the action, in Unix cron syntax format. This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, "30 0 1 1,6,12 *"). For more information about this format, see Crontab.
When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.
Cron expressions use Universal Coordinated Time (UTC) by default.
*)end_time : timestamp_type option;The date and time for the recurring schedule to end, in UTC.
*)start_time : timestamp_type option;The date and time for the action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT only and in quotes (for example, "2019-06-01T00:00:00Z").
If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.
If you try to schedule the action in the past, Amazon EC2 Auto Scaling returns an error message.
*)scheduled_action_name : xml_string_max_len255;The name of the scaling action.
*)}Describes information used for one or more scheduled scaling action updates in a BatchPutScheduledUpdateGroupAction operation.
type nonrec scheduled_update_group_action_requests =
scheduled_update_group_action_request listtype nonrec scheduled_actions_type = {next_token : xml_string option;A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
scheduled_update_group_actions : scheduled_update_group_actions option;The scheduled actions.
*)}type nonrec scheduled_action_names = xml_string_max_len255 listtype nonrec alarm = {alarm_ar_n : resource_name option;The Amazon Resource Name (ARN) of the alarm.
*)alarm_name : xml_string_max_len255 option;The name of the alarm.
*)}Describes an alarm.
type nonrec alarms = alarm listtype nonrec predictive_scaling_predefined_metric_pair = {resource_label : xml_string_max_len1023 option;A label that uniquely identifies a specific Application Load Balancer target group from which to determine the total and average request count served by your Auto Scaling group. You can't specify a resource label unless the target group is attached to the Auto Scaling group.
You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). The format of the resource label is:
app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff.
Where:
To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use the DescribeTargetGroups API operation.
*)predefined_metric_type : predefined_metric_pair_type;Indicates which metrics to use. There are two different types of metrics for each metric type: one is a load metric and one is a scaling metric. For example, if the metric type is ASGCPUUtilization, the Auto Scaling group's total CPU metric is used as the load metric, and the average CPU metric is used for the scaling metric.
}Represents a metric pair for a predictive scaling policy.
type nonrec predictive_scaling_predefined_scaling_metric = {resource_label : xml_string_max_len1023 option;A label that uniquely identifies a specific Application Load Balancer target group from which to determine the average request count served by your Auto Scaling group. You can't specify a resource label unless the target group is attached to the Auto Scaling group.
You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). The format of the resource label is:
app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff.
Where:
To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use the DescribeTargetGroups API operation.
*)predefined_metric_type : predefined_scaling_metric_type;The metric type.
*)}Describes a scaling metric for a predictive scaling policy.
When returned in the output of DescribePolicies, it indicates that a predictive scaling policy uses individually specified load and scaling metrics instead of a metric pair.
type nonrec predictive_scaling_predefined_load_metric = {resource_label : xml_string_max_len1023 option;A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You can't specify a resource label unless the target group is attached to the Auto Scaling group.
You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). The format of the resource label is:
app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff.
Where:
To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use the DescribeTargetGroups API operation.
*)predefined_metric_type : predefined_load_metric_type;The metric type.
*)}Describes a load metric for a predictive scaling policy.
When returned in the output of DescribePolicies, it indicates that a predictive scaling policy uses individually specified load and scaling metrics instead of a metric pair.
type nonrec metric_stat = {unit_ : metric_unit option;The unit to use for the returned data points. For a complete list of the units that CloudWatch supports, see the MetricDatum data type in the Amazon CloudWatch API Reference.
*)stat : xml_string_metric_stat;The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in Statistics in the Amazon CloudWatch User Guide.
The most commonly used metrics for predictive scaling are Average and Sum.
metric : metric;The CloudWatch metric to return, including the metric name, namespace, and dimensions. To get the exact metric name, namespace, and dimensions, inspect the Metric object that is returned by a call to ListMetrics.
*)}This structure defines the CloudWatch metric to return, along with the statistic and unit.
For more information about the CloudWatch terminology below, see Amazon CloudWatch concepts in the Amazon CloudWatch User Guide.
type nonrec metric_data_query = {return_data : return_data option;Indicates whether to return the timestamps and raw data values of this metric.
If you use any math expressions, specify true for this value for only the final math expression that the metric specification is based on. You must specify false for ReturnData for all the other metrics and expressions used in the metric specification.
If you are only retrieving metrics and not performing any math expressions, do not specify anything for ReturnData. This sets it to its default (true).
label : xml_string_metric_label option;A human-readable label for this metric or expression. This is especially useful if this is a math expression, so that you know what the value represents.
*)metric_stat : metric_stat option;Information about the metric data to return.
Conditional: Within each MetricDataQuery object, you must specify either Expression or MetricStat, but not both.
expression : xml_string_max_len1023 option;The math expression to perform on the returned data, if this object is performing a math expression. This expression can use the Id of the other metrics to refer to those metrics, and can also use the Id of other expressions to use the result of those expressions.
Conditional: Within each MetricDataQuery object, you must specify either Expression or MetricStat, but not both.
id : xml_string_max_len255;A short name that identifies the object's results in the response. This name must be unique among all MetricDataQuery objects specified for a single scaling policy. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscores. The first character must be a lowercase letter.
}The metric data to return. Also defines whether this call is returning data for one metric only, or whether it is performing a math expression on the values of returned metric statistics to create a new time series. A time series is a series of data points, each of which is associated with a timestamp.
For more information and examples, see Advanced predictive scaling policy configurations using custom metrics in the Amazon EC2 Auto Scaling User Guide.
type nonrec metric_data_queries = metric_data_query listtype nonrec predictive_scaling_customized_scaling_metric = {metric_data_queries : metric_data_queries;One or more metric data queries to provide the data points for a scaling metric. Use multiple metric data queries only if you are performing a math expression on returned data.
*)}Describes a custom scaling metric for a predictive scaling policy.
type nonrec predictive_scaling_customized_load_metric = {metric_data_queries : metric_data_queries;One or more metric data queries to provide the data points for a load metric. Use multiple metric data queries only if you are performing a math expression on returned data.
*)}Describes a custom load metric for a predictive scaling policy.
type nonrec predictive_scaling_customized_capacity_metric = {metric_data_queries : metric_data_queries;One or more metric data queries to provide the data points for a capacity metric. Use multiple metric data queries only if you are performing a math expression on returned data.
*)}Describes a customized capacity metric for a predictive scaling policy.
type nonrec predictive_scaling_metric_specification = {customized_capacity_metric_specification : predictive_scaling_customized_capacity_metric
option;The customized capacity metric specification.
*)customized_load_metric_specification : predictive_scaling_customized_load_metric
option;The customized load metric specification.
*)customized_scaling_metric_specification : predictive_scaling_customized_scaling_metric
option;The customized scaling metric specification.
*)predefined_load_metric_specification : predictive_scaling_predefined_load_metric
option;The predefined load metric specification.
*)predefined_scaling_metric_specification : predictive_scaling_predefined_scaling_metric
option;The predefined scaling metric specification.
*)predefined_metric_pair_specification : predictive_scaling_predefined_metric_pair
option;The predefined metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.
*)target_value : metric_scale;Specifies the target utilization.
Some metrics are based on a count instead of a percentage, such as the request count for an Application Load Balancer or the number of messages in an SQS queue. If the scaling policy specifies one of these metrics, specify the target utilization as the optimal average request or message count per instance during any one-minute interval.
*)}This structure specifies the metrics and target utilization settings for a predictive scaling policy.
You must specify either a metric pair, or a load metric and a scaling metric individually. Specifying a metric pair instead of individual metrics provides a simpler way to configure metrics for a scaling policy. You choose the metric pair, and the policy automatically knows the correct sum and average statistics to use for the load metric and the scaling metric.
Example
ALBRequestCount as the value for the metric pair and 1000.0 as the target value. For this type of metric, you must provide the metric dimension for the corresponding target group, so you also provide a resource label for the Application Load Balancer target group that is attached to your Auto Scaling group.RequestCount and RequestCountPerTarget metrics, respectively.For information about using custom metrics with predictive scaling, see Advanced predictive scaling policy configurations using custom metrics in the Amazon EC2 Auto Scaling User Guide.
type nonrec predictive_scaling_metric_specifications =
predictive_scaling_metric_specification listtype nonrec predictive_scaling_configuration = {max_capacity_buffer : predictive_scaling_max_capacity_buffer option;The size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. The value is specified as a percentage relative to the forecast capacity. For example, if the buffer is 10, this means a 10 percent buffer, such that if the forecast capacity is 50, and the maximum capacity is 40, then the effective maximum capacity is 55.
If set to 0, Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to equal but not exceed forecast capacity.
Required if the MaxCapacityBreachBehavior property is set to IncreaseMaxCapacity, and cannot be used otherwise.
max_capacity_breach_behavior : predictive_scaling_max_capacity_breach_behavior
option;Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Defaults to HonorMaxCapacity if not specified.
The following are possible values:
HonorMaxCapacity - Amazon EC2 Auto Scaling can't increase the maximum capacity of the group when the forecast capacity is close to or exceeds the maximum capacity.IncreaseMaxCapacity - Amazon EC2 Auto Scaling can increase the maximum capacity of the group when the forecast capacity is close to or exceeds the maximum capacity. The upper limit is determined by the forecasted capacity and the value for MaxCapacityBuffer.Use caution when allowing the maximum capacity to be automatically increased. This can lead to more instances being launched than intended if the increased maximum capacity is not monitored and managed. The increased maximum capacity then becomes the new normal maximum capacity for the Auto Scaling group until you manually update it. The maximum capacity does not automatically decrease back to the original maximum.
*)scheduling_buffer_time : predictive_scaling_scheduling_buffer_time option;The amount of time, in seconds, by which the instance launch time can be advanced. For example, the forecast says to add capacity at 10:00 AM, and you choose to pre-launch instances by 5 minutes. In that case, the instances will be launched at 9:55 AM. The intention is to give resources time to be provisioned. It can take a few minutes to launch an EC2 instance. The actual amount of time required depends on several factors, such as the size of the instance and whether there are startup scripts to complete.
The value must be less than the forecast interval duration of 3600 seconds (60 minutes). Defaults to 300 seconds if not specified.
*)mode : predictive_scaling_mode option;The predictive scaling mode. Defaults to ForecastOnly if not specified.
metric_specifications : predictive_scaling_metric_specifications;This structure includes the metrics and target utilization to use for predictive scaling.
This is an array, but we currently only support a single metric specification. That is, you can specify a target value and a single metric pair, or a target value and one scaling metric and one load metric.
*)}Represents a predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
type nonrec scaling_policy = {predictive_scaling_configuration : predictive_scaling_configuration option;A predictive scaling policy.
*)enabled : scaling_policy_enabled option;Indicates whether the policy is enabled (true) or disabled (false).
target_tracking_configuration : target_tracking_configuration option;A target tracking scaling policy.
*)alarms : alarms option;The CloudWatch alarms related to the policy.
*)estimated_instance_warmup : estimated_instance_warmup option;The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics.
*)metric_aggregation_type : xml_string_max_len32 option;The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average.
step_adjustments : step_adjustments option;A set of adjustments that enable you to scale based on the size of the alarm breach.
*)cooldown : cooldown option;The duration of the policy's cooldown period, in seconds.
*)scaling_adjustment : policy_increment option;The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.
*)min_adjustment_magnitude : min_adjustment_magnitude option;The minimum value to scale by when the adjustment type is PercentChangeInCapacity.
min_adjustment_step : min_adjustment_step option;Available for backward compatibility. Use MinAdjustmentMagnitude instead.
adjustment_type : xml_string_max_len255 option;Specifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.
policy_type : xml_string_max_len64 option;One of the following policy types:
TargetTrackingScalingStepScalingSimpleScaling (default)PredictiveScalingFor more information, see Target tracking scaling policies and Step and simple scaling policies in the Amazon EC2 Auto Scaling User Guide.
*)policy_ar_n : resource_name option;The Amazon Resource Name (ARN) of the policy.
*)policy_name : xml_string_max_len255 option;The name of the scaling policy.
*)auto_scaling_group_name : xml_string_max_len255 option;The name of the Auto Scaling group.
*)}Describes a scaling policy.
type nonrec scaling_policies = scaling_policy listtype nonrec rollback_instance_refresh_type = {auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec rollback_instance_refresh_answer = {instance_refresh_id : xml_string_max_len255 option;The instance refresh ID associated with the request. This is the unique ID assigned to the instance refresh when it was started.
*)}The request failed because a desired configuration was not found or an incompatible launch template (uses a Systems Manager parameter instead of an AMI ID) or launch template version ($Latest or $Default) is present on the Auto Scaling group.
The request failed because an active instance refresh or rollback for the specified Auto Scaling group was not found.
type nonrec instance_refresh_live_pool_progress = {instances_to_update : instances_to_update option;The number of instances remaining to update.
*)percentage_complete : int_percent option;The percentage of instances in the Auto Scaling group that have been replaced. For each instance replacement, Amazon EC2 Auto Scaling tracks the instance's health status and warm-up time. When the instance's health status changes to healthy and the specified warm-up time passes, the instance is considered updated and is added to the percentage complete.
*)}Reports progress on replacing instances that are in the Auto Scaling group.
type nonrec instance_refresh_warm_pool_progress = {instances_to_update : instances_to_update option;The number of instances remaining to update.
*)percentage_complete : int_percent option;The percentage of instances in the warm pool that have been replaced. For each instance replacement, Amazon EC2 Auto Scaling tracks the instance's health status and warm-up time. When the instance's health status changes to healthy and the specified warm-up time passes, the instance is considered updated and is added to the percentage complete.
*)}Reports progress on replacing instances that are in the warm pool.
type nonrec instance_refresh_progress_details = {warm_pool_progress : instance_refresh_warm_pool_progress option;Reports progress on replacing instances that are in the warm pool.
*)live_pool_progress : instance_refresh_live_pool_progress option;Reports progress on replacing instances that are in the Auto Scaling group.
*)}Reports progress on replacing instances in an Auto Scaling group that has a warm pool. This includes separate details for instances in the warm pool and instances in the Auto Scaling group (the live pool).
type nonrec rollback_details = {progress_details_on_rollback : instance_refresh_progress_details option;Reports progress on replacing instances in an Auto Scaling group that has a warm pool. This includes separate details for instances in the warm pool and instances in the Auto Scaling group (the live pool).
*)instances_to_update_on_rollback : instances_to_update option;Indicates the value of InstancesToUpdate at the time the rollback started.
percentage_complete_on_rollback : int_percent option;Indicates the value of PercentageComplete at the time the rollback started.
rollback_start_time : timestamp_type option;The date and time at which the rollback began.
*)rollback_reason : xml_string_max_len1023 option;The reason for this instance refresh rollback (for example, whether a manual or automatic rollback was initiated).
*)}Details about an instance refresh rollback.
type nonrec record_lifecycle_action_heartbeat_type = {instance_id : xml_string_max_len19 option;The ID of the instance.
*)lifecycle_action_token : lifecycle_action_token option;A token that uniquely identifies a specific lifecycle action associated with an instance. Amazon EC2 Auto Scaling sends this token to the notification target that you specified when you created the lifecycle hook.
*)auto_scaling_group_name : resource_name;The name of the Auto Scaling group.
*)lifecycle_hook_name : ascii_string_max_len255;The name of the lifecycle hook.
*)}type nonrec put_warm_pool_type = {instance_reuse_policy : instance_reuse_policy option;Indicates whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in.
*)pool_state : warm_pool_state option;Sets the instance state to transition to after the lifecycle actions are complete. Default is Stopped.
min_size : warm_pool_min_size option;Specifies the minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
*)max_group_prepared_capacity : max_group_prepared_capacity option;Specifies 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. This is an optional property. Specify it only if you do not want the warm pool size to be determined by the difference between the group's maximum capacity and its desired capacity.
If a value for MaxGroupPreparedCapacity is not specified, Amazon EC2 Auto Scaling launches and maintains the difference between the group's maximum capacity and its desired capacity. If you specify a value for MaxGroupPreparedCapacity, Amazon EC2 Auto Scaling uses the difference between the MaxGroupPreparedCapacity and the desired capacity instead.
The size of the warm pool is dynamic. Only when MaxGroupPreparedCapacity and MinSize are set to the same value does the warm pool have an absolute size.
If the desired capacity of the Auto Scaling group is higher than the MaxGroupPreparedCapacity, the capacity of the warm pool is 0, unless you specify a value for MinSize. To remove a value that you previously set, include the property but specify -1 for the value.
auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec put_scheduled_update_group_action_type = {time_zone : xml_string_max_len255 option;Specifies the time zone for a cron expression. If a time zone is not provided, UTC is used by default.
Valid values are the canonical names of the IANA time zones, derived from the IANA Time Zone Database (such as Etc/GMT+9 or Pacific/Tahiti). For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
desired_capacity : auto_scaling_group_desired_capacity option;The desired capacity is the initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain. It can scale beyond this capacity if you add more scaling conditions.
You must specify at least one of the following properties: MaxSize, MinSize, or DesiredCapacity.
max_size : auto_scaling_group_max_size option;The maximum size of the Auto Scaling group.
*)min_size : auto_scaling_group_min_size option;The minimum size of the Auto Scaling group.
*)recurrence : xml_string_max_len255 option;The recurring schedule for this action. This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, "30 0 1 1,6,12 *"). For more information about this format, see Crontab.
When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.
Cron expressions use Universal Coordinated Time (UTC) by default.
*)end_time : timestamp_type option;The date and time for the recurring schedule to end, in UTC. For example, "2021-06-01T00:00:00Z".
start_time : timestamp_type option;The date and time for this action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT only and in quotes (for example, "2021-06-01T00:00:00Z").
If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.
time : timestamp_type option;This property is no longer used.
*)scheduled_action_name : xml_string_max_len255;The name of this scaling action.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}You already have an Auto Scaling group or launch configuration with this name.
type nonrec put_scaling_policy_type = {predictive_scaling_configuration : predictive_scaling_configuration option;A predictive scaling policy. Provides support for predefined and custom metrics.
Predefined metrics include CPU utilization, network in/out, and the Application Load Balancer request count.
For more information, see PredictiveScalingConfiguration in the Amazon EC2 Auto Scaling API Reference.
Required if the policy type is PredictiveScaling.
enabled : scaling_policy_enabled option;Indicates whether the scaling policy is enabled or disabled. The default is enabled. For more information, see Disable a scaling policy for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
*)target_tracking_configuration : target_tracking_configuration option;A target tracking scaling policy. Provides support for predefined or custom metrics.
The following predefined metrics are available:
ASGAverageCPUUtilizationASGAverageNetworkInASGAverageNetworkOutALBRequestCountPerTargetIf you specify ALBRequestCountPerTarget for the metric, you must specify the ResourceLabel property with the PredefinedMetricSpecification.
For more information, see TargetTrackingConfiguration in the Amazon EC2 Auto Scaling API Reference.
Required if the policy type is TargetTrackingScaling.
estimated_instance_warmup : estimated_instance_warmup option;Not needed if the default instance warmup is defined for the group.
The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. This warm-up period applies to instances launched due to a specific target tracking or step scaling policy. When a warm-up period is specified here, it overrides the default instance warmup.
Valid only if the policy type is TargetTrackingScaling or StepScaling.
The default is to use the value for the default instance warmup defined for the group. If default instance warmup is null, then EstimatedInstanceWarmup falls back to the value of default cooldown.
step_adjustments : step_adjustments option;A set of adjustments that enable you to scale based on the size of the alarm breach.
Required if the policy type is StepScaling. (Not used with any other policy type.)
metric_aggregation_type : xml_string_max_len32 option;The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average.
Valid only if the policy type is StepScaling.
cooldown : cooldown option;A cooldown period, in seconds, that applies to a specific simple scaling policy. When a cooldown period is specified here, it overrides the default cooldown.
Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
Default: None
*)scaling_adjustment : policy_increment option;The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity. For exact capacity, you must specify a non-negative value.
Required if the policy type is SimpleScaling. (Not used with any other policy type.)
min_adjustment_magnitude : min_adjustment_magnitude option;The minimum value to scale by when the adjustment type is PercentChangeInCapacity. For example, suppose that you create a step scaling policy to scale out an Auto Scaling group by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the group has 4 instances and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude of 2, Amazon EC2 Auto Scaling scales out the group by 2 instances.
Valid only if the policy type is StepScaling or SimpleScaling. For more information, see Scaling adjustment types in the Amazon EC2 Auto Scaling User Guide.
Some Auto Scaling groups use instance weights. In this case, set the MinAdjustmentMagnitude to a value that is at least as large as your largest instance weight.
min_adjustment_step : min_adjustment_step option;Available for backward compatibility. Use MinAdjustmentMagnitude instead.
adjustment_type : xml_string_max_len255 option;Specifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.
Required if the policy type is StepScaling or SimpleScaling. For more information, see Scaling adjustment types in the Amazon EC2 Auto Scaling User Guide.
policy_type : xml_string_max_len64 option;One of the following policy types:
TargetTrackingScalingStepScalingSimpleScaling (default)PredictiveScalingpolicy_name : xml_string_max_len255;The name of the policy.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec policy_arn_type = {alarms : alarms option;The CloudWatch alarms created for the target tracking scaling policy.
*)policy_ar_n : resource_name option;The Amazon Resource Name (ARN) of the policy.
*)}Contains the output of PutScalingPolicy.
type nonrec auto_scaling_notification_types = xml_string_max_len255 listtype nonrec put_notification_configuration_type = {notification_types : auto_scaling_notification_types;The type of event that causes the notification to be sent. To query the notification types supported by Amazon EC2 Auto Scaling, call the DescribeAutoScalingNotificationTypes API.
*)topic_ar_n : xml_string_max_len255;The Amazon Resource Name (ARN) of the Amazon SNS topic.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec put_lifecycle_hook_type = {default_result : lifecycle_action_result option;The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The default value is ABANDON.
Valid values: CONTINUE | ABANDON
heartbeat_timeout : heartbeat_timeout option;The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from 30 to 7200 seconds. The default value is 3600 seconds (1 hour).
notification_metadata : any_printable_ascii_string_max_len4000 option;Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.
*)notification_target_ar_n : notification_target_resource_name option;The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in a wait state for the lifecycle hook. You can specify either an Amazon SNS topic or an Amazon SQS queue.
If you specify an empty string, this overrides the current ARN.
This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key-value pair format when sending notifications to an Amazon SNS topic.
When you specify a notification target, Amazon EC2 Auto Scaling sends it a test message. Test messages contain the following additional key-value pair: "Event": "autoscaling:TEST_NOTIFICATION".
role_ar_n : xml_string_max_len255 option;The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.
Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue. Required for new lifecycle hooks, but optional when updating existing hooks.
*)lifecycle_transition : lifecycle_transition option;The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.
autoscaling:EC2_INSTANCE_LAUNCHING.autoscaling:EC2_INSTANCE_TERMINATING.Required for new lifecycle hooks, but optional when updating existing hooks.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)lifecycle_hook_name : ascii_string_max_len255;The name of the lifecycle hook.
*)}type nonrec process_type = {process_name : xml_string_max_len255;One of the following processes:
LaunchTerminateAddToLoadBalancerAlarmNotificationAZRebalanceHealthCheckInstanceRefreshReplaceUnhealthyScheduledActions}Describes a process type.
For more information, see Types of processes in the Amazon EC2 Auto Scaling User Guide.
type nonrec processes = process_type listtype nonrec predictive_scaling_forecast_values = metric_scale listtype nonrec predictive_scaling_forecast_timestamps = timestamp_type listtype nonrec policy_types = xml_string_max_len64 listtype nonrec policy_names = resource_name listtype nonrec policies_type = {next_token : xml_string option;A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
scaling_policies : scaling_policies option;The scaling policies.
*)}type nonrec notification_configuration = {notification_type : xml_string_max_len255 option;One of the following event notification types:
autoscaling:EC2_INSTANCE_LAUNCHautoscaling:EC2_INSTANCE_LAUNCH_ERRORautoscaling:EC2_INSTANCE_TERMINATEautoscaling:EC2_INSTANCE_TERMINATE_ERRORautoscaling:TEST_NOTIFICATIONtopic_ar_n : xml_string_max_len255 option;The Amazon Resource Name (ARN) of the Amazon SNS topic.
*)auto_scaling_group_name : xml_string_max_len255 option;The name of the Auto Scaling group.
*)}Describes a notification.
type nonrec notification_configurations = notification_configuration listtype nonrec metrics = xml_string_max_len255 listtype nonrec metric_granularity_type = {granularity : xml_string_max_len255 option;The granularity. The only valid value is 1Minute.
}Describes a granularity of a metric.
type nonrec metric_granularity_types = metric_granularity_type listtype nonrec metric_collection_type = {metric : xml_string_max_len255 option;One of the following metrics:
GroupMinSizeGroupMaxSizeGroupDesiredCapacityGroupInServiceInstancesGroupPendingInstancesGroupStandbyInstancesGroupTerminatingInstancesGroupTotalInstancesGroupInServiceCapacityGroupPendingCapacityGroupStandbyCapacityGroupTerminatingCapacityGroupTotalCapacityWarmPoolDesiredCapacityWarmPoolWarmedCapacityWarmPoolPendingCapacityWarmPoolTerminatingCapacityWarmPoolTotalCapacityGroupAndWarmPoolDesiredCapacityGroupAndWarmPoolTotalCapacity}Describes a metric.
type nonrec metric_collection_types = metric_collection_type listtype nonrec load_forecast = {metric_specification : predictive_scaling_metric_specification;The metric specification for the load forecast.
*)values : predictive_scaling_forecast_values;The values of the data points.
*)timestamps : predictive_scaling_forecast_timestamps;The timestamps for the data points, in UTC format.
*)}A GetPredictiveScalingForecast call returns the load forecast for a predictive scaling policy. This structure includes the data points for that load forecast, along with the timestamps of those data points and the metric specification.
type nonrec load_forecasts = load_forecast listtype nonrec load_balancer_target_group_state = {state : xml_string_max_len255 option;The state of the target group.
Adding - The Auto Scaling instances are being registered with the target group.Added - All Auto Scaling instances are registered with the target group.InService - At least one Auto Scaling instance passed an ELB health check.Removing - The Auto Scaling instances are being deregistered from the target group. If connection draining is enabled, Elastic Load Balancing waits for in-flight requests to complete before deregistering the instances.Removed - All Auto Scaling instances are deregistered from the target group.load_balancer_target_group_ar_n : xml_string_max_len511 option;The Amazon Resource Name (ARN) of the target group.
*)}Describes the state of a target group.
type nonrec load_balancer_target_group_states =
load_balancer_target_group_state listtype nonrec load_balancer_state = {state : xml_string_max_len255 option;One of the following load balancer states:
Adding - The Auto Scaling instances are being registered with the load balancer.Added - All Auto Scaling instances are registered with the load balancer.InService - At least one Auto Scaling instance passed an ELB health check.Removing - The Auto Scaling instances are being deregistered from the load balancer. If connection draining is enabled, Elastic Load Balancing waits for in-flight requests to complete before deregistering the instances.Removed - All Auto Scaling instances are deregistered from the load balancer.load_balancer_name : xml_string_max_len255 option;The name of the load balancer.
*)}Describes the state of a Classic Load Balancer.
type nonrec load_balancer_states = load_balancer_state listtype nonrec load_balancer_names = xml_string_max_len255 listtype nonrec lifecycle_state = | WARMED_HIBERNATED| WARMED_RUNNING| WARMED_STOPPED| WARMED_TERMINATED| WARMED_TERMINATING_RETAINED| WARMED_TERMINATING_PROCEED| WARMED_TERMINATING_WAIT| WARMED_TERMINATING| WARMED_PENDING_RETAINED| WARMED_PENDING_PROCEED| WARMED_PENDING_WAIT| WARMED_PENDING| ROOT_VOLUME_REPLACED| REPLACING_ROOT_VOLUME_PROCEED| REPLACING_ROOT_VOLUME_WAIT| REPLACING_ROOT_VOLUME| STANDBY| ENTERING_STANDBY| DETACHED| DETACHING| TERMINATED| TERMINATING_RETAINED| TERMINATING_PROCEED| TERMINATING_WAIT| TERMINATING| IN_SERVICE| QUARANTINED| PENDING_PROCEED| PENDING_WAIT| PENDINGtype nonrec lifecycle_hook = {default_result : lifecycle_action_result option;The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs.
Valid values: CONTINUE | ABANDON
global_timeout : global_timeout option;The maximum time, in seconds, that an instance can remain in a wait state. The maximum is 172800 seconds (48 hours) or 100 times HeartbeatTimeout, whichever is smaller.
heartbeat_timeout : heartbeat_timeout option;The maximum time, in seconds, that can elapse before the lifecycle hook times out. If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the DefaultResult property.
notification_metadata : any_printable_ascii_string_max_len4000 option;Additional information that is included any time Amazon EC2 Auto Scaling sends a message to the notification target.
*)role_ar_n : xml_string_max_len255 option;The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target (an Amazon SNS topic or an Amazon SQS queue).
*)notification_target_ar_n : notification_target_resource_name option;The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook.
*)lifecycle_transition : lifecycle_transition option;The lifecycle transition.
Valid values: autoscaling:EC2_INSTANCE_LAUNCHING | autoscaling:EC2_INSTANCE_TERMINATING
auto_scaling_group_name : xml_string_max_len255 option;The name of the Auto Scaling group for the lifecycle hook.
*)lifecycle_hook_name : ascii_string_max_len255 option;The name of the lifecycle hook.
*)}Describes a lifecycle hook. A lifecycle hook lets you create solutions that are aware of events in the Auto Scaling instance lifecycle, and then perform a custom action on instances when the corresponding lifecycle event occurs.
type nonrec lifecycle_hooks = lifecycle_hook listtype nonrec lifecycle_hook_specification = {role_ar_n : xml_string_max_len255 option;The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see Prepare to add a lifecycle hook to your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.
*)notification_target_ar_n : notification_target_resource_name option;The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook. You can specify an Amazon SNS topic or an Amazon SQS queue.
*)default_result : lifecycle_action_result option;The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The default value is ABANDON.
Valid values: CONTINUE | ABANDON
heartbeat_timeout : heartbeat_timeout option;The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from 30 to 7200 seconds. The default value is 3600 seconds (1 hour).
notification_metadata : any_printable_ascii_string_max_len4000 option;Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.
*)lifecycle_transition : lifecycle_transition;The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.
autoscaling:EC2_INSTANCE_LAUNCHING.autoscaling:EC2_INSTANCE_TERMINATING.lifecycle_hook_name : ascii_string_max_len255;The name of the lifecycle hook.
*)}Describes information used to specify a lifecycle hook for an Auto Scaling group.
For more information, see Amazon EC2 Auto Scaling lifecycle hooks in the Amazon EC2 Auto Scaling User Guide.
type nonrec lifecycle_hook_specifications = lifecycle_hook_specification listtype nonrec lifecycle_hook_names = ascii_string_max_len255 listtype nonrec instance_collection = {instance_ids : instance_ids option;A list of instance IDs for the successfully launched instances.
*)availability_zone_id : xml_string_max_len255 option;The Availability Zone ID where the instances in this collection were launched.
*)availability_zone : xml_string_max_len255 option;The Availability Zone where the instances were launched.
*)subnet_id : xml_string_max_len255 option;The ID of the subnet where the instances were launched.
*)market_type : xml_string_max_len64 option;The market type for the instances (On-Demand or Spot).
*)instance_type : xml_string_max_len255 option;The instance type of the launched instances.
*)}Contains details about a collection of instances launched in the Auto Scaling group.
type nonrec instance_collections = instance_collection listtype nonrec launch_instances_error = {error_message : xml_string option;A descriptive message providing details about the error encountered during the launch attempt.
*)error_code : xml_string_max_len64 option;The error code representing the type of error encountered (e.g., InsufficientInstanceCapacity).
*)availability_zone_id : xml_string_max_len255 option;The Availability Zone ID where the launch error occurred.
*)availability_zone : xml_string_max_len255 option;The Availability Zone where the instance launch was attempted.
*)subnet_id : xml_string_max_len255 option;The subnet ID where the instance launch was attempted.
*)market_type : xml_string_max_len64 option;The market type (On-Demand or Spot) that encountered the launch error.
*)instance_type : xml_string_max_len255 option;The instance type that failed to launch.
*)}Contains details about errors encountered during instance launch attempts.
type nonrec launch_instances_errors = launch_instances_error listtype nonrec launch_instances_result = {errors : launch_instances_errors option;A list of errors encountered during the launch attempt including details about failed instance launches with their corresponding error codes and messages.
*)instances : instance_collections option;A list of successfully launched instances including details such as instance type, Availability Zone, subnet, lifecycle state, and instance IDs.
*)client_token : client_token option;The idempotency token used for the request, either customer-specified or auto-generated.
*)auto_scaling_group_name : xml_string_max_len255 option;The name of the Auto Scaling group where the instances were launched.
*)}type nonrec availability_zones_limit1 = xml_string_max_len255 listtype nonrec availability_zone_ids_limit1 = xml_string_max_len255 listtype nonrec launch_instances_request = {retry_strategy : retry_strategy option;Specifies whether to retry asynchronously if the synchronous launch fails. Valid values are NONE (default, no async retry) and RETRY_WITH_GROUP_CONFIGURATION (increase desired capacity and retry with group configuration).
*)subnet_ids : subnet_ids_limit1 option;The subnet IDs for the instance launch. Either AvailabilityZones or SubnetIds must be specified. If both are specified, the subnets must reside in the specified Availability Zones.
availability_zone_ids : availability_zone_ids_limit1 option;A list of Availability Zone IDs where instances should be launched. Must match or be included in the group's AZ configuration. You cannot specify both AvailabilityZones and AvailabilityZoneIds. Required for multi-AZ groups, optional for single-AZ groups.
*)availability_zones : availability_zones_limit1 option;The Availability Zones for the instance launch. Must match or be included in the Auto Scaling group's Availability Zone configuration. Either AvailabilityZones or SubnetIds must be specified for groups with multiple Availability Zone configurations.
client_token : client_token;A unique, case-sensitive identifier to ensure idempotency of the request.
*)requested_capacity : requested_capacity;The number of instances to launch. Although this value can exceed 100 for instance weights, the actual instance count is limited to 100 instances per launch.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group to launch instances into.
*)}Indicates that the parameters in the current request do not match the parameters from a previous request with the same client token within the idempotency window.
type nonrec classic_link_vpc_security_groups = xml_string_max_len255 listtype nonrec ebs = {throughput : block_device_ebs_throughput option;The throughput (MiBps) to provision for a gp3 volume.
encrypted : block_device_ebs_encrypted option;Specifies whether the volume should be encrypted. Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Requirements for Amazon EBS encryption in the Amazon EBS User Guide. If your AMI uses encrypted volumes, you can also only launch it on supported instance types.
If you are creating a volume from a snapshot, you cannot create an unencrypted volume from an encrypted snapshot. Also, you cannot specify a KMS key ID when using a launch configuration.
If you enable encryption by default, the EBS volumes that you create are always encrypted, either using the Amazon Web Services managed KMS key or a customer-managed KMS key, regardless of whether the snapshot was encrypted.
For more information, see Use Amazon Web Services KMS keys to encrypt Amazon EBS volumes in the Amazon EC2 Auto Scaling User Guide.
*)iops : block_device_ebs_iops option;The number of input/output (I/O) operations per second (IOPS) to provision for the volume. For gp3 and io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.
The following are the supported values for each volume type:
gp3: 3,000-16,000 IOPSio1: 100-64,000 IOPSFor io1 volumes, we guarantee 64,000 IOPS only for Instances built on the Amazon Web Services Nitro System. Other instance families guarantee performance up to 32,000 IOPS.
Iops is supported when the volume type is gp3 or io1 and required only when the volume type is io1. (Not used with standard, gp2, st1, or sc1 volumes.)
delete_on_termination : block_device_ebs_delete_on_termination option;Indicates whether the volume is deleted on instance termination. For Amazon EC2 Auto Scaling, the default value is true.
volume_type : block_device_ebs_volume_type option;The volume type. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.
Valid values: standard | io1 | gp2 | st1 | sc1 | gp3
volume_size : block_device_ebs_volume_size option;The volume size, in GiBs. The following are the supported volumes sizes for each volume type:
gp2 and gp3: 1-16,384io1: 4-16,384st1 and sc1: 125-16,384standard: 1-1,024You must specify either a SnapshotId or a VolumeSize. If you specify both SnapshotId and VolumeSize, the volume size must be equal or greater than the size of the snapshot.
snapshot_id : xml_string_max_len255 option;The snapshot ID of the volume to use.
You must specify either a VolumeSize or a SnapshotId.
}Describes information used to set up an Amazon EBS volume specified in a block device mapping.
type nonrec block_device_mapping = {no_device : no_device option;Setting this value to true prevents a volume that is included in the block device mapping of the AMI from being mapped to the specified device name at launch.
If NoDevice is true for the root device, instances might fail the EC2 health check. In that case, Amazon EC2 Auto Scaling launches replacement instances.
ebs : ebs option;Information to attach an EBS volume to an instance at launch.
*)device_name : xml_string_max_len255;The device name assigned to the volume (for example, /dev/sdh or xvdh). For more information, see Device naming on Linux instances in the Amazon EC2 User Guide.
To define a block device mapping, set the device name and exactly one of the following properties: Ebs, NoDevice, or VirtualName.
virtual_name : xml_string_max_len255 option;The name of the instance store volume (virtual device) to attach to an instance at launch. The name must be in the form ephemeralX where X is a number starting from zero (0), for example, ephemeral0.
}Describes a block device mapping.
type nonrec block_device_mappings = block_device_mapping listtype nonrec instance_monitoring = {enabled : monitoring_enabled option;If true, detailed monitoring is enabled. Otherwise, basic monitoring is enabled.
}Describes whether detailed monitoring is enabled for the Auto Scaling instances.
type nonrec instance_metadata_options = {http_endpoint : instance_metadata_endpoint_state option;This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.
If you specify a value of disabled, you will not be able to access your instance metadata.
http_put_response_hop_limit : instance_metadata_http_put_response_hop_limit
option;The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.
Default: 1
*)http_tokens : instance_metadata_http_tokens_state option;The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is optional.
If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.
If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.
}The metadata options for the instances. For more information, see Configure the instance metadata options in the Amazon EC2 Auto Scaling User Guide.
type nonrec launch_configuration = {metadata_options : instance_metadata_options option;The metadata options for the instances. For more information, see Configure the instance metadata options in the Amazon EC2 Auto Scaling User Guide.
*)placement_tenancy : xml_string_max_len64 option;The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.
associate_public_ip_address : associate_public_ip_address option;Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a public IPv4 address, unless you disabled the option to assign a public IPv4 address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IPv4 address, unless you enabled the option to assign a public IPv4 address on the subnet. For more information, see Provide network connectivity for your Auto Scaling instances using Amazon VPC in the Amazon EC2 Auto Scaling User Guide.
*)ebs_optimized : ebs_optimized option;Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). For more information, see Amazon EBS-optimized instances in the Amazon EC2 User Guide.
created_time : timestamp_type;The creation date and time for the launch configuration.
*)iam_instance_profile : xml_string_max_len1600 option;The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role. For more information, see IAM role for applications that run on Amazon EC2 instances in the Amazon EC2 Auto Scaling User Guide.
*)spot_price : spot_price option;The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot price. For more information, see Requesting Spot Instances for fault-tolerant and flexible applications in the Amazon EC2 Auto Scaling User Guide.
*)instance_monitoring : instance_monitoring option;Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
For more information, see Configure monitoring for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.
*)block_device_mappings : block_device_mappings option;The block device mapping entries that define the block devices to attach to the instances at launch. By default, the block devices specified in the block device mapping for the AMI are used. For more information, see Block device mappings in the Amazon EC2 User Guide.
*)ramdisk_id : xml_string_max_len255 option;The ID of the RAM disk associated with the AMI.
*)kernel_id : xml_string_max_len255 option;The ID of the kernel associated with the AMI.
*)instance_type : xml_string_max_len255;The instance type for the instances. For information about available instance types, see Available instance types in the Amazon EC2 User Guide.
*)user_data : xml_string_user_data option;The user data to make available to the launched EC2 instances. For more information, see Instance metadata and user data in the Amazon EC2 User Guide. If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB.
*)classic_link_vpc_security_groups : classic_link_vpc_security_groups option;Available for backward compatibility.
*)classic_link_vpc_id : xml_string_max_len255 option;Available for backward compatibility.
*)security_groups : security_groups option;A list that contains the security groups to assign to the instances in the Auto Scaling group. For more information, see Control traffic to your Amazon Web Services resources using security groups in the Amazon Virtual Private Cloud User Guide.
*)key_name : xml_string_max_len255 option;The name of the key pair.
For more information, see Amazon EC2 key pairs and Amazon EC2 instances in the Amazon EC2 User Guide.
*)image_id : xml_string_max_len255;The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances. For more information, see Find a Linux AMI in the Amazon EC2 User Guide.
*)launch_configuration_ar_n : resource_name option;The Amazon Resource Name (ARN) of the launch configuration.
*)launch_configuration_name : xml_string_max_len255;The name of the launch configuration.
*)}Describes a launch configuration.
type nonrec launch_configurations = launch_configuration listtype nonrec launch_configurations_type = {next_token : xml_string option;A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
launch_configurations : launch_configurations;The launch configurations.
*)}type nonrec launch_configuration_names = xml_string_max_len255 listtype nonrec launch_configuration_names_type = {max_records : max_records option;The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.
next_token : xml_string option;The token for the next set of items to return. (You received this token from a previous call.)
*)launch_configuration_names : launch_configuration_names option;The launch configuration names. If you omit this property, all launch configurations are described.
Array Members: Maximum number of 50 items.
*)}type nonrec launch_configuration_name_type = {launch_configuration_name : xml_string_max_len255;The name of the launch configuration.
*)}The NextToken value is not valid.
type nonrec instance = {weighted_capacity : xml_string_max_len32 option;The number of capacity units contributed by the instance based on its instance type.
Valid Range: Minimum value of 1. Maximum value of 999.
*)protected_from_scale_in : instance_protected;Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.
*)image_id : xml_string_max_len255 option;The ID of the Amazon Machine Image (AMI) used for the instance's current root volume. This value reflects the most recent AMI applied to the instance, including updates made through root volume replacement operations.
This field appears for:
This field won't appear for:
launch_template : launch_template_specification option;The launch template for the instance.
*)launch_configuration_name : xml_string_max_len255 option;The launch configuration associated with the instance.
*)health_status : xml_string_max_len32;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.
lifecycle_state : 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.
availability_zone_id : xml_string_max_len255 option;The Availability Zone ID where the instance was launched.
*)availability_zone : xml_string_max_len255;The Availability Zone in which the instance is running.
*)instance_type : xml_string_max_len255 option;The instance type of the EC2 instance.
*)instance_id : xml_string_max_len19;The ID of the instance.
*)}Describes an EC2 instance.
type nonrec instances = instance listtype nonrec instance_refresh = {strategy : refresh_strategy option;The strategy to use for the instance refresh. This determines how instances in the Auto Scaling group are updated. Default is Rolling.
Rolling – Terminates instances and launches replacements in batchesReplaceRootVolume – Updates instances by replacing only the root volume without terminating the instancerollback_details : rollback_details option;The rollback details.
*)desired_configuration : desired_configuration option;Describes the desired configuration for the instance refresh.
*)preferences : refresh_preferences option;The preferences for an instance refresh.
*)progress_details : instance_refresh_progress_details option;Additional progress details for an Auto Scaling group that has a warm pool.
*)instances_to_update : instances_to_update option;The number of instances remaining to update before the instance refresh is complete.
If you roll back the instance refresh, InstancesToUpdate shows you the number of instances that were not yet updated by the instance refresh. Therefore, these instances don't need to be replaced as part of the rollback.
percentage_complete : int_percent option;The percentage of the instance refresh that is complete. For each instance replacement, Amazon EC2 Auto Scaling tracks the instance's health status and warm-up time. When the instance's health status changes to healthy and the specified warm-up time passes, the instance is considered updated and is added to the percentage complete.
PercentageComplete does not include instances that are replaced during a rollback. This value gradually goes back down to zero during a rollback.
end_time : timestamp_type option;The date and time at which the instance refresh ended.
*)start_time : timestamp_type option;The date and time at which the instance refresh began.
*)status_reason : xml_string_max_len1023 option;The explanation for the specific status assigned to this operation.
*)status : instance_refresh_status option;The current status for the instance refresh operation:
Pending - The request was created, but the instance refresh has not started.InProgress - An instance refresh is in progress.Successful - An instance refresh completed successfully.Failed - An instance refresh failed to complete. You can troubleshoot using the status reason and the scaling activities.Cancelling - An ongoing instance refresh is being cancelled.Cancelled - The instance refresh is cancelled.RollbackInProgress - An instance refresh is being rolled back.RollbackFailed - The rollback failed to complete. You can troubleshoot using the status reason and the scaling activities.RollbackSuccessful - The rollback completed successfully.Baking - Waiting the specified bake time after an instance refresh has finished updating instances.auto_scaling_group_name : xml_string_max_len255 option;The name of the Auto Scaling group.
*)instance_refresh_id : xml_string_max_len255 option;The instance refresh ID.
*)}Describes an instance refresh for an Auto Scaling group.
type nonrec instance_refreshes = instance_refresh listtype nonrec instance_refresh_ids = xml_string_max_len255 listtype nonrec get_predictive_scaling_forecast_type = {end_time : timestamp_type;The exclusive end time of the time range for the forecast data to get. The maximum time duration between the start and end time is 30 days.
Although this parameter can accept a date and time that is more than two days in the future, the availability of forecast data has limits. Amazon EC2 Auto Scaling only issues forecasts for periods of two days in advance.
*)start_time : timestamp_type;The inclusive start time of the time range for the forecast data to get. At most, the date and time can be one year before the current date and time.
*)policy_name : xml_string_max_len255;The name of the policy.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec capacity_forecast = {values : predictive_scaling_forecast_values;The values of the data points.
*)timestamps : predictive_scaling_forecast_timestamps;The timestamps for the data points, in UTC format.
*)}A GetPredictiveScalingForecast call returns the capacity forecast for a predictive scaling policy. This structure includes the data points for that capacity forecast, along with the timestamps of those data points.
type nonrec get_predictive_scaling_forecast_answer = {update_time : timestamp_type;The time the forecast was made.
*)capacity_forecast : capacity_forecast;The capacity forecast.
*)load_forecast : load_forecasts;The load forecast.
*)}type nonrec filter = {values : values option;One or more filter values. Filter values are case-sensitive.
If you specify multiple values for a filter, the values are automatically logically joined with an OR, and the request returns all results that match any of the specified values.
DescribeAutoScalingGroups example: Specify "tag:environment" for the filter name and "production,development" for the filter values to find Auto Scaling groups with the tag "environment=production" or "environment=development".
DescribeScalingActivities example: Specify "Status" for the filter name and "Successful,Failed" for the filter values to find scaling activities with a status of either "Successful" or "Failed".
*)name : xml_string option;The name of the filter.
The valid values for Name depend on which API operation you're using with the filter.
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: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.Valid values for Name include the following:
StartTimeLowerBound - The earliest scaling activities to return based on the activity start time. Scaling activities with a start time earlier than this value are not included in the results. Only activities started within the last six weeks can be returned regardless of the value specified.StartTimeUpperBound - The latest scaling activities to return based on the activity start time. Scaling activities with a start time later than this value are not included in the results. Only activities started within the last six weeks can be returned regardless of the value specified.Status - The StatusCode value of the scaling activity. This filter can only be used in combination with the AutoScalingGroupName parameter. For valid StatusCode values, see Activity in the Amazon EC2 Auto Scaling API Reference.StartTimeLowerBound and StartTimeUpperBound accept ISO 8601 formatted timestamps. Timestamps without a timezone offset are assumed to be UTC.
2000-01-18T08:15:00Z2000-01-18T16:15:00+08:00}Describes a filter that is used to return a more specific list of results from a describe operation.
If you specify multiple filters, the filters are automatically logically joined with an AND, and the request returns only the results that match all of the specified filters.
For more information, see Tag Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.
type nonrec filters = filter listtype nonrec failed_scheduled_update_group_action_request = {error_message : xml_string option;The error message accompanying the error code.
*)error_code : xml_string_max_len64 option;The error code.
*)scheduled_action_name : xml_string_max_len255;The name of the scheduled action.
*)}Describes a scheduled action that could not be created, updated, or deleted.
type nonrec failed_scheduled_update_group_action_requests =
failed_scheduled_update_group_action_request listtype nonrec exit_standby_query = {auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)instance_ids : instance_ids option;The IDs of the instances. You can specify up to 20 instances.
*)}type nonrec activities = activity listtype nonrec exit_standby_answer = {activities : activities option;The activities related to moving instances out of Standby mode.
}type nonrec execute_policy_type = {breach_threshold : metric_scale option;The breach threshold for the alarm.
Required if the policy type is StepScaling and not supported otherwise.
metric_value : metric_scale option;The metric value to compare to BreachThreshold. This enables you to execute a policy of type StepScaling and determine which step adjustment to use. For example, if the breach threshold is 50 and you want to use a step adjustment with a lower bound of 0 and an upper bound of 10, you can set the metric value to 59.
If you specify a metric value that doesn't correspond to a step adjustment for the policy, the call returns an error.
Required if the policy type is StepScaling and not supported otherwise.
honor_cooldown : honor_cooldown option;Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before executing the policy.
Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
policy_name : resource_name;The name or ARN of the policy.
*)auto_scaling_group_name : xml_string_max_len255 option;The name of the Auto Scaling group.
*)}type nonrec enter_standby_query = {should_decrement_desired_capacity : should_decrement_desired_capacity;Indicates whether to decrement the desired capacity of the Auto Scaling group by the number of instances moved to Standby mode.
auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)instance_ids : instance_ids option;The IDs of the instances. You can specify up to 20 instances.
*)}type nonrec enter_standby_answer = {activities : activities option;The activities related to moving instances into Standby mode.
}type nonrec enabled_metric = {granularity : xml_string_max_len255 option;The granularity of the metric. The only valid value is 1Minute.
metric : xml_string_max_len255 option;One of the following metrics:
GroupMinSizeGroupMaxSizeGroupDesiredCapacityGroupInServiceInstancesGroupPendingInstancesGroupStandbyInstancesGroupTerminatingInstancesGroupTotalInstancesGroupInServiceCapacityGroupPendingCapacityGroupStandbyCapacityGroupTerminatingCapacityGroupTotalCapacityWarmPoolDesiredCapacityWarmPoolWarmedCapacityWarmPoolPendingCapacityWarmPoolTerminatingCapacityWarmPoolTotalCapacityGroupAndWarmPoolDesiredCapacityGroupAndWarmPoolTotalCapacityFor more information, see Amazon CloudWatch metrics for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
*)}Describes an enabled Auto Scaling group metric.
type nonrec enabled_metrics = enabled_metric listtype nonrec enable_metrics_collection_query = {granularity : xml_string_max_len255;The frequency at which Amazon EC2 Auto Scaling sends aggregated data to CloudWatch. The only valid value is 1Minute.
metrics : metrics option;Identifies the metrics to enable.
You can specify one or more of the following metrics:
GroupMinSizeGroupMaxSizeGroupDesiredCapacityGroupInServiceInstancesGroupPendingInstancesGroupStandbyInstancesGroupTerminatingInstancesGroupTotalInstancesGroupInServiceCapacityGroupPendingCapacityGroupStandbyCapacityGroupTerminatingCapacityGroupTotalCapacityWarmPoolDesiredCapacityWarmPoolWarmedCapacityWarmPoolPendingCapacityWarmPoolTerminatingCapacityWarmPoolTotalCapacityGroupAndWarmPoolDesiredCapacityGroupAndWarmPoolTotalCapacityIf you specify Granularity and don't specify any metrics, all metrics are enabled.
For more information, see Amazon CloudWatch metrics for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec disable_metrics_collection_query = {metrics : metrics option;Identifies the metrics to disable.
You can specify one or more of the following metrics:
GroupMinSizeGroupMaxSizeGroupDesiredCapacityGroupInServiceInstancesGroupPendingInstancesGroupStandbyInstancesGroupTerminatingInstancesGroupTotalInstancesGroupInServiceCapacityGroupPendingCapacityGroupStandbyCapacityGroupTerminatingCapacityGroupTotalCapacityWarmPoolDesiredCapacityWarmPoolWarmedCapacityWarmPoolPendingCapacityWarmPoolTerminatingCapacityWarmPoolTotalCapacityGroupAndWarmPoolDesiredCapacityGroupAndWarmPoolTotalCapacityIf you omit this property, all metrics are disabled.
For more information, see Amazon CloudWatch metrics for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec detach_traffic_sources_type = {traffic_sources : traffic_sources;The unique identifiers of one or more traffic sources. You can specify up to 10 traffic sources.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec detach_load_balancers_type = {load_balancer_names : load_balancer_names;The names of the load balancers. You can specify up to 10 load balancers.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec detach_load_balancer_target_groups_type = {target_group_ar_ns : target_group_ar_ns;The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec detach_instances_query = {should_decrement_desired_capacity : should_decrement_desired_capacity;Indicates whether the Auto Scaling group decrements the desired capacity value by the number of instances detached.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)instance_ids : instance_ids option;The IDs of the instances. You can specify up to 20 instances.
*)}type nonrec detach_instances_answer = {activities : activities option;The activities related to detaching the instances from the Auto Scaling group.
*)}type nonrec describe_warm_pool_type = {next_token : xml_string option;The token for the next set of instances to return. (You received this token from a previous call.)
*)max_records : max_records option;The maximum number of instances to return with this call. The maximum value is 50.
auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec describe_warm_pool_answer = {next_token : xml_string option;This string indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
instances : instances option;The instances that are currently in the warm pool.
*)warm_pool_configuration : warm_pool_configuration option;The warm pool configuration details.
*)}type nonrec describe_traffic_sources_response = {next_token : xml_string option;This string indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
traffic_sources : traffic_source_states option;Information about the traffic sources.
*)}type nonrec describe_traffic_sources_request = {max_records : max_records option;The maximum number of items to return with this call. The maximum value is 50.
next_token : xml_string option;The token for the next set of items to return. (You received this token from a previous call.)
*)traffic_source_type : xml_string_max_len255 option;The traffic source type that you want to describe.
The following lists the valid values:
elb if the traffic source is a Classic Load Balancer.elbv2 if the traffic source is a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer.vpc-lattice if the traffic source is VPC Lattice.auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec describe_termination_policy_types_answer = {termination_policy_types : termination_policies option;The termination policies supported by Amazon EC2 Auto Scaling: OldestInstance, OldestLaunchConfiguration, NewestInstance, ClosestToNextInstanceHour, Default, OldestLaunchTemplate, and AllocationStrategy.
}type nonrec describe_scheduled_actions_type = {max_records : max_records option;The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.
next_token : xml_string option;The token for the next set of items to return. (You received this token from a previous call.)
*)end_time : timestamp_type option;The latest scheduled start time to return. If scheduled action names are provided, this property is ignored.
*)start_time : timestamp_type option;The earliest scheduled start time to return. If scheduled action names are provided, this property is ignored.
*)scheduled_action_names : scheduled_action_names option;The names of one or more scheduled actions. If you omit this property, all scheduled actions are described. If you specify an unknown scheduled action, it is ignored with no error.
Array Members: Maximum number of 50 actions.
*)auto_scaling_group_name : xml_string_max_len255 option;The name of the Auto Scaling group.
*)}type nonrec activity_ids = xml_string listtype nonrec describe_scaling_activities_type = {filters : filters option;One or more filters to limit the results based on specific criteria. The following filters are supported:
StartTimeLowerBound - The earliest scaling activities to return based on the activity start time. Scaling activities with a start time earlier than this value are not included in the results. Only activities started within the last six weeks can be returned regardless of the value specified.StartTimeUpperBound - The latest scaling activities to return based on the activity start time. Scaling activities with a start time later than this value are not included in the results. Only activities started within the last six weeks can be returned regardless of the value specified.Status - The StatusCode value of the scaling activity. This filter can only be used in combination with the AutoScalingGroupName parameter. For valid StatusCode values, see Activity in the Amazon EC2 Auto Scaling API Reference.StartTimeLowerBound and StartTimeUpperBound accept ISO 8601 formatted timestamps. Timestamps without a timezone offset are assumed to be UTC.
2000-01-18T08:15:00Z2000-01-18T16:15:00+08:00next_token : xml_string option;The token for the next set of items to return. (You received this token from a previous call.)
*)max_records : max_records option;The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.
include_deleted_groups : include_deleted_groups option;Indicates whether to include scaling activity from deleted Auto Scaling groups.
*)auto_scaling_group_name : xml_string_max_len255 option;The name of the Auto Scaling group.
Omitting this property performs an account-wide operation, which can result in slower or timed-out requests.
*)activity_ids : activity_ids option;The activity IDs of the desired scaling activities. If unknown activity IDs are requested, they are ignored with no error. Only activities started within the last six weeks can be returned regardless of the activity IDs specified. If other filters are specified with the request, only results matching all filter criteria can be returned.
Array Members: Maximum number of 50 IDs.
*)}type nonrec activities_type = {next_token : xml_string option;A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
activities : activities;The scaling activities. Activities are sorted by start time. Activities still in progress are described first.
*)}type nonrec describe_policies_type = {max_records : max_records option;The maximum number of items to be returned with each call. The default value is 50 and the maximum value is 100.
next_token : xml_string option;The token for the next set of items to return. (You received this token from a previous call.)
*)policy_types : policy_types option;One or more policy types. The valid values are SimpleScaling, StepScaling, TargetTrackingScaling, and PredictiveScaling.
policy_names : policy_names option;The names of one or more policies. If you omit this property, all policies are described. If a group name is provided, the results are limited to that group. If you specify an unknown policy name, it is ignored with no error.
Array Members: Maximum number of 50 items.
*)auto_scaling_group_name : xml_string_max_len255 option;The name of the Auto Scaling group.
*)}type nonrec auto_scaling_group_names = xml_string_max_len255 listtype nonrec describe_notification_configurations_type = {max_records : max_records option;The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.
next_token : xml_string option;The token for the next set of items to return. (You received this token from a previous call.)
*)auto_scaling_group_names : auto_scaling_group_names option;The name of the Auto Scaling group.
*)}type nonrec describe_notification_configurations_answer = {next_token : xml_string option;A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
notification_configurations : notification_configurations;The notification configurations.
*)}type nonrec describe_metric_collection_types_answer = {granularities : metric_granularity_types option;The granularities for the metrics.
*)metrics : metric_collection_types option;The metrics.
*)}type nonrec describe_load_balancers_response = {next_token : xml_string option;A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
load_balancers : load_balancer_states option;The load balancers.
*)}type nonrec describe_load_balancers_request = {max_records : max_records option;The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.
next_token : xml_string option;The token for the next set of items to return. (You received this token from a previous call.)
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec describe_load_balancer_target_groups_response = {next_token : xml_string option;A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
load_balancer_target_groups : load_balancer_target_group_states option;Information about the target groups.
*)}type nonrec describe_load_balancer_target_groups_request = {max_records : max_records option;The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.
next_token : xml_string option;The token for the next set of items to return. (You received this token from a previous call.)
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec describe_lifecycle_hooks_type = {lifecycle_hook_names : lifecycle_hook_names option;The names of one or more lifecycle hooks. If you omit this property, all lifecycle hooks are described.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec describe_lifecycle_hooks_answer = {lifecycle_hooks : lifecycle_hooks option;The lifecycle hooks for the specified group.
*)}type nonrec describe_lifecycle_hook_types_answer = {lifecycle_hook_types : auto_scaling_notification_types option;The lifecycle hook types.
*)}type nonrec describe_instance_refreshes_type = {max_records : max_records option;The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.
next_token : xml_string option;The token for the next set of items to return. (You received this token from a previous call.)
*)instance_refresh_ids : instance_refresh_ids option;One or more instance refresh IDs.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec describe_instance_refreshes_answer = {next_token : xml_string option;A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
instance_refreshes : instance_refreshes option;The instance refreshes for the specified group, sorted by creation timestamp in descending order.
*)}type nonrec describe_auto_scaling_notification_types_answer = {auto_scaling_notification_types : auto_scaling_notification_types option;The notification types.
*)}type nonrec describe_auto_scaling_instances_type = {next_token : xml_string option;The token for the next set of items to return. (You received this token from a previous call.)
*)max_records : max_records option;The maximum number of items to return with this call. The default value is 50 and the maximum value is 50.
instance_ids : instance_ids option;The IDs of the instances. If you omit this property, all Auto Scaling instances are described. If you specify an ID that does not exist, it is ignored with no error.
Array Members: Maximum number of 50 items.
*)}type nonrec auto_scaling_instance_details = {weighted_capacity : xml_string_max_len32 option;The number of capacity units contributed by the instance based on its instance type.
Valid Range: Minimum value of 1. Maximum value of 999.
*)protected_from_scale_in : instance_protected;Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.
*)image_id : xml_string_max_len255 option;The ID of the Amazon Machine Image (AMI) associated with the instance. This field shows the current AMI ID of the instance's root volume. It may differ from the original AMI used when the instance was first launched.
This field appears for:
This field won't appear for:
launch_template : launch_template_specification option;The launch template for the instance.
*)launch_configuration_name : xml_string_max_len255 option;The launch configuration used to launch the instance. This value is not available if you attached the instance to the Auto Scaling group.
*)health_status : xml_string_max_len32;The last reported health status of this instance. Healthy means that the instance is healthy and should remain in service. Unhealthy means that the instance is unhealthy and Amazon EC2 Auto Scaling should terminate and replace it.
lifecycle_state : xml_string_max_len32;The lifecycle state for the instance. The Quarantined state is not used. For more information, see Amazon EC2 Auto Scaling instance lifecycle in the Amazon EC2 Auto Scaling User Guide.
Valid values: Pending | Pending:Wait | Pending:Proceed | Quarantined | InService | Terminating | Terminating:Wait | Terminating:Proceed | Terminating:Retained | Terminated | Detaching | Detached | EnteringStandby | Standby | ReplacingRootVolume | ReplacingRootVolume:Wait | ReplacingRootVolume:Proceed | RootVolumeReplaced | Warmed:Pending | Warmed:Pending:Wait | Warmed:Pending:Proceed | Warmed:Pending:Retained | Warmed:Terminating | Warmed:Terminating:Wait | Warmed:Terminating:Proceed | Warmed:Terminating:Retained | Warmed:Terminated | Warmed:Stopped | Warmed:Running | Warmed:Hibernated
availability_zone_id : xml_string_max_len255 option;The Availability Zone ID where the instance is located.
*)availability_zone : xml_string_max_len255;The Availability Zone for the instance.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group for the instance.
*)instance_type : xml_string_max_len255 option;The instance type of the EC2 instance.
*)instance_id : xml_string_max_len19;The ID of the instance.
*)}Describes an EC2 instance associated with an Auto Scaling group.
type nonrec auto_scaling_instances = auto_scaling_instance_details listtype nonrec auto_scaling_instances_type = {next_token : xml_string option;A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
auto_scaling_instances : auto_scaling_instances option;The instances.
*)}type nonrec auto_scaling_group = {instance_lifecycle_policy : instance_lifecycle_policy option;The instance lifecycle policy for the Auto Scaling group.
*)capacity_reservation_specification : capacity_reservation_specification option;The capacity reservation specification for the Auto Scaling group.
*)availability_zone_impairment_policy : availability_zone_impairment_policy
option;The Availability Zone impairment policy for the Auto Scaling group.
*)availability_zone_distribution : availability_zone_distribution option;The EC2 instance capacity distribution across Availability Zones for the Auto Scaling group.
*)deletion_protection : deletion_protection option;The deletion protection setting for the Auto Scaling group.
*)instance_maintenance_policy : instance_maintenance_policy option;An instance maintenance policy.
*)traffic_sources : traffic_sources option;The traffic sources associated with this Auto Scaling group.
*)default_instance_warmup : default_instance_warmup option;The duration of the default EC2 instance warmup time, in seconds, for the Auto Scaling group.
*)desired_capacity_type : xml_string_max_len255 option;The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only.
context : context option;Reserved.
*)warm_pool_size : warm_pool_size option;The current size of the warm pool.
*)warm_pool_configuration : warm_pool_configuration option;The warm pool for the group.
*)capacity_rebalance : capacity_rebalance_enabled option;Indicates whether Capacity Rebalancing is enabled.
*)max_instance_lifetime : max_instance_lifetime option;The maximum amount of time, in seconds, that an EC2 instance can be in service for the Auto Scaling group.
*)service_linked_role_ar_n : resource_name option;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.
*)new_instances_protected_from_scale_in : instance_protected option;Indicates whether newly launched EC2 instances are protected from termination when scaling in for the Auto Scaling group.
For more information about preventing instances from terminating on scale in, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
*)termination_policies : termination_policies option;The termination policies for the Auto Scaling group.
*)status : xml_string_max_len255 option;The current state of the Auto Scaling group when the DeleteAutoScalingGroup operation is in progress.
*)enabled_metrics : enabled_metrics option;The metrics enabled for the Auto Scaling group.
*)vpc_zone_identifier : xml_string_max_len5000 option;One or more comma-separated subnet IDs for the Auto Scaling group.
*)placement_group : xml_string_max_len255 option;The name of the placement group into which to launch EC2 instances for the Auto Scaling group.
*)suspended_processes : suspended_processes option;The suspended processes associated with the Auto Scaling group.
*)created_time : timestamp_type;The date and time the Auto Scaling group was created.
*)instances : instances option;The EC2 instances associated with the Auto Scaling group.
*)health_check_grace_period : health_check_grace_period option;The duration of the health check grace period, in seconds, for the Auto Scaling group.
*)health_check_type : xml_string_max_len32;One or more comma-separated health check types for the Auto Scaling group.
*)target_group_ar_ns : target_group_ar_ns option;The Amazon Resource Names (ARN) of the target groups for your load balancer.
*)load_balancer_names : load_balancer_names option;One or more load balancers associated with the group.
*)availability_zone_ids : availability_zone_ids option;The Availability Zone IDs where the Auto Scaling group can launch instances.
*)availability_zones : availability_zones;One or more Availability Zones for the Auto Scaling group.
*)default_cooldown : cooldown;The duration of the default cooldown period, in seconds, for the Auto Scaling group.
*)predicted_capacity : auto_scaling_group_predicted_capacity option;The predicted capacity of the group when it has a predictive scaling policy.
*)desired_capacity : auto_scaling_group_desired_capacity;The desired size of the Auto Scaling group.
*)max_size : auto_scaling_group_max_size;The maximum size of the Auto Scaling group.
*)min_size : auto_scaling_group_min_size;The minimum size of the Auto Scaling group.
*)mixed_instances_policy : mixed_instances_policy option;The mixed instances policy for the group.
*)launch_template : launch_template_specification option;The launch template for the Auto Scaling group.
*)launch_configuration_name : xml_string_max_len255 option;The name of the associated launch configuration for the Auto Scaling group.
*)auto_scaling_group_ar_n : resource_name option;The Amazon Resource Name (ARN) of the Auto Scaling group.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}Describes an Auto Scaling group.
type nonrec auto_scaling_groups = auto_scaling_group listtype nonrec auto_scaling_groups_type = {next_token : xml_string option;A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.
auto_scaling_groups : auto_scaling_groups;The groups.
*)}type nonrec auto_scaling_group_names_type = {filters : filters option;One or more filters to limit the results based on specific tags.
*)max_records : max_records option;The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.
next_token : xml_string option;The token for the next set of items to return. (You received this token from a previous call.)
*)include_instances : include_instances option;Specifies whether to include information about Amazon EC2 instances in the response. When set to true (default), the response includes instance details.
auto_scaling_group_names : auto_scaling_group_names option;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.
*)}type nonrec adjustment_type = {adjustment_type : xml_string_max_len255 option;The policy adjustment type. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.
}Describes a policy adjustment type.
type nonrec adjustment_types = adjustment_type listtype nonrec describe_adjustment_types_answer = {adjustment_types : adjustment_types option;The policy adjustment types.
*)}type nonrec describe_account_limits_answer = {number_of_launch_configurations : number_of_launch_configurations option;The current number of launch configurations for your account.
*)number_of_auto_scaling_groups : number_of_auto_scaling_groups option;The current number of groups for your account.
*)max_number_of_launch_configurations : max_number_of_launch_configurations
option;The maximum number of launch configurations allowed for your account. The default is 200 launch configurations per Region.
*)max_number_of_auto_scaling_groups : max_number_of_auto_scaling_groups option;The maximum number of groups allowed for your account. The default is 200 groups per Region.
*)}type nonrec delete_warm_pool_type = {force_delete : force_delete option;Specifies that the warm pool is to be deleted along with all of its associated instances, without waiting for all instances to be terminated. This parameter also deletes any outstanding lifecycle actions associated with the warm pool instances.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec delete_scheduled_action_type = {scheduled_action_name : xml_string_max_len255;The name of the action to delete.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec delete_policy_type = {policy_name : resource_name;The name or Amazon Resource Name (ARN) of the policy.
*)auto_scaling_group_name : xml_string_max_len255 option;The name of the Auto Scaling group.
*)}type nonrec delete_notification_configuration_type = {topic_ar_n : xml_string_max_len255;The Amazon Resource Name (ARN) of the Amazon SNS topic.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec delete_lifecycle_hook_type = {auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)lifecycle_hook_name : ascii_string_max_len255;The name of the lifecycle hook.
*)}type nonrec delete_auto_scaling_group_type = {force_delete : force_delete option;Specifies that the group is to be deleted along with all instances associated with the group, without waiting for all instances to be terminated. This action also deletes any outstanding lifecycle actions associated with the group.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec create_launch_configuration_type = {metadata_options : instance_metadata_options option;The metadata options for the instances. For more information, see Configure the instance metadata options in the Amazon EC2 Auto Scaling User Guide.
*)placement_tenancy : xml_string_max_len64 option;The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC. To launch dedicated instances into a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default), you must set the value of this property to dedicated.
If you specify PlacementTenancy, you must specify at least one subnet for VPCZoneIdentifier when you create your group.
Valid values: default | dedicated
associate_public_ip_address : associate_public_ip_address option;Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a public IPv4 address, unless you disabled the option to assign a public IPv4 address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IPv4 address, unless you enabled the option to assign a public IPv4 address on the subnet.
If you specify true, each instance in the Auto Scaling group receives a unique public IPv4 address. For more information, see Provide network connectivity for your Auto Scaling instances using Amazon VPC in the Amazon EC2 Auto Scaling User Guide.
If you specify this property, you must specify at least one subnet for VPCZoneIdentifier when you create your group.
ebs_optimized : ebs_optimized option;Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). The optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization is not available with all instance types. Additional fees are incurred when you enable EBS optimization for an instance type that is not EBS-optimized by default. For more information, see Amazon EBS-optimized instances in the Amazon EC2 User Guide.
The default value is false.
iam_instance_profile : xml_string_max_len1600 option;The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role. For more information, see IAM role for applications that run on Amazon EC2 instances in the Amazon EC2 Auto Scaling User Guide.
*)spot_price : spot_price option;The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot price. For more information, see Request Spot Instances for fault-tolerant and flexible applications in the Amazon EC2 Auto Scaling User Guide.
Valid Range: Minimum value of 0.001
When you change your maximum price by creating a new launch configuration, running instances will continue to run as long as the maximum price for those running instances is higher than the current Spot price.
*)instance_monitoring : instance_monitoring option;Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
The default value is true (enabled).
When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. For more information, see Configure monitoring for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.
*)block_device_mappings : block_device_mappings option;The block device mapping entries that define the block devices to attach to the instances at launch. By default, the block devices specified in the block device mapping for the AMI are used. For more information, see Block device mappings in the Amazon EC2 User Guide.
*)ramdisk_id : xml_string_max_len255 option;The ID of the RAM disk to select.
We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon EC2 User Guide.
*)kernel_id : xml_string_max_len255 option;The ID of the kernel associated with the AMI.
We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon EC2 User Guide.
*)instance_type : xml_string_max_len255 option;Specifies the instance type of the EC2 instance. For information about available instance types, see Available instance types in the Amazon EC2 User Guide.
If you specify InstanceId, an InstanceType is not required.
instance_id : xml_string_max_len19 option;The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, except for the block device mapping.
To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.
For more information, see Create a launch configuration in the Amazon EC2 Auto Scaling User Guide.
*)user_data : xml_string_user_data option;The user data to make available to the launched EC2 instances. For more information, see Instance metadata and user data (Linux) and Instance metadata and user data (Windows). If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB.
*)classic_link_vpc_security_groups : classic_link_vpc_security_groups option;Available for backward compatibility.
*)classic_link_vpc_id : xml_string_max_len255 option;Available for backward compatibility.
*)security_groups : security_groups option;A list that contains the security group IDs to assign to the instances in the Auto Scaling group. For more information, see Control traffic to your Amazon Web Services resources using security groups in the Amazon Virtual Private Cloud User Guide.
*)key_name : xml_string_max_len255 option;The name of the key pair. For more information, see Amazon EC2 key pairs and Amazon EC2 instances in the Amazon EC2 User Guide.
*)image_id : xml_string_max_len255 option;The ID of the Amazon Machine Image (AMI) that was assigned during registration. For more information, see Find a Linux AMI in the Amazon EC2 User Guide.
If you specify InstanceId, an ImageId is not required.
launch_configuration_name : xml_string_max_len255;The name of the launch configuration. This name must be unique per Region per account.
*)}type nonrec create_auto_scaling_group_type = {instance_lifecycle_policy : instance_lifecycle_policy option;The instance lifecycle policy for the Auto Scaling group. This policy controls instance behavior when an instance transitions through its lifecycle states. Configure retention triggers to specify when instances should move to a Retained state instead of automatic termination.
For more information, see Control instance retention with instance lifecycle policies in the Amazon EC2 Auto Scaling User Guide.
Instances in a Retained state will continue to incur standard EC2 charges until terminated.
*)capacity_reservation_specification : capacity_reservation_specification option;The capacity reservation specification for the Auto Scaling group.
*)skip_zonal_shift_validation : skip_zonal_shift_validation option;If you enable zonal shift with cross-zone disabled load balancers, capacity could become imbalanced across Availability Zones. To skip the validation, specify true. For more information, see Auto Scaling group zonal shift in the Amazon EC2 Auto Scaling User Guide.
availability_zone_impairment_policy : availability_zone_impairment_policy
option;The policy for Availability Zone impairment.
*)availability_zone_distribution : availability_zone_distribution option;The instance capacity distribution across Availability Zones.
*)instance_maintenance_policy : instance_maintenance_policy option;An instance maintenance policy. For more information, see Set instance maintenance policy in the Amazon EC2 Auto Scaling User Guide.
*)traffic_sources : traffic_sources option;The list of traffic sources to attach to this Auto Scaling group. You can use any of the following as traffic sources for an Auto Scaling group: Classic Load Balancer, Application Load Balancer, Gateway Load Balancer, Network Load Balancer, and VPC Lattice.
*)default_instance_warmup : default_instance_warmup option;The amount of time, in seconds, until a new instance is considered to have finished initializing and resource consumption to become stable after it enters the InService state.
During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an instance before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the warm-up period before aggregating the metrics for new instances with existing instances in the Amazon CloudWatch metrics that are used for scaling, resulting in more reliable usage data. For more information, see Set the default instance warmup for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
To manage various warm-up settings at the group level, we recommend that you set the default instance warmup, even if it is set to 0 seconds. To remove a value that you previously set, include the property but specify -1 for the value. However, we strongly recommend keeping the default instance warmup enabled by specifying a value of 0 or other nominal value.
Default: None
*)desired_capacity_type : xml_string_max_len255 option;The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.
By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.
Valid values: units | vcpu | memory-mib
context : context option;Reserved.
*)max_instance_lifetime : max_instance_lifetime option;The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). For more information, see Replace Auto Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide.
*)service_linked_role_ar_n : resource_name option;The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other Amazon Web Services service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling, which it creates if it does not exist. For more information, see Service-linked roles in the Amazon EC2 Auto Scaling User Guide.
deletion_protection : deletion_protection option;The deletion protection setting for the Auto Scaling group. This setting helps safeguard your Auto Scaling group and its instances by controlling whether the DeleteAutoScalingGroup operation is allowed. When deletion protection is enabled, users cannot delete the Auto Scaling group according to the specified protection level until the setting is changed back to a less restrictive level.
The valid values are none, prevent-force-deletion, and prevent-all-deletion.
Default: none
For more information, see Configure deletion protection for your Amazon EC2 Auto Scaling resources in the Amazon EC2 Auto Scaling User Guide.
*)lifecycle_hook_specification_list : lifecycle_hook_specifications option;One or more lifecycle hooks to add to the Auto Scaling group before instances are launched.
*)capacity_rebalance : capacity_rebalance_enabled option;Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you turn on Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates an old instance. For more information, see Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions in the in the Amazon EC2 Auto Scaling User Guide.
*)new_instances_protected_from_scale_in : instance_protected option;Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
*)termination_policies : termination_policies option;A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | NewestInstance | OldestInstance | OldestLaunchConfiguration | OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias
vpc_zone_identifier : xml_string_max_len5000 option;A comma-separated list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. If you specify VPCZoneIdentifier with AvailabilityZones, the subnets that you specify must reside in those Availability Zones.
placement_group : xml_string_max_len255 option;The name of the placement group into which to launch your instances. For more information, see Placement groups in the Amazon EC2 User Guide.
A cluster placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.
*)health_check_grace_period : health_check_grace_period option;The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service and marking it unhealthy due to a failed health check. This is useful if your instances do not immediately pass their health checks after they enter the InService state. For more information, see Set the health check grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
Default: 0 seconds
health_check_type : xml_string_max_len32 option;A comma-separated value string of one or more health check types.
The valid values are EC2, EBS, ELB, and VPC_LATTICE. EC2 is the default health check and cannot be disabled. For more information, see Health checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
Only specify EC2 if you must clear a value that was previously set.
target_group_ar_ns : target_group_ar_ns option;The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
*)load_balancer_names : load_balancer_names option;A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property instead.
availability_zone_ids : availability_zone_ids option;A list of Availability Zone IDs where the Auto Scaling group can launch instances. You cannot specify both AvailabilityZones and AvailabilityZoneIds in the same request.
*)availability_zones : availability_zones option;A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the VPCZoneIdentifier property, or for attaching a network interface when an existing network interface ID is specified in a launch template.
default_cooldown : cooldown option;Only needed if you use simple scaling policies.
The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
Default: 300 seconds
desired_capacity : auto_scaling_group_desired_capacity option;The desired capacity is the initial capacity of the Auto Scaling group at the time of its creation and the capacity it attempts to maintain. It can scale beyond this capacity if you configure auto scaling. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group. If you do not specify a desired capacity, the default is the minimum size of the group.
*)max_size : auto_scaling_group_max_size;The maximum size of the group.
With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more than your largest instance weight (weights that define how many units each instance contributes to the desired capacity of the group).
min_size : auto_scaling_group_min_size;The minimum size of the group.
*)instance_id : xml_string_max_len19 option;The ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling uses the configuration values from the specified instance to create a new launch configuration. To get the instance ID, use the Amazon EC2 DescribeInstances API operation. For more information, see Create an Auto Scaling group using parameters from an existing instance in the Amazon EC2 Auto Scaling User Guide.
*)mixed_instances_policy : mixed_instances_policy option;The mixed instances policy. For more information, see Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.
*)launch_template : launch_template_specification option;Information used to specify the launch template and version to use to launch instances.
Conditional: You must specify either a launch template (LaunchTemplate or MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or InstanceId).
The launch template that is specified must be configured for use with an Auto Scaling group. For more information, see Create a launch template for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
*)launch_configuration_name : xml_string_max_len255 option;The name of the launch configuration to use to launch instances.
Conditional: You must specify either a launch template (LaunchTemplate or MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or InstanceId).
auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group. This name must be unique per Region per account.
The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and upper and lowercased letters.
You cannot use a colon (:) in the name.
*)}type nonrec complete_lifecycle_action_type = {instance_id : xml_string_max_len19 option;The ID of the instance.
*)lifecycle_action_result : lifecycle_action_result;The action for the group to take. You can specify either CONTINUE or ABANDON.
lifecycle_action_token : lifecycle_action_token option;A universally unique identifier (UUID) that identifies a specific lifecycle action associated with an instance. Amazon EC2 Auto Scaling sends this token to the notification target you specified when you created the lifecycle hook.
*)auto_scaling_group_name : resource_name;The name of the Auto Scaling group.
*)lifecycle_hook_name : ascii_string_max_len255;The name of the lifecycle hook.
*)}type nonrec cancel_instance_refresh_type = {wait_for_transitioning_instances : boolean_type option;When cancelling an instance refresh, this indicates whether to wait for in-flight launches and terminations to complete. The default is true.
When set to false, Amazon EC2 Auto Scaling cancels the instance refresh without waiting for any pending launches or terminations to complete.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec cancel_instance_refresh_answer = {instance_refresh_id : xml_string_max_len255 option;The instance refresh ID associated with the request. This is the unique ID assigned to the instance refresh when it was started.
*)}type nonrec batch_put_scheduled_update_group_action_type = {scheduled_update_group_actions : scheduled_update_group_action_requests;One or more scheduled actions. The maximum number allowed is 50.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec batch_put_scheduled_update_group_action_answer = {failed_scheduled_update_group_actions : failed_scheduled_update_group_action_requests
option;The names of the scheduled actions that could not be created or updated, including an error message.
*)}type nonrec batch_delete_scheduled_action_type = {scheduled_action_names : scheduled_action_names;The names of the scheduled actions to delete. The maximum number allowed is 50.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec batch_delete_scheduled_action_answer = {failed_scheduled_actions : failed_scheduled_update_group_action_requests option;The names of the scheduled actions that could not be deleted, including an error message.
*)}type nonrec attach_traffic_sources_type = {skip_zonal_shift_validation : skip_zonal_shift_validation option;If you enable zonal shift with cross-zone disabled load balancers, capacity could become imbalanced across Availability Zones. To skip the validation, specify true. For more information, see Auto Scaling group zonal shift in the Amazon EC2 Auto Scaling User Guide.
traffic_sources : traffic_sources;The unique identifiers of one or more traffic sources. You can specify up to 10 traffic sources.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec attach_load_balancer_target_groups_type = {target_group_ar_ns : target_group_ar_ns;The Amazon Resource Names (ARNs) of the target groups. You can specify up to 10 target groups. To get the ARN of a target group, use the Elastic Load Balancing DescribeTargetGroups API operation.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec attach_load_balancers_type = {load_balancer_names : load_balancer_names;The names of the load balancers. You can specify up to 10 load balancers.
*)auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)}type nonrec attach_instances_query = {auto_scaling_group_name : xml_string_max_len255;The name of the Auto Scaling group.
*)instance_ids : instance_ids option;The IDs of the instances. You can specify up to 20 instances.
*)}