View .md

ServerEvent events

51 FeatherPanel plugin events on ServerEvent (49 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. 2 of these events are declared but no code emits them yet; they are marked not emitted.

Setup

Import ServerEvent 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\ServerEvent;

class MyPlugin implements AppPlugin
{
    public static function processEvents(PluginEvents $event): void
    {
        $event->on(ServerEvent::onServerAllocationCreated(), function ($userUuid, $serverUuid, $allocationId): void {
            App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:allocation:create ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'allocation_id' => $allocationId]));
        });
    }

    public static function pluginInstall(): void
    {
    }

    public static function pluginUninstall(): void
    {
    }
}

ServerEvent::onServerAllocationCreated()

Name: featherpanel:server:allocation:createemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int allocation id.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3allocation_id$allocationIdintfrom docblock
When it fires (2 sites)
$event->on(ServerEvent::onServerAllocationCreated(), function ($userUuid, $serverUuid, $allocationId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:allocation:create ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'allocation_id' => $allocationId]));
});

ServerEvent::onServerAllocationUpdated()

Name: featherpanel:server:allocation:updatenot emittedCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int allocation id.

$event->on(ServerEvent::onServerAllocationUpdated(), function (...$args): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:allocation:update ' . json_encode($args));
});

No code emits this event yet, so the arguments are unknown. The listener accepts any.

ServerEvent::onServerBackupLocked()

Name: featherpanel:server:backup:lockemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string backup uuid.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3backup_uuid$backupUuidstring
When it fires (1 site)
$event->on(ServerEvent::onServerBackupLocked(), function ($userUuid, $serverUuid, $backupUuid): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:backup:lock ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'backup_uuid' => $backupUuid]));
});

ServerEvent::onServerBackupUnlocked()

Name: featherpanel:server:backup:unlockemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string backup uuid.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3backup_uuid$backupUuidstring
When it fires (1 site)
$event->on(ServerEvent::onServerBackupUnlocked(), function ($userUuid, $serverUuid, $backupUuid): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:backup:unlock ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'backup_uuid' => $backupUuid]));
});

ServerEvent::onServerCreated()

Name: featherpanel:server:createdemitted at 2 sitesCancel or modify: nodefinition

Docblock: int server id, array server data, array created by.

#Payload keyListener parameterType
1server_id$serverIdintfrom docblock
2server_data$serverDataarrayfrom docblock
3created_by$createdByarrayfrom docblock
When it fires (2 sites)
$event->on(ServerEvent::onServerCreated(), function ($serverId, $serverData, $createdBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:created ' . json_encode(['server_id' => $serverId, 'server_data' => $serverData, 'created_by' => $createdBy]));
});

ServerEvent::onServerDeleted()

Name: featherpanel:server:deleteemitted at 3 sites2 payload shapesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid.

#Payload keyListener parameterType
1server$serverstringfrom docblock
2deleted_by$deletedBystringfrom docblock
Arguments passedEmitted from
server, deleted_by
ServersController::delete
ServerUserController::deleteServer
server, deleted_by, hard_delete
ServersController::hardDelete
When it fires (3 sites)
$event->on(ServerEvent::onServerDeleted(), function ($server, $deletedBy, ...$rest): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:delete ' . json_encode(['server' => $server, 'deleted_by' => $deletedBy]));
});

ServerEvent::onServerFileCompressed()

Name: featherpanel:server:file:compressemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string file path.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3file_path$filePathstringfrom docblock
When it fires (2 sites)
$event->on(ServerEvent::onServerFileCompressed(), function ($userUuid, $serverUuid, $filePath): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:file:compress ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_path' => $filePath]));
});

ServerEvent::onServerFileDecompressed()

Name: featherpanel:server:file:decompressemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string file path.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3file_path$filePathstringfrom docblock
When it fires (2 sites)
$event->on(ServerEvent::onServerFileDecompressed(), function ($userUuid, $serverUuid, $filePath): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:file:decompress ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_path' => $filePath]));
});

ServerEvent::onServerFilePermissionsChanged()

Name: featherpanel:server:file:permissionsemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string file path, string permissions.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3file_path$filePathstringfrom docblock
4permissions$permissionsarray
When it fires (1 site)
$event->on(ServerEvent::onServerFilePermissionsChanged(), function ($userUuid, $serverUuid, $filePath, $permissions): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:file:permissions ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_path' => $filePath, 'permissions' => $permissions]));
});

ServerEvent::onServerFilesCopied()

Name: featherpanel:server:files:copyemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, array file paths.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3file_paths$filePathsarray
When it fires (2 sites)
$event->on(ServerEvent::onServerFilesCopied(), function ($userUuid, $serverUuid, $filePaths): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:files:copy ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_paths' => $filePaths]));
});

ServerEvent::onServerLifecycleHookCompleted()

Name: featherpanel:server:lifecycle-hook:completedemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string power action, int hook id, string hook type.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3power_action$powerActionstring
4hook_id$hookIdintfrom docblock
5hook_type$hookTypestringfrom docblock
When it fires (1 site)
$event->on(ServerEvent::onServerLifecycleHookCompleted(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:completed ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'power_action' => $powerAction, 'hook_id' => $hookId, 'hook_type' => $hookType]));
});

ServerEvent::onServerLifecycleHookFailed()

Name: featherpanel:server:lifecycle-hook:failedemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string power action, int hook id, string hook type, string error. (the emitter passes 7 values, see the table)

#Payload keyListener parameterType
1user_uuid$userUuidnot declared
2server_uuid$serverUuidnot declared
3power_action$powerActionstring
4hook_id$hookIdnot declared
5hook_type$hookTypenot declared
6step_id$stepIdnot declared
7error$errornot declared
When it fires (1 site)
$event->on(ServerEvent::onServerLifecycleHookFailed(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType, $stepId, $error): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:failed ' . json_encode(['power_action' => $powerAction]));
});

ServerEvent::onServerLifecycleHookStarted()

Name: featherpanel:server:lifecycle-hook:startedemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string power action, int hook id, string hook type.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3power_action$powerActionstring
4hook_id$hookIdintfrom docblock
5hook_type$hookTypestringfrom docblock
When it fires (1 site)
$event->on(ServerEvent::onServerLifecycleHookStarted(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:started ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'power_action' => $powerAction, 'hook_id' => $hookId, 'hook_type' => $hookType]));
});

ServerEvent::onServerLifecycleHookStepCompleted()

Name: featherpanel:server:lifecycle-hook:step:completedemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string power action, int hook id, int step id, string task type. (the emitter passes 7 values, see the table)

#Payload keyListener parameterType
1user_uuid$userUuidnot declared
2server_uuid$serverUuidnot declared
3power_action$powerActionstring
4hook_id$hookIdnot declared
5hook_type$hookTypenot declared
6step_id$stepIdnot declared
7task_type$taskTypenot declared
When it fires (1 site)
$event->on(ServerEvent::onServerLifecycleHookStepCompleted(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType, $stepId, $taskType): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:step:completed ' . json_encode(['power_action' => $powerAction]));
});

ServerEvent::onServerLifecycleHookStepFailed()

Name: featherpanel:server:lifecycle-hook:step:failedemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string power action, int hook id, int step id, string task type, string error. (the emitter passes 9 values, see the table)

#Payload keyListener parameterType
1user_uuid$userUuidnot declared
2server_uuid$serverUuidnot declared
3power_action$powerActionstring
4hook_id$hookIdnot declared
5hook_type$hookTypenot declared
6step_id$stepIdnot declared
7task_type$taskTypenot declared
8error$errornot declared
9continued$continuednot declared
When it fires (1 site)
$event->on(ServerEvent::onServerLifecycleHookStepFailed(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType, $stepId, $taskType, $error, $continued): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:step:failed ' . json_encode(['power_action' => $powerAction]));
});

ServerEvent::onServerLifecycleHookStepStarted()

Name: featherpanel:server:lifecycle-hook:step:startedemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string power action, int hook id, int step id, string task type. (the emitter passes 8 values, see the table)

#Payload keyListener parameterType
1user_uuid$userUuidnot declared
2server_uuid$serverUuidnot declared
3power_action$powerActionstring
4hook_id$hookIdnot declared
5hook_type$hookTypenot declared
6step_id$stepIdnot declared
7task_type$taskTypenot declared
8sequence_id$sequenceIdnot declared
When it fires (1 site)
$event->on(ServerEvent::onServerLifecycleHookStepStarted(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType, $stepId, $taskType, $sequenceId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:step:started ' . json_encode(['power_action' => $powerAction]));
});

ServerEvent::onServerPowerAction()

Name: featherpanel:server:power:actionemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string action.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3action$actionstring
When it fires (2 sites)
$event->on(ServerEvent::onServerPowerAction(), function ($userUuid, $serverUuid, $action): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:power:action ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'action' => $action]));
});

ServerEvent::onServerReinstalled()

Name: featherpanel:server:reinstallemitted at 3 sites2 payload shapesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid.

#Payload keyListener parameterType
1user_uuid$userUuidnot at every sitestringfrom docblock
2server_uuid$serverUuidnot at every sitestringfrom docblock
Arguments passedEmitted from
user_uuid, server_uuid
ServerUserController::updateServer
ServerUserController::reinstallServer
server, updated_by
ServersController::update
When it fires (3 sites)
$event->on(ServerEvent::onServerReinstalled(), function (...$rest): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:reinstall');
});

ServerEvent::onServerScheduleStatusToggled()

Name: featherpanel:server:schedule:status:toggleemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int schedule id.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3schedule_id$scheduleIdint
When it fires (1 site)
$event->on(ServerEvent::onServerScheduleStatusToggled(), function ($userUuid, $serverUuid, $scheduleId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:schedule:status:toggle ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId]));
});

ServerEvent::onServerSuspended()

Name: featherpanel:server:suspendedemitted at 2 sitesCancel or modify: nodefinition

Docblock: array server data, array suspended by.

#Payload keyListener parameterType
1server$serverarrayfrom docblock
2suspended_by$suspendedByarray
When it fires (2 sites)
$event->on(ServerEvent::onServerSuspended(), function ($server, $suspendedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:suspended ' . json_encode(['server' => $server, 'suspended_by' => $suspendedBy]));
});

ServerEvent::onServerTaskStatusToggled()

Name: featherpanel:server:task:status:toggleemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int schedule id, int task id.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3schedule_id$scheduleIdint
4task_id$taskIdint
When it fires (1 site)
$event->on(ServerEvent::onServerTaskStatusToggled(), function ($userUuid, $serverUuid, $scheduleId, $taskId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:task:status:toggle ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId, 'task_id' => $taskId]));
});

ServerEvent::onServerTransferCancelled()

Name: featherpanel:server:transfer:cancelledemitted at 1 siteCancel or modify: nodefinition

Docblock: array server data, array cancelled_by.

#Payload keyListener parameterType
1server$serverarrayfrom docblock
2cancelled_by$cancelledByarrayfrom docblock
When it fires (1 site)
$event->on(ServerEvent::onServerTransferCancelled(), function ($server, $cancelledBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:transfer:cancelled ' . json_encode(['server' => $server, 'cancelled_by' => $cancelledBy]));
});

ServerEvent::onServerTransferCompleted()

Name: featherpanel:server:transfer:completedemitted at 2 sites2 payload shapesCancel or modify: nodefinition

Docblock: array server data, bool successful, int|null destination_node_id.

#Payload keyListener parameterType
1server$serverarrayfrom docblock
2successful$successfulbool
3destination_node_id$destinationNodeIdint|nullfrom docblock
Arguments passedEmitted from
server, successful, destination_node_id
WingsTransferStatusController::setTransferStatus
server, successful, destination_node_id, old_node_id
WingsTransferStatusController::transferSuccess
When it fires (2 sites)
$event->on(ServerEvent::onServerTransferCompleted(), function ($server, $successful, $destinationNodeId, ...$rest): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:transfer:completed ' . json_encode(['server' => $server, 'successful' => $successful, 'destination_node_id' => $destinationNodeId]));
});

ServerEvent::onServerTransferFailed()

Name: featherpanel:server:transfer:failedemitted at 2 sites2 payload shapesCancel or modify: nodefinition

Docblock: array server data, bool successful, string|null error.

#Payload keyListener parameterType
1server$serverarrayfrom docblock
2successful$successfulbool
3error$errorstring|nullfrom docblock
Arguments passedEmitted from
server, successful, error
WingsTransferStatusController::setTransferStatus
server, successful, error, source_node_id
WingsTransferStatusController::transferFailure
When it fires (2 sites)
$event->on(ServerEvent::onServerTransferFailed(), function ($server, $successful, $error, ...$rest): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:transfer:failed ' . json_encode(['server' => $server, 'successful' => $successful, 'error' => $error]));
});

ServerEvent::onServerTransferInitiated()

Name: featherpanel:server:transfer:initiatedemitted at 1 siteCancel or modify: nodefinition

Docblock: array server data, array source_node, array destination_node, array initiated_by.

#Payload keyListener parameterType
1server$serverarrayfrom docblock
2source_node$sourceNodearrayfrom docblock
3destination_node$destinationNodearrayfrom docblock
4initiated_by$initiatedByarray
When it fires (1 site)
$event->on(ServerEvent::onServerTransferInitiated(), function ($server, $sourceNode, $destinationNode, $initiatedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:transfer:initiated ' . json_encode(['server' => $server, 'source_node' => $sourceNode, 'destination_node' => $destinationNode, 'initiated_by' => $initiatedBy]));
});

ServerEvent::onServerTransferred()

Name: featherpanel:server:transferrednot emittedCancel or modify: nodefinition

Docblock: array server data, array transferred by.

$event->on(ServerEvent::onServerTransferred(), function (...$args): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:transferred ' . json_encode($args));
});

No code emits this event yet, so the arguments are unknown. The listener accepts any.

ServerEvent::onServerUnsuspended()

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

Docblock: array server data, array unsuspended by.

#Payload keyListener parameterType
1server$serverarrayfrom docblock
2unsuspended_by$unsuspendedByarrayfrom docblock
When it fires (1 site)
$event->on(ServerEvent::onServerUnsuspended(), function ($server, $unsuspendedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:unsuspended ' . json_encode(['server' => $server, 'unsuspended_by' => $unsuspendedBy]));
});

ServerEvent::onServerUpdated()

Name: featherpanel:server:updateemitted at 12 sites6 payload shapesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid.

#Payload keyListener parameterType
1user_uuid$userUuidnot at every sitestringfrom docblock
2server_uuid$serverUuidnot at every sitestringfrom docblock
Arguments passedEmitted from
user_uuid, server_uuid
ServerFirewallController::createRule
ServerFirewallController::updateRule
ServerFirewallController::deleteRule
ServerFirewallController::syncRules
UpdateServerTool::execute
user_uuid, server_uuid, hook_type, step_id, action
ServerLifecycleHookController::createStep
ServerLifecycleHookController::updateStep
ServerLifecycleHookController::deleteStep
server, updated_data, updated_by
ServersController::update
user_uuid, server_uuid, import_id
ServerImportController::importServer
user_uuid, server_uuid, hook_type, action
ServerLifecycleHookController::upsertHook
user_uuid, server_uuid, hook_type, step_id, sequence_id, action
ServerLifecycleHookController::updateStepSequence
When it fires (12 sites)
$event->on(ServerEvent::onServerUpdated(), function (...$rest): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:update');
});

ServerEvent::onServerAllocationDeleted()

Name: featherpanel:user:server:allocation:deletedemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int allocation id.

Same event name as ServerAllocationEvent::onServerAllocationDeleted(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3allocation_id$allocationIdint
When it fires (2 sites)
$event->on(ServerEvent::onServerAllocationDeleted(), function ($userUuid, $serverUuid, $allocationId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:allocation:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'allocation_id' => $allocationId]));
});

ServerEvent::onServerBackupCreated()

Name: featherpanel:user:server:backup:createdemitted at 3 sites3 payload shapesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string backup uuid.

Same event name as ServerBackupEvent::onServerBackupCreated(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3backup_uuid$backupUuidstringfrom docblock
Arguments passedEmitted from
user_uuid, server_uuid, backup_uuid
ServerBackupController::createBackup
user_uuid, server_uuid, backup_uuid, type
ServerBackupController::createFullBackup
user_uuid, server_uuid, backup_uuid, backup_data
CreateBackupTool::execute
When it fires (3 sites)
$event->on(ServerEvent::onServerBackupCreated(), function ($userUuid, $serverUuid, $backupUuid, ...$rest): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:backup:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'backup_uuid' => $backupUuid]));
});

ServerEvent::onServerBackupDeleted()

Name: featherpanel:user:server:backup:deletedemitted at 3 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string backup uuid.

Same event name as ServerBackupEvent::onServerBackupDeleted(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3backup_uuid$backupUuidstring
When it fires (3 sites)
$event->on(ServerEvent::onServerBackupDeleted(), function ($userUuid, $serverUuid, $backupUuid): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:backup:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'backup_uuid' => $backupUuid]));
});

ServerEvent::onServerBackupRestored()

Name: featherpanel:user:server:backup:restoredemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string backup uuid.

Same event name as ServerBackupEvent::onServerBackupRestored(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3backup_uuid$backupUuidstring
When it fires (1 site)
$event->on(ServerEvent::onServerBackupRestored(), function ($userUuid, $serverUuid, $backupUuid): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:backup:restored ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'backup_uuid' => $backupUuid]));
});

ServerEvent::onServerDatabaseCreated()

Name: featherpanel:user:server:database:createdemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int database id.

Same event name as ServerDatabaseEvent::onServerDatabaseCreated(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3database_id$databaseIdintfrom docblock
When it fires (2 sites)
$event->on(ServerEvent::onServerDatabaseCreated(), function ($userUuid, $serverUuid, $databaseId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:database:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'database_id' => $databaseId]));
});

ServerEvent::onServerDatabaseDeleted()

Name: featherpanel:user:server:database:deletedemitted at 3 sites2 payload shapesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int database id.

Same event name as ServerDatabaseEvent::onServerDatabaseDeleted(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3database_id$databaseIdint
Arguments passedEmitted from
user_uuid, server_uuid, database_id
ServerDatabaseController::deleteServerDatabase
DeleteDatabaseTool::execute
user_uuid, server_uuid, database_id, bulk
ServerDatabaseController::bulkDeleteServerDatabases
When it fires (3 sites)
$event->on(ServerEvent::onServerDatabaseDeleted(), function ($userUuid, $serverUuid, $databaseId, ...$rest): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:database:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'database_id' => $databaseId]));
});

ServerEvent::onServerDatabaseUpdated()

Name: featherpanel:user:server:database:updatedemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int database id.

Same event name as ServerDatabaseEvent::onServerDatabaseUpdated(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3database_id$databaseIdint
When it fires (2 sites)
$event->on(ServerEvent::onServerDatabaseUpdated(), function ($userUuid, $serverUuid, $databaseId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:database:updated ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'database_id' => $databaseId]));
});

ServerEvent::onServerDirectoryCreated()

Name: featherpanel:user:server:directory:createdemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string directory path.

Same event name as ServerFilesEvent::onServerDirectoryCreated(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3directory_path$directoryPathstringfrom docblock
When it fires (2 sites)
$event->on(ServerEvent::onServerDirectoryCreated(), function ($userUuid, $serverUuid, $directoryPath): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:directory:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'directory_path' => $directoryPath]));
});

ServerEvent::onServerFileRenamed()

Name: featherpanel:user:server:file:renamedemitted at 2 sites2 payload shapesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string old path, string new path.

Same event name as ServerFilesEvent::onServerFileRenamed(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3root$rootnot at every sitestringfrom docblock
4files$filesnot at every sitestringfrom docblock
Arguments passedEmitted from
user_uuid, server_uuid, root, files
ServerFilesController::renameFileOrFolder
user_uuid, server_uuid, file_path, new_path
RenameFileTool::execute
When it fires (2 sites)
$event->on(ServerEvent::onServerFileRenamed(), function ($userUuid, $serverUuid, ...$rest): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:file:renamed ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid]));
});

ServerEvent::onServerFileWritten()

Name: featherpanel:user:server:file:savedemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string file path.

Same event name as ServerFilesEvent::onServerFileSaved(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3file_path$filePathstringfrom docblock
When it fires (2 sites)
$event->on(ServerEvent::onServerFileWritten(), function ($userUuid, $serverUuid, $filePath): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:file:saved ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_path' => $filePath]));
});

ServerEvent::onServerFileUploaded()

Name: featherpanel:user:server:file:uploadedemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string file path.

Same event name as ServerFilesEvent::onServerFileUploaded(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3file_path$filePathstringfrom docblock
When it fires (1 site)
$event->on(ServerEvent::onServerFileUploaded(), function ($userUuid, $serverUuid, $filePath): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:file:uploaded ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_path' => $filePath]));
});

ServerEvent::onServerFilesDeleted()

Name: featherpanel:user:server:files:deletedemitted at 3 sites2 payload shapesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid.

Same event name as ServerFilesEvent::onServerFilesDeleted(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
Arguments passedEmitted from
user_uuid, server_uuid
ServerFilesController::deleteFiles
ServerFilesController::wipeAllFiles
user_uuid, server_uuid, files
DeleteFilesTool::execute
When it fires (3 sites)
$event->on(ServerEvent::onServerFilesDeleted(), function ($userUuid, $serverUuid, ...$rest): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:files:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid]));
});

ServerEvent::onServerPullProcessDeleted()

Name: featherpanel:user:server:pull:deletedemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, string pull id.

Same event name as ServerFilesEvent::onServerPullProcessDeleted(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3pull_id$pullIdstring
When it fires (1 site)
$event->on(ServerEvent::onServerPullProcessDeleted(), function ($userUuid, $serverUuid, $pullId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:pull:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'pull_id' => $pullId]));
});

ServerEvent::onServerScheduleCreated()

Name: featherpanel:user:server:schedule:createdemitted at 3 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int schedule id.

Same event name as ServerScheduleEvent::onServerScheduleCreated(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3schedule_id$scheduleIdintfrom docblock
When it fires (3 sites)
$event->on(ServerEvent::onServerScheduleCreated(), function ($userUuid, $serverUuid, $scheduleId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:schedule:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId]));
});

ServerEvent::onServerScheduleDeleted()

Name: featherpanel:user:server:schedule:deletedemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int schedule id.

Same event name as ServerScheduleEvent::onServerScheduleDeleted(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3schedule_id$scheduleIdint
When it fires (2 sites)
$event->on(ServerEvent::onServerScheduleDeleted(), function ($userUuid, $serverUuid, $scheduleId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:schedule:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId]));
});

ServerEvent::onServerScheduleUpdated()

Name: featherpanel:user:server:schedule:updatedemitted at 3 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int schedule id.

Same event name as ServerScheduleEvent::onServerScheduleUpdated(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3schedule_id$scheduleIdint
When it fires (3 sites)
$event->on(ServerEvent::onServerScheduleUpdated(), function ($userUuid, $serverUuid, $scheduleId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:schedule:updated ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId]));
});

ServerEvent::onServerSubuserCreated()

Name: featherpanel:user:server:subuser:createdemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int subuser id.

Same event name as ServerSubuserEvent::onServerSubuserCreated(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3subuser_id$subuserIdintfrom docblock
When it fires (2 sites)
$event->on(ServerEvent::onServerSubuserCreated(), function ($userUuid, $serverUuid, $subuserId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:subuser:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'subuser_id' => $subuserId]));
});

ServerEvent::onServerSubuserDeleted()

Name: featherpanel:user:server:subuser:deletedemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int subuser id.

Same event name as ServerSubuserEvent::onServerSubuserDeleted(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3subuser_id$subuserIdint
When it fires (1 site)
$event->on(ServerEvent::onServerSubuserDeleted(), function ($userUuid, $serverUuid, $subuserId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:subuser:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'subuser_id' => $subuserId]));
});

ServerEvent::onServerSubuserUpdated()

Name: featherpanel:user:server:subuser:updatedemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int subuser id.

Same event name as ServerSubuserEvent::onServerSubuserUpdated(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3subuser_id$subuserIdint
When it fires (1 site)
$event->on(ServerEvent::onServerSubuserUpdated(), function ($userUuid, $serverUuid, $subuserId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:subuser:updated ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'subuser_id' => $subuserId]));
});

ServerEvent::onServerTaskCreated()

Name: featherpanel:user:server:task:createdemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int schedule id, int task id.

Same event name as ServerTaskEvent::onServerTaskCreated(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3schedule_id$scheduleIdint
4task_id$taskIdintfrom docblock
When it fires (2 sites)
$event->on(ServerEvent::onServerTaskCreated(), function ($userUuid, $serverUuid, $scheduleId, $taskId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:task:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId, 'task_id' => $taskId]));
});

ServerEvent::onServerTaskDeleted()

Name: featherpanel:user:server:task:deletedemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int schedule id, int task id.

Same event name as ServerTaskEvent::onServerTaskDeleted(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3schedule_id$scheduleIdint
4task_id$taskIdint
When it fires (2 sites)
$event->on(ServerEvent::onServerTaskDeleted(), function ($userUuid, $serverUuid, $scheduleId, $taskId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:task:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId, 'task_id' => $taskId]));
});

ServerEvent::onServerTaskSequenceUpdated()

Name: featherpanel:user:server:task:sequence:updatedemitted at 1 siteCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int schedule id, int task id.

Same event name as ServerTaskEvent::onServerTaskSequenceUpdated(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3schedule_id$scheduleIdint
4task_id$taskIdint
When it fires (1 site)
$event->on(ServerEvent::onServerTaskSequenceUpdated(), function ($userUuid, $serverUuid, $scheduleId, $taskId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:task:sequence:updated ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId, 'task_id' => $taskId]));
});

ServerEvent::onServerTaskUpdated()

Name: featherpanel:user:server:task:updatedemitted at 2 sitesCancel or modify: nodefinition

Docblock: string user uuid, string server uuid, int schedule id, int task id.

Same event name as ServerTaskEvent::onServerTaskUpdated(). A listener on either method receives the emits of both.

#Payload keyListener parameterType
1user_uuid$userUuidstringfrom docblock
2server_uuid$serverUuidstringfrom docblock
3schedule_id$scheduleIdint
4task_id$taskIdint
When it fires (2 sites)
$event->on(ServerEvent::onServerTaskUpdated(), function ($userUuid, $serverUuid, $scheduleId, $taskId): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:task:updated ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId, 'task_id' => $taskId]));
});