aws_sdk_elasticloadbalancingv2/client/
set_subnets.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 [`SetSubnets`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`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>
7    ///   - [`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 and Gateway Load Balancers\] You can specify subnets from one or more Availability Zones.</p><br>
8    ///   - [`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 can't 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>
9    ///   - [`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>The IP address type.</p> <p>\[Application Load Balancers\] The possible values are ipv4 (IPv4 addresses), dualstack (IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (public IPv6 addresses and private IPv4 and IPv6 addresses).</p> <p>\[Network Load Balancers and Gateway Load Balancers\] The possible values are ipv4 (IPv4 addresses) and dualstack (IPv4 and IPv6 addresses).</p><br>
10    ///   - [`enable_prefix_for_ipv6_source_nat(EnablePrefixForIpv6SourceNatEnum)`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::enable_prefix_for_ipv6_source_nat) / [`set_enable_prefix_for_ipv6_source_nat(Option<EnablePrefixForIpv6SourceNatEnum>)`](crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::set_enable_prefix_for_ipv6_source_nat):<br>required: **false**<br><p>\[Network Load Balancers with UDP listeners\] Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be dualstack. The default value is off.</p><br>
11    /// - On success, responds with [`SetSubnetsOutput`](crate::operation::set_subnets::SetSubnetsOutput) with field(s):
12    ///   - [`availability_zones(Option<Vec::<AvailabilityZone>>)`](crate::operation::set_subnets::SetSubnetsOutput::availability_zones): <p>Information about the subnets.</p>
13    ///   - [`ip_address_type(Option<IpAddressType>)`](crate::operation::set_subnets::SetSubnetsOutput::ip_address_type): <p>The IP address type.</p>
14    ///   - [`enable_prefix_for_ipv6_source_nat(Option<EnablePrefixForIpv6SourceNatEnum>)`](crate::operation::set_subnets::SetSubnetsOutput::enable_prefix_for_ipv6_source_nat): <p>\[Network Load Balancers\] Indicates whether to use an IPv6 prefix from each subnet for source NAT.</p>
15    /// - On failure, responds with [`SdkError<SetSubnetsError>`](crate::operation::set_subnets::SetSubnetsError)
16    pub fn set_subnets(&self) -> crate::operation::set_subnets::builders::SetSubnetsFluentBuilder {
17        crate::operation::set_subnets::builders::SetSubnetsFluentBuilder::new(self.handle.clone())
18    }
19}