View .md

VdsEvent events

17 FeatherPanel plugin events on VdsEvent (17 emitted by the core): the event names, the arguments each listener gets, where they fire and a PHP listener for each.

Last synced from FeatherPanel 15b94e9 on .

On this page

Part of the plugin events reference. Listeners get the payload values as positional arguments in the order shown, cannot cancel the action, and must catch their own exceptions.

Setup

Import VdsEvent in your entry class and register listeners in processEvents():

<?php

namespace App\Addons\myplugin;

use App\App;
use App\Plugins\AppPlugin;
use App\Plugins\PluginEvents;
use App\Plugins\Events\Events\VdsEvent;

class MyPlugin implements AppPlugin
{
    public static function processEvents(PluginEvents $event): void
    {
        $event->on(VdsEvent::onVdsBackupCreated(), function ($userUuid, $vdsId, $vmid, $backupId, $context): void {
            App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:backup:create ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'backup_id' => $backupId, 'context' => $context]));
        });
    }

    public static function pluginInstall(): void
    {
    }

    public static function pluginUninstall(): void
    {
    }
}

VdsEvent::onVdsBackupCreated()

Name: featherpanel:vds:backup:createemitted at 3 sitesCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, string backup id, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidint
4backup_id$backupIdstring
5context$contextarray
When it fires (3 sites)
$event->on(VdsEvent::onVdsBackupCreated(), function ($userUuid, $vdsId, $vmid, $backupId, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:backup:create ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'backup_id' => $backupId, 'context' => $context]));
});

VdsEvent::onVdsBackupDeleted()

Name: featherpanel:vds:backup:deleteemitted at 2 sitesCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, string volid, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidintfrom docblock
4volid$volidstringfrom docblock
5context$contextarray
When it fires (2 sites)
$event->on(VdsEvent::onVdsBackupDeleted(), function ($userUuid, $vdsId, $vmid, $volid, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:backup:delete ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'volid' => $volid, 'context' => $context]));
});

VdsEvent::onVdsBackupRestored()

Name: featherpanel:vds:backup:restoreemitted at 2 sitesCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, string restore id, string volid, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidint
4restore_id$restoreIdstring
5volid$volidstringfrom docblock
6context$contextarray
When it fires (2 sites)
$event->on(VdsEvent::onVdsBackupRestored(), function ($userUuid, $vdsId, $vmid, $restoreId, $volid, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:backup:restore ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'restore_id' => $restoreId, 'volid' => $volid, 'context' => $context]));
});

VdsEvent::onVdsConsoleAccessed()

Name: featherpanel:vds:console:accessemitted at 2 sitesCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidintfrom docblock
4context$contextarray
When it fires (2 sites)
$event->on(VdsEvent::onVdsConsoleAccessed(), function ($userUuid, $vdsId, $vmid, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:console:access ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'context' => $context]));
});

VdsEvent::onVdsCreated()

Name: featherpanel:vds:createdemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, array context. (the emitter passes 5 values, see the table)

#Payload keyListener parameterType
1user_uuid$userUuidnot declared
2vds_id$vdsIdnull
3vmid$vmidnot declared
4creation_id$creationIdnot declared
5context$contextarray
When it fires (1 site)
$event->on(VdsEvent::onVdsCreated(), function ($userUuid, $vdsId, $vmid, $creationId, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:created ' . json_encode(['context' => $context]));
});

VdsEvent::onVdsDeleted()

Name: featherpanel:vds:deletedemitted at 4 sitesCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidint
4context$contextarray
When it fires (4 sites)
$event->on(VdsEvent::onVdsDeleted(), function ($userUuid, $vdsId, $vmid, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:deleted ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'context' => $context]));
});

VdsEvent::onVdsIsoMounted()

Name: featherpanel:vds:iso:mountemitted at 2 sitesCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, string volid, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidint
4volid$volidnull
5context$contextarray
When it fires (2 sites)
$event->on(VdsEvent::onVdsIsoMounted(), function ($userUuid, $vdsId, $vmid, $volid, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:iso:mount ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'context' => $context]));
});

VdsEvent::onVdsIsoUnmounted()

Name: featherpanel:vds:iso:unmountemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdintfrom docblock
3vmid$vmidintfrom docblock
4context$contextarray
When it fires (1 site)
$event->on(VdsEvent::onVdsIsoUnmounted(), function ($userUuid, $vdsId, $vmid, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:iso:unmount ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'context' => $context]));
});

VdsEvent::onVdsNetworkUpdated()

Name: featherpanel:vds:network:updateemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, array dns/network payload, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidintfrom docblock
4changes$changesarray
5context$contextarray
When it fires (1 site)
$event->on(VdsEvent::onVdsNetworkUpdated(), function ($userUuid, $vdsId, $vmid, $changes, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:network:update ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'changes' => $changes, 'context' => $context]));
});

VdsEvent::onVdsPowerAction()

Name: featherpanel:vds:power:actionemitted at 3 sitesCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, string action, string task id, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidint
4action$actionbool
5task_id$taskIdstring
6context$contextarray
When it fires (3 sites)
$event->on(VdsEvent::onVdsPowerAction(), function ($userUuid, $vdsId, $vmid, $action, $taskId, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:power:action ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'action' => $action, 'task_id' => $taskId, 'context' => $context]));
});

VdsEvent::onVdsQemuHardwareUpdated()

Name: featherpanel:vds:qemu:hardware:updateemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, array qemu payload, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidintfrom docblock
4changes$changesarray
5context$contextarray
When it fires (1 site)
$event->on(VdsEvent::onVdsQemuHardwareUpdated(), function ($userUuid, $vdsId, $vmid, $changes, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:qemu:hardware:update ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'changes' => $changes, 'context' => $context]));
});

VdsEvent::onVdsReinstalled()

Name: featherpanel:vds:reinstallemitted at 2 sitesCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, string reinstall id, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidintfrom docblock
4reinstall_id$reinstallIdstringfrom docblock
5context$contextarray
When it fires (2 sites)
$event->on(VdsEvent::onVdsReinstalled(), function ($userUuid, $vdsId, $vmid, $reinstallId, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:reinstall ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'reinstall_id' => $reinstallId, 'context' => $context]));
});

VdsEvent::onVdsSubuserCreated()

Name: featherpanel:vds:subuser:createemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, int subuser id, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidintfrom docblock
4subuser_id$subuserIdintfrom docblock
5context$contextarray
When it fires (1 site)
$event->on(VdsEvent::onVdsSubuserCreated(), function ($userUuid, $vdsId, $vmid, $subuserId, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:subuser:create ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'subuser_id' => $subuserId, 'context' => $context]));
});

VdsEvent::onVdsSubuserDeleted()

Name: featherpanel:vds:subuser:deleteemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, int subuser id, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidintfrom docblock
4subuser_id$subuserIdint
5context$contextarray
When it fires (1 site)
$event->on(VdsEvent::onVdsSubuserDeleted(), function ($userUuid, $vdsId, $vmid, $subuserId, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:subuser:delete ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'subuser_id' => $subuserId, 'context' => $context]));
});

VdsEvent::onVdsSuspended()

Name: featherpanel:vds:suspendedemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidintfrom docblock
4context$contextarray
When it fires (1 site)
$event->on(VdsEvent::onVdsSuspended(), function ($userUuid, $vdsId, $vmid, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:suspended ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'context' => $context]));
});

VdsEvent::onVdsUnsuspended()

Name: featherpanel:vds:unsuspendedemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidintfrom docblock
4context$contextarray
When it fires (1 site)
$event->on(VdsEvent::onVdsUnsuspended(), function ($userUuid, $vdsId, $vmid, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:unsuspended ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'context' => $context]));
});

VdsEvent::onVdsUpdated()

Name: featherpanel:vds:updatedemitted at 2 sitesCancel or modify: nodefinition

Docblock: string|null user uuid, int vds instance id, int vmid, array changed fields, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vds_id$vdsIdint
3vmid$vmidintfrom docblock
4changed_fields$changedFieldsarray
5context$contextarray
When it fires (2 sites)
$event->on(VdsEvent::onVdsUpdated(), function ($userUuid, $vdsId, $vmid, $changedFields, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:updated ' . json_encode(['user_uuid' => $userUuid, 'vds_id' => $vdsId, 'vmid' => $vmid, 'changed_fields' => $changedFields, 'context' => $context]));
});