// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`SetSubnets`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`load_balancer_arn(impl Into<String>)`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::load_balancer_arn) / [`set_load_balancer_arn(Option<String>)`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::set_load_balancer_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the load balancer.</p><br>
/// - [`subnets(impl Into<String>)`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::subnets) / [`set_subnets(Option<Vec::<String>>)`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::set_subnets):<br>required: **false**<br><p>The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.</p> <p>[Application Load Balancers] You must specify subnets from at least two Availability Zones.</p> <p>[Application Load Balancers on Outposts] You must specify one Outpost subnet.</p> <p>[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.</p> <p>[Network Load Balancers] You can specify subnets from one or more Availability Zones.</p> <p>[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.</p><br>
/// - [`subnet_mappings(SubnetMapping)`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::subnet_mappings) / [`set_subnet_mappings(Option<Vec::<SubnetMapping>>)`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::set_subnet_mappings):<br>required: **false**<br><p>The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.</p> <p>[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.</p> <p>[Application Load Balancers on Outposts] You must specify one Outpost subnet.</p> <p>[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.</p> <p>[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.</p> <p>[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.</p><br>
/// - [`ip_address_type(IpAddressType)`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::ip_address_type) / [`set_ip_address_type(Option<IpAddressType>)`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::set_ip_address_type):<br>required: **false**<br><p>[Network Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are <code>ipv4</code> (for IPv4 addresses) and <code>dualstack</code> (for IPv4 and IPv6 addresses). You can’t specify <code>dualstack</code> for a load balancer with a UDP or TCP_UDP listener.</p> <p>[Gateway Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are <code>ipv4</code> (for IPv4 addresses) and <code>dualstack</code> (for IPv4 and IPv6 addresses).</p><br>
/// - On success, responds with [`SetSubnetsOutput`](crate::operation::set_subnets::SetSubnetsOutput) with field(s):
/// - [`availability_zones(Option<Vec::<AvailabilityZone>>)`](crate::operation::set_subnets::SetSubnetsOutput::availability_zones): <p>Information about the subnets.</p>
/// - [`ip_address_type(Option<IpAddressType>)`](crate::operation::set_subnets::SetSubnetsOutput::ip_address_type): <p>[Network Load Balancers] The IP address type.</p> <p>[Gateway Load Balancers] The IP address type.</p>
/// - On failure, responds with [`SdkError<SetSubnetsError>`](crate::operation::set_subnets::SetSubnetsError)
pub fn set_subnets(&self) -> crate::operation::set_subnets::builders::SetSubnetsFluentBuilder {
crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::new(self.handle.clone())
}
}