aws-sdk-ec2 1.273.0

AWS SDK for Amazon Elastic Compute Cloud
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`ModifyTransitGatewayAttachmentNatConfiguration`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`transit_gateway_attachment_id(impl Into<String>)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::transit_gateway_attachment_id) / [`set_transit_gateway_attachment_id(Option<String>)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::set_transit_gateway_attachment_id):<br>required: **true**<br><p>The ID of the transit gateway attachment.</p><br>
    ///   - [`nat_gateway_support(TransitGatewayAttachmentNatGatewaySupportValue)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::nat_gateway_support) / [`set_nat_gateway_support(Option<TransitGatewayAttachmentNatGatewaySupportValue>)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::set_nat_gateway_support):<br>required: **false**<br><p>Specifies whether to enable or disable NAT gateway support for the attachment. To enable NAT gateway support, the attachment must have at least one NAT gateway rule. You can't modify the NAT configuration while NAT gateway support is <code>enabling</code> or <code>disabling</code>. If you omit this parameter, the current value doesn't change.</p><br>
    ///   - [`nat_system_route_support(TransitGatewayAttachmentNatSystemRouteSupportValue)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::nat_system_route_support) / [`set_nat_system_route_support(Option<TransitGatewayAttachmentNatSystemRouteSupportValue>)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::set_nat_system_route_support):<br>required: **false**<br><p>Specifies whether the transit gateway installs routes for the NAT CIDRs in the route tables to which the attachment propagates. For VPC attachments, the transit gateway always installs these routes. You can enable or disable this option only for Amazon Web Services Direct Connect gateway attachments and Site-to-Site VPN attachments that use dynamic routing. For these attachments, the default is <code>enable</code>. If you omit this parameter, the current value doesn't change.</p><br>
    ///   - [`nat_gateway_rules(TransitGatewayNatRuleRequest)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::nat_gateway_rules) / [`set_nat_gateway_rules(Option<Vec::<TransitGatewayNatRuleRequest>>)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::set_nat_gateway_rules):<br>required: **false**<br><p>The NAT gateway rules for the attachment. The rules that you specify replace all existing NAT gateway rules for the attachment. You can specify up to 50 rules for an attachment. If you omit this parameter, the existing rules don't change. To remove all rules, use <code>ResetNatGatewayRules</code>.</p><br>
    ///   - [`reset_nat_gateway_rules(bool)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::reset_nat_gateway_rules) / [`set_reset_nat_gateway_rules(Option<bool>)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::set_reset_nat_gateway_rules):<br>required: **false**<br><p>Specifies whether to remove all NAT gateway rules from the attachment. If you omit this parameter, the transit gateway doesn't remove any rules. You can't specify this parameter together with <code>NatGatewayRules</code>. Because you can't enable NAT gateway support without rules, also set <code>NatGatewaySupport</code> to <code>disable</code> in the same request if NAT gateway support is currently enabled.</p><br>
    ///   - [`dry_run(bool)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::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 [`ModifyTransitGatewayAttachmentNatConfigurationOutput`](crate::operation::modify_transit_gateway_attachment_nat_configuration::ModifyTransitGatewayAttachmentNatConfigurationOutput) with field(s):
    ///   - [`transit_gateway_attachment_id(Option<String>)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::ModifyTransitGatewayAttachmentNatConfigurationOutput::transit_gateway_attachment_id): <p>The ID of the transit gateway attachment.</p>
    ///   - [`nat_gateway_support(Option<TransitGatewayAttachmentNatGatewaySupportState>)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::ModifyTransitGatewayAttachmentNatConfigurationOutput::nat_gateway_support): <p>The state of NAT gateway support for the attachment.</p>
    ///   - [`nat_system_route_support(Option<TransitGatewayAttachmentNatSystemRouteSupportValue>)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::ModifyTransitGatewayAttachmentNatConfigurationOutput::nat_system_route_support): <p>Specifies whether the transit gateway installs routes for the NAT CIDRs in the route tables to which the attachment propagates.</p>
    ///   - [`nat_gateway_rules(Option<Vec::<TransitGatewayNatRule>>)`](crate::operation::modify_transit_gateway_attachment_nat_configuration::ModifyTransitGatewayAttachmentNatConfigurationOutput::nat_gateway_rules): <p>The NAT gateway rules for the attachment.</p>
    /// - On failure, responds with [`SdkError<ModifyTransitGatewayAttachmentNatConfigurationError>`](crate::operation::modify_transit_gateway_attachment_nat_configuration::ModifyTransitGatewayAttachmentNatConfigurationError)
    pub fn modify_transit_gateway_attachment_nat_configuration(
        &self,
    ) -> crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder
    {
        crate::operation::modify_transit_gateway_attachment_nat_configuration::builders::ModifyTransitGatewayAttachmentNatConfigurationFluentBuilder::new(self.handle.clone())
    }
}