def METHOD_NAME(
    self, internet_gateway_id: str, vpc_id: str
) -> VPCGatewayAttachment:
    igw = self.get_internet_gateway(internet_gateway_id)
    if igw.vpc:
        raise ResourceAlreadyAssociatedError(internet_gateway_id)
    vpc = self.get_vpc(vpc_id)  # type: ignore[attr-defined]
    igw.vpc = vpc
    return VPCGatewayAttachment(gateway_id=internet_gateway_id, vpc_id=vpc_id)