// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`ModifySubnetAttribute`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`assign_ipv6_address_on_creation(AttributeBooleanValue)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::assign_ipv6_address_on_creation) / [`set_assign_ipv6_address_on_creation(Option<AttributeBooleanValue>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::set_assign_ipv6_address_on_creation):<br>required: **false**<br><p>Specify <code>true</code> to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. This includes a network interface that's created when launching an instance into the subnet (the instance therefore receives an IPv6 address). </p> <p>If you enable the IPv6 addressing feature for your subnet, your network interface or instance only receives an IPv6 address if it's created using version <code>2016-11-15</code> or later of the Amazon EC2 API.</p><br>
/// - [`map_public_ip_on_launch(AttributeBooleanValue)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::map_public_ip_on_launch) / [`set_map_public_ip_on_launch(Option<AttributeBooleanValue>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::set_map_public_ip_on_launch):<br>required: **false**<br><p>Specify <code>true</code> to indicate that network interfaces attached to instances created in the specified subnet should be assigned a public IPv4 address.</p><br>
/// - [`subnet_id(impl Into<String>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::subnet_id) / [`set_subnet_id(Option<String>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::set_subnet_id):<br>required: **true**<br><p>The ID of the subnet.</p><br>
/// - [`map_customer_owned_ip_on_launch(AttributeBooleanValue)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::map_customer_owned_ip_on_launch) / [`set_map_customer_owned_ip_on_launch(Option<AttributeBooleanValue>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::set_map_customer_owned_ip_on_launch):<br>required: **false**<br><p>Specify <code>true</code> to indicate that network interfaces attached to instances created in the specified subnet should be assigned a customer-owned IPv4 address.</p> <p>When this value is <code>true</code>, you must specify the customer-owned IP pool using <code>CustomerOwnedIpv4Pool</code>.</p><br>
/// - [`customer_owned_ipv4_pool(impl Into<String>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::customer_owned_ipv4_pool) / [`set_customer_owned_ipv4_pool(Option<String>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::set_customer_owned_ipv4_pool):<br>required: **false**<br><p>The customer-owned IPv4 address pool associated with the subnet.</p> <p>You must set this value when you specify <code>true</code> for <code>MapCustomerOwnedIpOnLaunch</code>.</p><br>
/// - [`enable_dns64(AttributeBooleanValue)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::enable_dns64) / [`set_enable_dns64(Option<AttributeBooleanValue>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::set_enable_dns64):<br>required: **false**<br><p>Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.</p><br>
/// - [`private_dns_hostname_type_on_launch(HostnameType)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::private_dns_hostname_type_on_launch) / [`set_private_dns_hostname_type_on_launch(Option<HostnameType>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::set_private_dns_hostname_type_on_launch):<br>required: **false**<br><p>The type of hostname to assign to instances in the subnet at launch. For IPv4-only and dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6 only subnets, an instance DNS name must be based on the instance ID (resource-name).</p><br>
/// - [`enable_resource_name_dns_a_record_on_launch(AttributeBooleanValue)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::enable_resource_name_dns_a_record_on_launch) / [`set_enable_resource_name_dns_a_record_on_launch(Option<AttributeBooleanValue>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::set_enable_resource_name_dns_a_record_on_launch):<br>required: **false**<br><p>Indicates whether to respond to DNS queries for instance hostnames with DNS A records.</p><br>
/// - [`enable_resource_name_dns_aaaa_record_on_launch(AttributeBooleanValue)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::enable_resource_name_dns_aaaa_record_on_launch) / [`set_enable_resource_name_dns_aaaa_record_on_launch(Option<AttributeBooleanValue>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::set_enable_resource_name_dns_aaaa_record_on_launch):<br>required: **false**<br><p>Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.</p><br>
/// - [`enable_lni_at_device_index(i32)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::enable_lni_at_device_index) / [`set_enable_lni_at_device_index(Option<i32>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::set_enable_lni_at_device_index):<br>required: **false**<br><p> Indicates the device position for local network interfaces in this subnet. For example, <code>1</code> indicates local network interfaces in this subnet are the secondary network interface (eth1). A local network interface cannot be the primary network interface (eth0). </p><br>
/// - [`disable_lni_at_device_index(AttributeBooleanValue)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::disable_lni_at_device_index) / [`set_disable_lni_at_device_index(Option<AttributeBooleanValue>)`](crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::set_disable_lni_at_device_index):<br>required: **false**<br><p> Specify <code>true</code> to indicate that local network interfaces at the current position should be disabled. </p><br>
/// - On success, responds with [`ModifySubnetAttributeOutput`](crate::operation::modify_subnet_attribute::ModifySubnetAttributeOutput)
/// - On failure, responds with [`SdkError<ModifySubnetAttributeError>`](crate::operation::modify_subnet_attribute::ModifySubnetAttributeError)
pub fn modify_subnet_attribute(&self) -> crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder {
crate::operation::modify_subnet_attribute::builders::ModifySubnetAttributeFluentBuilder::new(self.handle.clone())
}
}