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}