<?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 DiscoveryProtocolStatusEnum
 * The protocol status enumeration
 */
final class DiscoveryProtocolStatusEnumEnum implements EnumInterface
{
    public const DisabledOnDevice = 'DisabledOnDevice';
    public const NoPassword = 'NoPassword';
    public const Disabled = 'Disabled';
    public const NotTested = 'NotTested';
    public const Success = 'Success';
    public const AccessDenied = 'AccessDenied';
    public const RpcAccessDenied = 'RpcAccessDenied';
    public const WbemAccessDenied = 'WbemAccessDenied';
    public const WbemInvalidNamespace = 'WbemInvalidNamespace';
    public const WbemInvalidParameter = 'WbemInvalidParameter';
    public const WbemOutOfMemory = 'WbemOutOfMemory';
    public const WbemTransportFailure = 'WbemTransportFailure';
    public const WbemBadQuery = 'WbemBadQuery';
    public const CannotConnect = 'CannotConnect';
    public const Timeout = 'Timeout';
    public const ProtocolNotSupported = 'ProtocolNotSupported';
    public const UnknownTelnetBanner = 'UnknownTelnetBanner';
    public const COMError = 'COMError';
    public const Failure = 'Failure';
    public const InvalidNamespace = 'InvalidNamespace';
    public const TransportFailure = 'TransportFailure';
    public const OutOfMemory = 'OutOfMemory';
    public const CimOperationNotSupported = 'CimOperationNotSupported';
    public const CimInvalidArgument = 'CimInvalidArgument';
    public const CimInvalidClass = 'CimInvalidClass';
    public const CimInvalidNamespace = 'CimInvalidNamespace';
    public const CimInvalidQuery = 'CimInvalidQuery';
    public const CimPropertyNoSuchProperty = 'CimPropertyNoSuchProperty';
    public const CimQueryLanguageNotSupported = 'CimQueryLanguageNotSupported';
    public const PortUnreachable = 'PortUnreachable';
    public const DeviceUnavailable = 'DeviceUnavailable';
    public const DeviceNotInDatabase = 'DeviceNotInDatabase';
    public const NoData = 'NoData';
    public const CannotCreateXMLParser = 'CannotCreateXMLParser';
    public const UnsupportedCharacterSet = 'UnsupportedCharacterSet';
    public const XmlParseError = 'XmlParseError';
    public const IOFailure = 'IOFailure';
    public const CannotResolveHostname = 'CannotResolveHostname';
    public const CorruptData = 'CorruptData';
    public const CannotCreateTempSessionDir = 'CannotCreateTempSessionDir';
    public const CannotStartShell = 'CannotStartShell';
    public const NotImplemented = 'NotImplemented';
    public const UUEncodeMissing = 'UUEncodeMissing';
    public const FileNotFound = 'FileNotFound';
    public const UUDecodeMissing = 'UUDecodeMissing';
    public const RpcServerUnavailable = 'RpcServerUnavailable';
    public const VMwareComNotInstalled = 'VMwareComNotInstalled';
    public const SnmpV3UnsupportedSecurityLevel = 'SnmpV3UnsupportedSecurityLevel';
    public const SnmpV3NotInTimeWindows = 'SnmpV3NotInTimeWindows';
    public const SnmpV3UnknownUserNames = 'SnmpV3UnknownUserNames';
    public const SnmpV3UnknownEngineId = 'SnmpV3UnknownEngineId';
    public const SnmpV3DecryptionError = 'SnmpV3DecryptionError';
    public const IPv6NotSupported = 'IPv6NotSupported';
    public const WmiQueriesFailed = 'WmiQueriesFailed';
    public const LogonFailure = 'LogonFailure';
    public const NotLicensed = 'NotLicensed';
    public const UnameFailed = 'UnameFailed';
    public const BadNetworkPath = 'BadNetworkPath';
    public const BadNetName = 'BadNetName';
    public const NetNameDeleted = 'NetNameDeleted';
    public const ServerServiceNotStarted = 'ServerServiceNotStarted';
    public const WorkstationServiceNotStarted = 'WorkstationServiceNotStarted';
    public const ServiceNotStarted = 'ServiceNotStarted';
    public const ClassNotRegistered = 'ClassNotRegistered';
    public const TrustedRelationshipFailure = 'TrustedRelationshipFailure';
    public const ServiceRequestTimeout = 'ServiceRequestTimeout';
    public const AccountDisabled = 'AccountDisabled';
    public const AccountLockedOut = 'AccountLockedOut';
    public const PasswordMustChange = 'PasswordMustChange';
    public const ServiceDisabled = 'ServiceDisabled';
    public const SessionCredentialConflict = 'SessionCredentialConflict';
    public const NetLogonServiceNotStarted = 'NetLogonServiceNotStarted';
    public const NoLogonServers = 'NoLogonServers';
    public const ConnectionLost = 'ConnectionLost';
    public const InvalidUrl = 'InvalidUrl';
    public const ParsingFailure = 'ParsingFailure';
    public const OnlyCLIInterfaceSupported = 'OnlyCLIInterfaceSupported';
    public const RootAccessRequired = 'RootAccessRequired';
    public const DeviceNotFound = 'DeviceNotFound';
    public const UnsupportedDevice = 'UnsupportedDevice';
    public const PasswordMissing = 'PasswordMissing';
    public const InvalidPassphrase = 'InvalidPassphrase';
    public const CannotGetStreams = 'CannotGetStreams';
    public const ConnectionRefused = 'ConnectionRefused';
    public const CannotParsePrivateKey = 'CannotParsePrivateKey';
    public const HostnameNotFound = 'HostnameNotFound';
    public const Disconnected = 'Disconnected';
    public const AuthenticationCanceled = 'AuthenticationCanceled';
    public const FurtherAuthenticationRequired = 'FurtherAuthenticationRequired';
    public const SftpChannelOpenError = 'SftpChannelOpenError';
    public const PermissionDenied = 'PermissionDenied';
    public const TransferCanceled = 'TransferCanceled';
    public const HttpRequestError = 'HttpRequestError';
    public const HttpProxyAuthenticationError = 'HttpProxyAuthenticationError';
    public const BadData = 'BadData';
    public const CannotRequestTerminal = 'CannotRequestTerminal';
    public const CaptureRequired = 'CaptureRequired';
    public const CouldNotConnectToAnyWorker = 'CouldNotConnectToAnyWorker';
    public const AuthenticationNotSupported = 'AuthenticationNotSupported';
    public const PasswordChangeInProgress = 'PasswordChangeInProgress';
    public const NotFound = 'NotFound';
    public const OnlyBasicCyberarkAccess = 'OnlyBasicCyberarkAccess';
    public const BadAccountDefinition = 'BadAccountDefinition';
    public const PasswordManagerError = 'PasswordManagerError';
    public const ItemAlreadyInQueue = 'ItemAlreadyInQueue';
    public const NotAddedToQueue = 'NotAddedToQueue';
    public const ExcludedByFilter = 'ExcludedByFilter';
    public const DoNotUserForIdentification = 'DoNotUserForIdentification';
    public const SameUser = 'SameUser';
    public const ReconnectFailed = 'ReconnectFailed';
    public string $value;
    private static array $map = [
        self::DisabledOnDevice => true,
        self::NoPassword => true,
        self::Disabled => true,
        self::NotTested => true,
        self::Success => true,
        self::AccessDenied => true,
        self::RpcAccessDenied => true,
        self::WbemAccessDenied => true,
        self::WbemInvalidNamespace => true,
        self::WbemInvalidParameter => true,
        self::WbemOutOfMemory => true,
        self::WbemTransportFailure => true,
        self::WbemBadQuery => true,
        self::CannotConnect => true,
        self::Timeout => true,
        self::ProtocolNotSupported => true,
        self::UnknownTelnetBanner => true,
        self::COMError => true,
        self::Failure => true,
        self::InvalidNamespace => true,
        self::TransportFailure => true,
        self::OutOfMemory => true,
        self::CimOperationNotSupported => true,
        self::CimInvalidArgument => true,
        self::CimInvalidClass => true,
        self::CimInvalidNamespace => true,
        self::CimInvalidQuery => true,
        self::CimPropertyNoSuchProperty => true,
        self::CimQueryLanguageNotSupported => true,
        self::PortUnreachable => true,
        self::DeviceUnavailable => true,
        self::DeviceNotInDatabase => true,
        self::NoData => true,
        self::CannotCreateXMLParser => true,
        self::UnsupportedCharacterSet => true,
        self::XmlParseError => true,
        self::IOFailure => true,
        self::CannotResolveHostname => true,
        self::CorruptData => true,
        self::CannotCreateTempSessionDir => true,
        self::CannotStartShell => true,
        self::NotImplemented => true,
        self::UUEncodeMissing => true,
        self::FileNotFound => true,
        self::UUDecodeMissing => true,
        self::RpcServerUnavailable => true,
        self::VMwareComNotInstalled => true,
        self::SnmpV3UnsupportedSecurityLevel => true,
        self::SnmpV3NotInTimeWindows => true,
        self::SnmpV3UnknownUserNames => true,
        self::SnmpV3UnknownEngineId => true,
        self::SnmpV3DecryptionError => true,
        self::IPv6NotSupported => true,
        self::WmiQueriesFailed => true,
        self::LogonFailure => true,
        self::NotLicensed => true,
        self::UnameFailed => true,
        self::BadNetworkPath => true,
        self::BadNetName => true,
        self::NetNameDeleted => true,
        self::ServerServiceNotStarted => true,
        self::WorkstationServiceNotStarted => true,
        self::ServiceNotStarted => true,
        self::ClassNotRegistered => true,
        self::TrustedRelationshipFailure => true,
        self::ServiceRequestTimeout => true,
        self::AccountDisabled => true,
        self::AccountLockedOut => true,
        self::PasswordMustChange => true,
        self::ServiceDisabled => true,
        self::SessionCredentialConflict => true,
        self::NetLogonServiceNotStarted => true,
        self::NoLogonServers => true,
        self::ConnectionLost => true,
        self::InvalidUrl => true,
        self::ParsingFailure => true,
        self::OnlyCLIInterfaceSupported => true,
        self::RootAccessRequired => true,
        self::DeviceNotFound => true,
        self::UnsupportedDevice => true,
        self::PasswordMissing => true,
        self::InvalidPassphrase => true,
        self::CannotGetStreams => true,
        self::ConnectionRefused => true,
        self::CannotParsePrivateKey => true,
        self::HostnameNotFound => true,
        self::Disconnected => true,
        self::AuthenticationCanceled => true,
        self::FurtherAuthenticationRequired => true,
        self::SftpChannelOpenError => true,
        self::PermissionDenied => true,
        self::TransferCanceled => true,
        self::HttpRequestError => true,
        self::HttpProxyAuthenticationError => true,
        self::BadData => true,
        self::CannotRequestTerminal => true,
        self::CaptureRequired => true,
        self::CouldNotConnectToAnyWorker => true,
        self::AuthenticationNotSupported => true,
        self::PasswordChangeInProgress => true,
        self::NotFound => true,
        self::OnlyBasicCyberarkAccess => true,
        self::BadAccountDefinition => true,
        self::PasswordManagerError => true,
        self::ItemAlreadyInQueue => true,
        self::NotAddedToQueue => true,
        self::ExcludedByFilter => true,
        self::DoNotUserForIdentification => true,
        self::SameUser => true,
        self::ReconnectFailed => 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;
    }
}