Skip to content

detach_internet_gateway async

detach_internet_gateway(
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    dry_run: Optional[Boolean] = None,
    internet_gateway_id: Optional[InternetGatewayId] = None,
    vpc_id: Optional[VpcId] = None,
) -> None

Detaches an internet gateway from a VPC, disabling connectivity between the internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses or public IPv4 addresses.

Parameters:

  • dry_run (Optional[Boolean], default: None ) –

    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 DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • internet_gateway_id (Optional[InternetGatewayId], default: None ) –

    The ID of the internet gateway.

  • vpc_id (Optional[VpcId], default: None ) –

    The ID of the VPC.

Raises:

Examples:

To detach an Internet gateway from a VPC This example detaches the specified Internet gateway from the specified VPC.

>>> await client.detach_internet_gateway(internet_gateway_id='igw-c0a643a9', vpc_id='vpc-a01106c2')
Source code in docs_src/capo_ec2/_services/async_ec2.py
async def detach_internet_gateway(
    self,
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
    internet_gateway_id: Optional[
        "capo_ec2.types.internet_gateway_id.InternetGatewayId"
    ] = None,
    vpc_id: Optional["capo_ec2.types.vpc_id.VpcId"] = None,
) -> None:
    """<p>Detaches an internet gateway from a VPC, disabling connectivity between the internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses or public IPv4 addresses.</p>

    Args:
        dry_run: <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>
        internet_gateway_id: <p>The ID of the internet gateway.</p>
        vpc_id: <p>The ID of the VPC.</p>

    Raises:
        capo_ec2.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        To detach an Internet gateway from a VPC
        This example detaches the specified Internet gateway from the specified VPC.

        >>> await client.detach_internet_gateway(internet_gateway_id='igw-c0a643a9', vpc_id='vpc-a01106c2')
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_ec2.types.detach_internet_gateway_request.DetachInternetGatewayRequest]",
    ) -> AsyncOperationResponse[None]:
        import capo_ec2._operations.amazon_ec2.detach_internet_gateway

        (
            output,
            http_response,
        ) = await capo_ec2._operations.amazon_ec2.detach_internet_gateway.async_detach_internet_gateway(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DetachInternetGateway")
    )
    input_: capo_ec2.types.detach_internet_gateway_request.DetachInternetGatewayRequest = {}
    if dry_run is not None:
        input_["dry_run"] = dry_run
    if internet_gateway_id is not None:
        input_["internet_gateway_id"] = internet_gateway_id
    if vpc_id is not None:
        input_["vpc_id"] = vpc_id

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output