<?php

declare (strict_types=1);
namespace idoit\Module\JDisc\Graphql\Schema\Model;

use Axtiva\FlexibleGraphql\Generator\Exception\UnknownEnumValue;
use Axtiva\FlexibleGraphql\Type\EnumInterface;

/**
 * This code is @generated by axtiva/flexible-graphql-php
 * and will be regenerated. Do not edit it manually
 * PHP representation of graphql enum EventType
 * The event type
 */
final class EventTypeEnum implements EnumInterface
{
    public const DiscoveryStarted = 'DiscoveryStarted';
    public const DiscoveryCompleted = 'DiscoveryCompleted';
    public const DiscoveryStopped = 'DiscoveryStopped';
    public const DiscoveryPaused = 'DiscoveryPaused';
    public const DiscoveryResumed = 'DiscoveryResumed';
    public const BackupStarted = 'BackupStarted';
    public const BackupFinished = 'BackupFinished';
    public const BackupFailed = 'BackupFailed';
    public const CompactStarted = 'CompactStarted';
    public const CompactFinished = 'CompactFinished';
    public const CompactTableFailed = 'CompactTableFailed';
    public const DeviceHistoryStarted = 'DeviceHistoryStarted';
    public const DeviceHistoryFinished = 'DeviceHistoryFinished';
    public const ReportExportFailed = 'ReportExportFailed';
    public const DeviceDiscoveryFailed = 'DeviceDiscoveryFailed';
    public const DeviceNotWrittenToDatabase = 'DeviceNotWrittenToDatabase';
    public const DeviceFilterFailed = 'DeviceFilterFailed';
    public const ReportExportStarted = 'ReportExportStarted';
    public const MigrationEvent = 'MigrationEvent';
    public const DrsMigrationEvent = 'DrsMigrationEvent';
    public const LiveMigrationEvent = 'LiveMigrationEvent';
    public const OfflineMigrationEvent = 'OfflineMigrationEvent';
    public const RelocatedEvent = 'RelocatedEvent';
    public const ShiExportEvent = 'ShiExportEvent';
    public const MeasurementInstrumentationStarted = 'MeasurementInstrumentationStarted';
    public const MeasurementInstrumentationFinished = 'MeasurementInstrumentationFinished';
    public const MeasurementDataTransferStarted = 'MeasurementDataTransferStarted';
    public const MeasurementDataTransferFinished = 'MeasurementDataTransferFinished';
    public const MeasurementDataImportStarted = 'MeasurementDataImportStarted';
    public const MeasurementDataImportFinished = 'MeasurementDataImportFinished';
    public const UnixRemoteLoginDisabled = 'UnixRemoteLoginDisabled';
    public const UnixRemoteLoginCredentialsMissing = 'UnixRemoteLoginCredentialsMissing';
    public const DeviceWithIncorrectRemoteLoginCredentials = 'DeviceWithIncorrectRemoteLoginCredentials';
    public const DeviceRemoteLoginProtocolNotSupported = 'DeviceRemoteLoginProtocolNotSupported';
    public const CiscoASARemoteLoginDisabled = 'CiscoASARemoteLoginDisabled';
    public const CiscoIOSRemoteLoginDisabled = 'CiscoIOSRemoteLoginDisabled';
    public const CiscoPixOSRemoteLoginDisabled = 'CiscoPixOSRemoteLoginDisabled';
    public const CiscoCatOsRemoteLoginDisabled = 'CiscoCatOsRemoteLoginDisabled';
    public const CiscoIOSXERemoteLoginDisabled = 'CiscoIOSXERemoteLoginDisabled';
    public const CiscoNXOSRemoteLoginDisabled = 'CiscoNXOSRemoteLoginDisabled';
    public const CitrixXenXCPNGRemoteLoginDisabled = 'CitrixXenXCPNGRemoteLoginDisabled';
    public const HPEProCurveRemoteLoginDisabled = 'HPEProCurveRemoteLoginDisabled';
    public const UnknownHttpDeviceAskingForCrentials = 'UnknownHttpDeviceAskingForCrentials';
    public const UnixRemoteLoginNoRootAccess = 'UnixRemoteLoginNoRootAccess';
    public const IncorrectRedfishCredentials = 'IncorrectRedfishCredentials';
    public const RedfishDeviceWithoutCredentials = 'RedfishDeviceWithoutCredentials';
    public const VirtualizationServerWithoutLoginCredentials = 'VirtualizationServerWithoutLoginCredentials';
    public const VMwareApiProtocolDisabled = 'VMwareApiProtocolDisabled';
    public const VMwareApiMissingCredentials = 'VMwareApiMissingCredentials';
    public const VMwareApiInvalidCredentials = 'VMwareApiInvalidCredentials';
    public const WindowsComputerUnassignedWithoutLoginCredentials = 'WindowsComputerUnassignedWithoutLoginCredentials';
    public const WindowsComputerWithNonAdminLoginCredentials = 'WindowsComputerWithNonAdminLoginCredentials';
    public const WindowsComputerWithLUA = 'WindowsComputerWithLUA';
    public const WindowsComputerWithInvalidLoginCredentials = 'WindowsComputerWithInvalidLoginCredentials';
    public const WindowsComputerWithFPSConfigurationProblem = 'WindowsComputerWithFPSConfigurationProblem';
    public const WindowsComputerWithC4MNConfigurationProblem = 'WindowsComputerWithC4MNConfigurationProblem';
    public const WindowsComputerWithFirewallBlockingWMI = 'WindowsComputerWithFirewallBlockingWMI';
    public const WindowsComputerEnableRemoteLogin = 'WindowsComputerEnableRemoteLogin';
    public const WindowsComputerEnableWMIRemoteLoginTunnel = 'WindowsComputerEnableWMIRemoteLoginTunnel';
    public const WindowsComputerWithWMIServiceStartFailure = 'WindowsComputerWithWMIServiceStartFailure';
    public const WindowsNT40ComputerWithoutWMI = 'WindowsNT40ComputerWithoutWMI';
    public const WindowsComputerTrustedRelationshipFailure = 'WindowsComputerTrustedRelationshipFailure';
    public const WindowsComputerWithDisabledLoginCredentials = 'WindowsComputerWithDisabledLoginCredentials';
    public const WindowsComputerWithLockedOutLoginCredentials = 'WindowsComputerWithLockedOutLoginCredentials';
    public const WindowsComputerWithMustChangePasswordLoginCredentials = 'WindowsComputerWithMustChangePasswordLoginCredentials';
    public const UnidentifiedHttpDeviceWithoutCredentials = 'UnidentifiedHttpDeviceWithoutCredentials';
    public const AristaEOSRemoteLoginDisabled = 'AristaEOSRemoteLoginDisabled';
    public const FortinetRemoteLoginDisabled = 'FortinetRemoteLoginDisabled';
    public const UnknownSnmpDevice = 'UnknownSnmpDevice';
    public const VirtualizationServerWithIncorrectLoginCredentials = 'VirtualizationServerWithIncorrectLoginCredentials';
    public const WindowsComputerWithFirewallBlockingSMB = 'WindowsComputerWithFirewallBlockingSMB';
    public const IISWebAdministrationNamespaceMissing = 'IISWebAdministrationNamespaceMissing';
    public const RouterSwitchLoginCredentialsMissing = 'RouterSwitchLoginCredentialsMissing';
    public const LdapAccessFailed = 'LdapAccessFailed';
    public const LapsSmbLoginFailed = 'LapsSmbLoginFailed';
    public const LapsRemoteLoginFailed = 'LapsRemoteLoginFailed';
    public const LapsCopyDirectoryCredentialsQueryExecutableFailed = 'LapsCopyDirectoryCredentialsQueryExecutableFailed';
    public const LapsStartDirectoryCredentialsQueryProcessFailed = 'LapsStartDirectoryCredentialsQueryProcessFailed';
    public const LapsStopDirectoryCredentialsQueryProcessFailed = 'LapsStopDirectoryCredentialsQueryProcessFailed';
    public const LapsDecryptDirectoryCredentialsFailed = 'LapsDecryptDirectoryCredentialsFailed';
    public const LapsDomainControllerNotFound = 'LapsDomainControllerNotFound';
    public const LapsRemoteLoginDisabled = 'LapsRemoteLoginDisabled';
    public const OutOfMemoryException = 'OutOfMemoryException';
    public const UserNotInSudoersFile = 'UserNotInSudoersFile';
    public const WindowsComputerLogonTypeNotGranted = 'WindowsComputerLogonTypeNotGranted';
    public const WindowsComputerRemoteLoginDiskFull = 'WindowsComputerRemoteLoginDiskFull';
    public const FortiGateNoRestAPIToken = 'FortiGateNoRestAPIToken';
    public const Shutdown = 'Shutdown';
    public const Reboot = 'Reboot';
    public const RebootOrShutdown = 'RebootOrShutdown';
    public const UnexpectedShutdown = 'UnexpectedShutdown';
    public const ApplicationError = 'ApplicationError';
    public const ApplicationHangs = 'ApplicationHangs';
    public string $value;
    private static array $map = [
        self::DiscoveryStarted => true,
        self::DiscoveryCompleted => true,
        self::DiscoveryStopped => true,
        self::DiscoveryPaused => true,
        self::DiscoveryResumed => true,
        self::BackupStarted => true,
        self::BackupFinished => true,
        self::BackupFailed => true,
        self::CompactStarted => true,
        self::CompactFinished => true,
        self::CompactTableFailed => true,
        self::DeviceHistoryStarted => true,
        self::DeviceHistoryFinished => true,
        self::ReportExportFailed => true,
        self::DeviceDiscoveryFailed => true,
        self::DeviceNotWrittenToDatabase => true,
        self::DeviceFilterFailed => true,
        self::ReportExportStarted => true,
        self::MigrationEvent => true,
        self::DrsMigrationEvent => true,
        self::LiveMigrationEvent => true,
        self::OfflineMigrationEvent => true,
        self::RelocatedEvent => true,
        self::ShiExportEvent => true,
        self::MeasurementInstrumentationStarted => true,
        self::MeasurementInstrumentationFinished => true,
        self::MeasurementDataTransferStarted => true,
        self::MeasurementDataTransferFinished => true,
        self::MeasurementDataImportStarted => true,
        self::MeasurementDataImportFinished => true,
        self::UnixRemoteLoginDisabled => true,
        self::UnixRemoteLoginCredentialsMissing => true,
        self::DeviceWithIncorrectRemoteLoginCredentials => true,
        self::DeviceRemoteLoginProtocolNotSupported => true,
        self::CiscoASARemoteLoginDisabled => true,
        self::CiscoIOSRemoteLoginDisabled => true,
        self::CiscoPixOSRemoteLoginDisabled => true,
        self::CiscoCatOsRemoteLoginDisabled => true,
        self::CiscoIOSXERemoteLoginDisabled => true,
        self::CiscoNXOSRemoteLoginDisabled => true,
        self::CitrixXenXCPNGRemoteLoginDisabled => true,
        self::HPEProCurveRemoteLoginDisabled => true,
        self::UnknownHttpDeviceAskingForCrentials => true,
        self::UnixRemoteLoginNoRootAccess => true,
        self::IncorrectRedfishCredentials => true,
        self::RedfishDeviceWithoutCredentials => true,
        self::VirtualizationServerWithoutLoginCredentials => true,
        self::VMwareApiProtocolDisabled => true,
        self::VMwareApiMissingCredentials => true,
        self::VMwareApiInvalidCredentials => true,
        self::WindowsComputerUnassignedWithoutLoginCredentials => true,
        self::WindowsComputerWithNonAdminLoginCredentials => true,
        self::WindowsComputerWithLUA => true,
        self::WindowsComputerWithInvalidLoginCredentials => true,
        self::WindowsComputerWithFPSConfigurationProblem => true,
        self::WindowsComputerWithC4MNConfigurationProblem => true,
        self::WindowsComputerWithFirewallBlockingWMI => true,
        self::WindowsComputerEnableRemoteLogin => true,
        self::WindowsComputerEnableWMIRemoteLoginTunnel => true,
        self::WindowsComputerWithWMIServiceStartFailure => true,
        self::WindowsNT40ComputerWithoutWMI => true,
        self::WindowsComputerTrustedRelationshipFailure => true,
        self::WindowsComputerWithDisabledLoginCredentials => true,
        self::WindowsComputerWithLockedOutLoginCredentials => true,
        self::WindowsComputerWithMustChangePasswordLoginCredentials => true,
        self::UnidentifiedHttpDeviceWithoutCredentials => true,
        self::AristaEOSRemoteLoginDisabled => true,
        self::FortinetRemoteLoginDisabled => true,
        self::UnknownSnmpDevice => true,
        self::VirtualizationServerWithIncorrectLoginCredentials => true,
        self::WindowsComputerWithFirewallBlockingSMB => true,
        self::IISWebAdministrationNamespaceMissing => true,
        self::RouterSwitchLoginCredentialsMissing => true,
        self::LdapAccessFailed => true,
        self::LapsSmbLoginFailed => true,
        self::LapsRemoteLoginFailed => true,
        self::LapsCopyDirectoryCredentialsQueryExecutableFailed => true,
        self::LapsStartDirectoryCredentialsQueryProcessFailed => true,
        self::LapsStopDirectoryCredentialsQueryProcessFailed => true,
        self::LapsDecryptDirectoryCredentialsFailed => true,
        self::LapsDomainControllerNotFound => true,
        self::LapsRemoteLoginDisabled => true,
        self::OutOfMemoryException => true,
        self::UserNotInSudoersFile => true,
        self::WindowsComputerLogonTypeNotGranted => true,
        self::WindowsComputerRemoteLoginDiskFull => true,
        self::FortiGateNoRestAPIToken => true,
        self::Shutdown => true,
        self::Reboot => true,
        self::RebootOrShutdown => true,
        self::UnexpectedShutdown => true,
        self::ApplicationError => true,
        self::ApplicationHangs => true,
    ];

    public function __construct($value)
    {
        if (!isset(self::$map[$value])) {
            throw new UnknownEnumValue(__CLASS__, $value);
        }
        $this->value = $value;
    }

    public function __toString(): string
    {
        return $this->value;
    }
}