aws_sdk_autoscaling/client/
launch_instances.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`LaunchInstances`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`auto_scaling_group_name(impl Into<String>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::auto_scaling_group_name) / [`set_auto_scaling_group_name(Option<String>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::set_auto_scaling_group_name):<br>required: **true**<br><p>The name of the Auto Scaling group to launch instances into.</p><br>
7    ///   - [`requested_capacity(i32)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::requested_capacity) / [`set_requested_capacity(Option<i32>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::set_requested_capacity):<br>required: **true**<br><p>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.</p><br>
8    ///   - [`client_token(impl Into<String>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::set_client_token):<br>required: **true**<br><p>A unique, case-sensitive identifier to ensure idempotency of the request.</p><br>
9    ///   - [`availability_zones(impl Into<String>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::availability_zones) / [`set_availability_zones(Option<Vec::<String>>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::set_availability_zones):<br>required: **false**<br><p>The Availability Zones for the instance launch. Must match or be included in the Auto Scaling group's Availability Zone configuration. Either <code>AvailabilityZones</code> or <code>SubnetIds</code> must be specified for groups with multiple Availability Zone configurations.</p><br>
10    ///   - [`availability_zone_ids(impl Into<String>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::availability_zone_ids) / [`set_availability_zone_ids(Option<Vec::<String>>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::set_availability_zone_ids):<br>required: **false**<br><p>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.</p><br>
11    ///   - [`subnet_ids(impl Into<String>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::subnet_ids) / [`set_subnet_ids(Option<Vec::<String>>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::set_subnet_ids):<br>required: **false**<br><p>The subnet IDs for the instance launch. Either <code>AvailabilityZones</code> or <code>SubnetIds</code> must be specified. If both are specified, the subnets must reside in the specified Availability Zones.</p><br>
12    ///   - [`retry_strategy(RetryStrategy)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::retry_strategy) / [`set_retry_strategy(Option<RetryStrategy>)`](crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::set_retry_strategy):<br>required: **false**<br><p>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).</p><br>
13    /// - On success, responds with [`LaunchInstancesOutput`](crate::operation::launch_instances::LaunchInstancesOutput) with field(s):
14    ///   - [`auto_scaling_group_name(Option<String>)`](crate::operation::launch_instances::LaunchInstancesOutput::auto_scaling_group_name): <p>The name of the Auto Scaling group where the instances were launched.</p>
15    ///   - [`client_token(Option<String>)`](crate::operation::launch_instances::LaunchInstancesOutput::client_token): <p>The idempotency token used for the request, either customer-specified or auto-generated.</p>
16    ///   - [`instances(Option<Vec::<InstanceCollection>>)`](crate::operation::launch_instances::LaunchInstancesOutput::instances): <p>A list of successfully launched instances including details such as instance type, Availability Zone, subnet, lifecycle state, and instance IDs.</p>
17    ///   - [`errors(Option<Vec::<LaunchInstancesError>>)`](crate::operation::launch_instances::LaunchInstancesOutput::errors): <p>A list of errors encountered during the launch attempt including details about failed instance launches with their corresponding error codes and messages.</p>
18    /// - On failure, responds with [`SdkError<LaunchInstancesError>`](crate::operation::launch_instances::LaunchInstancesError)
19    pub fn launch_instances(&self) -> crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder {
20        crate::operation::launch_instances::builders::LaunchInstancesFluentBuilder::new(self.handle.clone())
21    }
22}