1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`DisassociateNatGatewayAddress`](crate::operation::disassociate_nat_gateway_address::builders::DisassociateNatGatewayAddressFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`nat_gateway_id(impl Into<String>)`](crate::operation::disassociate_nat_gateway_address::builders::DisassociateNatGatewayAddressFluentBuilder::nat_gateway_id) / [`set_nat_gateway_id(Option<String>)`](crate::operation::disassociate_nat_gateway_address::builders::DisassociateNatGatewayAddressFluentBuilder::set_nat_gateway_id):<br>required: **true**<br><p>The ID of the NAT gateway.</p><br>
    ///   - [`association_ids(impl Into<String>)`](crate::operation::disassociate_nat_gateway_address::builders::DisassociateNatGatewayAddressFluentBuilder::association_ids) / [`set_association_ids(Option<Vec::<String>>)`](crate::operation::disassociate_nat_gateway_address::builders::DisassociateNatGatewayAddressFluentBuilder::set_association_ids):<br>required: **true**<br><p>The association IDs of EIPs that have been associated with the NAT gateway.</p><br>
    ///   - [`max_drain_duration_seconds(i32)`](crate::operation::disassociate_nat_gateway_address::builders::DisassociateNatGatewayAddressFluentBuilder::max_drain_duration_seconds) / [`set_max_drain_duration_seconds(Option<i32>)`](crate::operation::disassociate_nat_gateway_address::builders::DisassociateNatGatewayAddressFluentBuilder::set_max_drain_duration_seconds):<br>required: **false**<br><p>The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.</p><br>
    ///   - [`dry_run(bool)`](crate::operation::disassociate_nat_gateway_address::builders::DisassociateNatGatewayAddressFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::disassociate_nat_gateway_address::builders::DisassociateNatGatewayAddressFluentBuilder::set_dry_run):<br>required: **false**<br><p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p><br>
    /// - On success, responds with [`DisassociateNatGatewayAddressOutput`](crate::operation::disassociate_nat_gateway_address::DisassociateNatGatewayAddressOutput) with field(s):
    ///   - [`nat_gateway_id(Option<String>)`](crate::operation::disassociate_nat_gateway_address::DisassociateNatGatewayAddressOutput::nat_gateway_id): <p>The ID of the NAT gateway.</p>
    ///   - [`nat_gateway_addresses(Option<Vec::<NatGatewayAddress>>)`](crate::operation::disassociate_nat_gateway_address::DisassociateNatGatewayAddressOutput::nat_gateway_addresses): <p>Information about the NAT gateway IP addresses.</p>
    /// - On failure, responds with [`SdkError<DisassociateNatGatewayAddressError>`](crate::operation::disassociate_nat_gateway_address::DisassociateNatGatewayAddressError)
    pub fn disassociate_nat_gateway_address(
        &self,
    ) -> crate::operation::disassociate_nat_gateway_address::builders::DisassociateNatGatewayAddressFluentBuilder {
        crate::operation::disassociate_nat_gateway_address::builders::DisassociateNatGatewayAddressFluentBuilder::new(self.handle.clone())
    }
}