Skip to content

modify_transit_gateway_vpc_attachment

modify_transit_gateway_vpc_attachment(
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    transit_gateway_attachment_id: Optional[TransitGatewayAttachmentId] = None,
    add_subnet_ids: Optional[TransitGatewaySubnetIdList] = None,
    remove_subnet_ids: Optional[TransitGatewaySubnetIdList] = None,
    options: Optional[ModifyTransitGatewayVpcAttachmentRequestOptions] = None,
    dry_run: Optional[Boolean] = None,
) -> ModifyTransitGatewayVpcAttachmentResult

Modifies the specified VPC attachment.

Parameters:

Raises:

Source code in docs_src/capo_ec2/_services/ec2.py
def modify_transit_gateway_vpc_attachment(
    self,
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    transit_gateway_attachment_id: Optional[
        "capo_ec2.types.transit_gateway_attachment_id.TransitGatewayAttachmentId"
    ] = None,
    add_subnet_ids: Optional[
        "capo_ec2.types.transit_gateway_subnet_id_list.TransitGatewaySubnetIdList"
    ] = None,
    remove_subnet_ids: Optional[
        "capo_ec2.types.transit_gateway_subnet_id_list.TransitGatewaySubnetIdList"
    ] = None,
    options: Optional[
        "capo_ec2.types.modify_transit_gateway_vpc_attachment_request_options.ModifyTransitGatewayVpcAttachmentRequestOptions"
    ] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
) -> "capo_ec2.types.modify_transit_gateway_vpc_attachment_result.ModifyTransitGatewayVpcAttachmentResult":
    """<p>Modifies the specified VPC attachment.</p>

    Args:
        transit_gateway_attachment_id: <p>The ID of the attachment.</p>
        add_subnet_ids: <p>The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.</p>
        remove_subnet_ids: <p>The IDs of one or more subnets to remove.</p>
        options: <p>The new VPC attachment options.</p>
        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>

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

    def _handler(
        req: "OperationRequest[capo_ec2.types.modify_transit_gateway_vpc_attachment_request.ModifyTransitGatewayVpcAttachmentRequest]",
    ) -> OperationResponse[
        "capo_ec2.types.modify_transit_gateway_vpc_attachment_result.ModifyTransitGatewayVpcAttachmentResult"
    ]:
        import capo_ec2._operations.amazon_ec2.modify_transit_gateway_vpc_attachment

        output, http_response = (
            capo_ec2._operations.amazon_ec2.modify_transit_gateway_vpc_attachment.modify_transit_gateway_vpc_attachment(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ModifyTransitGatewayVpcAttachment")
    )
    input_: capo_ec2.types.modify_transit_gateway_vpc_attachment_request.ModifyTransitGatewayVpcAttachmentRequest = {}
    if transit_gateway_attachment_id is not None:
        input_["transit_gateway_attachment_id"] = transit_gateway_attachment_id
    if add_subnet_ids is not None:
        input_["add_subnet_ids"] = add_subnet_ids
    if remove_subnet_ids is not None:
        input_["remove_subnet_ids"] = remove_subnet_ids
    if options is not None:
        input_["options"] = options
    if dry_run is not None:
        input_["dry_run"] = dry_run

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output