. * * @package LibreNMS * @link http://librenms.org * @copyright 2018 Tony Murray * @author Tony Murray */ namespace LibreNMS\Interfaces; use LibreNMS\OS; interface Module { /** * Discover this module. Heavier processes can be run here * Run infrequently (default 4 times a day) * * @param OS $os */ public function discover(OS $os); /** * Poll data for this module and update the DB / RRD. * Try to keep this efficient and only run if discovery has indicated there is a reason to run. * Run frequently (default every 5 minutes) * * @param OS $os */ public function poll(OS $os); /** * Remove all DB data for this module. * This will be run when the module is disabled. * * @param OS $os */ public function cleanup(OS $os); }