34 lines
755 B
PHP
34 lines
755 B
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
enum VmPowerAction: string
|
|
{
|
|
case Start = 'start';
|
|
case Shutdown = 'shutdown';
|
|
case Stop = 'stop';
|
|
case Reboot = 'reboot';
|
|
case Reset = 'reset';
|
|
|
|
public function label(): string
|
|
{
|
|
return match ($this) {
|
|
self::Start => 'Starten',
|
|
self::Shutdown => 'Herunterfahren (ACPI)',
|
|
self::Stop => 'Stoppen (Force)',
|
|
self::Reboot => 'Neustart',
|
|
self::Reset => 'Reset (Hard)',
|
|
};
|
|
}
|
|
|
|
public function requiresRunning(): bool
|
|
{
|
|
return in_array($this, [self::Shutdown, self::Stop, self::Reboot, self::Reset], true);
|
|
}
|
|
|
|
public function requiresStopped(): bool
|
|
{
|
|
return $this === self::Start;
|
|
}
|
|
}
|