. * * @package LibreNMS * @link http://librenms.org * @copyright 2019 KanREN, Inc. * @author Heath Barnhart */ namespace LibreNMS\Snmptrap\Handlers; use App\Models\Device; use LibreNMS\Interfaces\SnmptrapHandler; use LibreNMS\Snmptrap\Handlers\VmwTrapUtil; use LibreNMS\Snmptrap\Trap; use Log; class VmwVmPoweredOff implements SnmptrapHandler { /** * Handle snmptrap. * Data is pre-parsed and delivered as a Trap. * * @param Device $device * @param Trap $trap * @return void */ public function handle(Device $device, Trap $trap) { $vmGuestName = VmwTrapUtil::getGuestName($trap); $vminfo = $device->vminfo()->where('vmwVmDisplayName', $vmGuestName)->first(); $vminfo->vmwVmState = "powered off"; Log::event("Guest $vmGuestName was powered off", $device->device_id, 'trap', 2); $vminfo->save(); } }