View .md

VdsNodeEvent events

10 FeatherPanel plugin events on VdsNodeEvent (10 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 VdsNodeEvent 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\VdsNodeEvent;

class MyPlugin implements AppPlugin
{
    public static function processEvents(PluginEvents $event): void
    {
        $event->on(VdsNodeEvent::onVdsNodeCreated(), function ($userUuid, $vmNodeId, $vmNode, $context): void {
            App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:node:create ' . json_encode(['user_uuid' => $userUuid, 'vm_node_id' => $vmNodeId, 'vm_node' => $vmNode, 'context' => $context]));
        });
    }

    public static function pluginInstall(): void
    {
    }

    public static function pluginUninstall(): void
    {
    }
}

VdsNodeEvent::onVdsNodeCreated()

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

Docblock: string|null user uuid, int vm node id, array node payload, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vm_node_id$vmNodeIdint
3vm_node$vmNodearrayfrom docblock
4context$contextarray
When it fires (1 site)
$event->on(VdsNodeEvent::onVdsNodeCreated(), function ($userUuid, $vmNodeId, $vmNode, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:node:create ' . json_encode(['user_uuid' => $userUuid, 'vm_node_id' => $vmNodeId, 'vm_node' => $vmNode, 'context' => $context]));
});

VdsNodeEvent::onVdsNodeDeleted()

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

Docblock: string|null user uuid, int vm node id, array node payload, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vm_node_id$vmNodeIdint
3vm_node$vmNodearrayfrom docblock
4context$contextarray
When it fires (1 site)
$event->on(VdsNodeEvent::onVdsNodeDeleted(), function ($userUuid, $vmNodeId, $vmNode, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:node:delete ' . json_encode(['user_uuid' => $userUuid, 'vm_node_id' => $vmNodeId, 'vm_node' => $vmNode, 'context' => $context]));
});

VdsNodeEvent::onVdsNodeIpCreated()

Name: featherpanel:vds:node:ip:createemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vm node id, int ip id, array ip payload, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vm_node_id$vmNodeIdint
3ip_id$ipIdint
4ip$iparrayfrom docblock
5context$contextarray
When it fires (1 site)
$event->on(VdsNodeEvent::onVdsNodeIpCreated(), function ($userUuid, $vmNodeId, $ipId, $ip, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:node:ip:create ' . json_encode(['user_uuid' => $userUuid, 'vm_node_id' => $vmNodeId, 'ip_id' => $ipId, 'ip' => $ip, 'context' => $context]));
});

VdsNodeEvent::onVdsNodeIpDeleted()

Name: featherpanel:vds:node:ip:deleteemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vm node id, int ip id, array ip payload, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vm_node_id$vmNodeIdint
3ip_id$ipIdint
4ip$iparrayfrom docblock
5context$contextarray
When it fires (1 site)
$event->on(VdsNodeEvent::onVdsNodeIpDeleted(), function ($userUuid, $vmNodeId, $ipId, $ip, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:node:ip:delete ' . json_encode(['user_uuid' => $userUuid, 'vm_node_id' => $vmNodeId, 'ip_id' => $ipId, 'ip' => $ip, 'context' => $context]));
});

VdsNodeEvent::onVdsNodeIpPrimarySet()

Name: featherpanel:vds:node:ip:primaryemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vm node id, int ip id, array ip payload, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vm_node_id$vmNodeIdint
3ip_id$ipIdint
4ip$iparrayfrom docblock
5context$contextarray
When it fires (1 site)
$event->on(VdsNodeEvent::onVdsNodeIpPrimarySet(), function ($userUuid, $vmNodeId, $ipId, $ip, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:node:ip:primary ' . json_encode(['user_uuid' => $userUuid, 'vm_node_id' => $vmNodeId, 'ip_id' => $ipId, 'ip' => $ip, 'context' => $context]));
});

VdsNodeEvent::onVdsNodeIpUpdated()

Name: featherpanel:vds:node:ip:updateemitted at 1 siteCancel or modify: nodefinition

Docblock: string|null user uuid, int vm node id, int ip id, array ip payload, array changed fields, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vm_node_id$vmNodeIdint
3ip_id$ipIdint
4ip$iparrayfrom docblock
5changed_fields$changedFieldsarray
6context$contextarray
When it fires (1 site)
$event->on(VdsNodeEvent::onVdsNodeIpUpdated(), function ($userUuid, $vmNodeId, $ipId, $ip, $changedFields, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:node:ip:update ' . json_encode(['user_uuid' => $userUuid, 'vm_node_id' => $vmNodeId, 'ip_id' => $ipId, 'ip' => $ip, 'changed_fields' => $changedFields, 'context' => $context]));
});

VdsNodeEvent::onVdsNodeUpdated()

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

Docblock: string|null user uuid, int vm node id, array node payload, array changed fields, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2vm_node_id$vmNodeIdint
3vm_node$vmNodearrayfrom docblock
4changed_fields$changedFieldsarray
5context$contextarray
When it fires (1 site)
$event->on(VdsNodeEvent::onVdsNodeUpdated(), function ($userUuid, $vmNodeId, $vmNode, $changedFields, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:node:update ' . json_encode(['user_uuid' => $userUuid, 'vm_node_id' => $vmNodeId, 'vm_node' => $vmNode, 'changed_fields' => $changedFields, 'context' => $context]));
});

VdsNodeEvent::onVdsTemplateCreated()

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

Docblock: string|null user uuid, int template id, int vm node id, array template payload, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2template_id$templateIdintfrom docblock
3vm_node_id$vmNodeIdint
4template$templatearrayfrom docblock
5context$contextarray
When it fires (1 site)
$event->on(VdsNodeEvent::onVdsTemplateCreated(), function ($userUuid, $templateId, $vmNodeId, $template, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:template:create ' . json_encode(['user_uuid' => $userUuid, 'template_id' => $templateId, 'vm_node_id' => $vmNodeId, 'template' => $template, 'context' => $context]));
});

VdsNodeEvent::onVdsTemplateDeleted()

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

Docblock: string|null user uuid, int template id, int vm node id, array template payload, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2template_id$templateIdint
3vm_node_id$vmNodeIdintfrom docblock
4template$templatearrayfrom docblock
5context$contextarray
When it fires (1 site)
$event->on(VdsNodeEvent::onVdsTemplateDeleted(), function ($userUuid, $templateId, $vmNodeId, $template, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:template:delete ' . json_encode(['user_uuid' => $userUuid, 'template_id' => $templateId, 'vm_node_id' => $vmNodeId, 'template' => $template, 'context' => $context]));
});

VdsNodeEvent::onVdsTemplateUpdated()

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

Docblock: string|null user uuid, int template id, int vm node id, array template payload, array changed fields, array context.

#Payload keyListener parameterType
1user_uuid$userUuidstring|nullfrom docblock
2template_id$templateIdint
3vm_node_id$vmNodeIdintfrom docblock
4template$templatearrayfrom docblock
5changed_fields$changedFieldsarray
6context$contextarray
When it fires (1 site)
$event->on(VdsNodeEvent::onVdsTemplateUpdated(), function ($userUuid, $templateId, $vmNodeId, $template, $changedFields, $context): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:vds:template:update ' . json_encode(['user_uuid' => $userUuid, 'template_id' => $templateId, 'vm_node_id' => $vmNodeId, 'template' => $template, 'changed_fields' => $changedFields, 'context' => $context]));
});