. * * @link https://www.librenms.org * * @copyright 2017 Robrecht Plaisier * @author Robbrecht Plaisier */ namespace LibreNMS\Interfaces\Alert; interface Transport { /** * @return string The display name of this transport. */ public function name(): string; /** * Gets called when an alert is sent * * @param array $alert_data An array created by DescribeAlert * @param array|true $opts The options from the alert_transports transport_config column * @return mixed Returns if the call was successful * * @throws \LibreNMS\Exceptions\AlertTransportDeliveryException */ public function deliverAlert($alert_data, $opts); /** * @return array */ public static function configTemplate(); /** * Display the configuration details of this alert transport * * @return string */ public function displayDetails(): string; }