// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`DetachInternetGateway`](crate::operation::detach_internet_gateway::builders::DetachInternetGatewayFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`dry_run(bool)`](crate::operation::detach_internet_gateway::builders::DetachInternetGatewayFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::detach_internet_gateway::builders::DetachInternetGatewayFluentBuilder::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>
/// - [`internet_gateway_id(impl Into<String>)`](crate::operation::detach_internet_gateway::builders::DetachInternetGatewayFluentBuilder::internet_gateway_id) / [`set_internet_gateway_id(Option<String>)`](crate::operation::detach_internet_gateway::builders::DetachInternetGatewayFluentBuilder::set_internet_gateway_id):<br>required: **true**<br><p>The ID of the internet gateway.</p><br>
/// - [`vpc_id(impl Into<String>)`](crate::operation::detach_internet_gateway::builders::DetachInternetGatewayFluentBuilder::vpc_id) / [`set_vpc_id(Option<String>)`](crate::operation::detach_internet_gateway::builders::DetachInternetGatewayFluentBuilder::set_vpc_id):<br>required: **true**<br><p>The ID of the VPC.</p><br>
/// - On success, responds with [`DetachInternetGatewayOutput`](crate::operation::detach_internet_gateway::DetachInternetGatewayOutput)
/// - On failure, responds with [`SdkError<DetachInternetGatewayError>`](crate::operation::detach_internet_gateway::DetachInternetGatewayError)
pub fn detach_internet_gateway(&self) -> crate::operation::detach_internet_gateway::builders::DetachInternetGatewayFluentBuilder {
crate::operation::detach_internet_gateway::builders::DetachInternetGatewayFluentBuilder::new(self.handle.clone())
}
}