<?php

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

use Axtiva\FlexibleGraphql\Type\InputType;

/**
 * This code is @generated by axtiva/flexible-graphql-php do not edit it
 * PHP representation of graphql type DeviceDiscoveryProtocolStatusInput
 * The device discovery protocol status for all protocols * @property null|DeviceInputInputType $device = null id of the device which this support entitlement belongs to
 * @property null|DiscoveryProtocolStatusEnumEnum $dnsStatus = null The DNS protocol status
 * @property null|DiscoveryProtocolStatusEnumEnum $httpStatus = null The HTTP status
 * @property null|string $httpsIdentifier = null The HTTPS identifier
 * @property null|DiscoveryProtocolStatusEnumEnum $httpsStatus = null The HTTPS status
 * @property null|DiscoveryProtocolStatusEnumEnum $mdnsStatus = null The mDNS status
 * @property null|DiscoveryProtocolStatusEnumEnum $netBIOSAnonymousStatus = null The NetBIOS (without authentication) connection status
 * @property null|DiscoveryProtocolStatusEnumEnum $oVirtStatus = null The oVirt API status
 * @property null|DiscoveryProtocolStatusEnumEnum $remoteLoginAdminStatus = null The remote login (root/admin account) connection status
 * @property mixed $remoteLoginAdmincomError = null The remote login (root/admin account) connection COM error (if there is one)
 * @property null|DiscoveryProtocolStatusEnumEnum $remoteLoginStatus = null The remote login (non root account) connection status
 * @property mixed $remoteLogincomError = null The remote login (non root account) connection COM error (if there is one)
 * @property null|DiscoveryProtocolStatusEnumEnum $s7Status = null The S7 status
 * @property null|DiscoveryProtocolStatusEnumEnum $smbAnonymousStatus = null The SMB anonymous status
 * @property mixed $smbAnonymouscomError = null The SMB anonymous COM error (if there is one)
 * @property null|DiscoveryProtocolStatusEnumEnum $smbStatus = null The SMB authenticated connection status
 * @property mixed $smbcomError = null The SMB authenticated connection COM error (if there is one)
 * @property null|DiscoveryProtocolStatusEnumEnum $snmpV1Status = null The status for the SNMPv1 protocol
 * @property null|DiscoveryProtocolStatusEnumEnum $snmpV2cStatus = null The status for the SNMPv2c protocol
 * @property null|DiscoveryProtocolStatusEnumEnum $snmpV3Status = null The status for the SNMPv3 protocol
 * @property null|string $sshCipherInUse = null The SSH cipher algorithm in use
 * @property null|string $sshIdentifier = null The SSH server identifier
 * @property null|string $sshKeyExchangeInUse = null The SSH key-exchange algorithm in use
 * @property null|string $sshMacInUse = null The SSH MAC algorithm in use
 * @property null|DiscoveryProtocolStatusEnumEnum $sshStatus = null The status for the SSH protocol
 * @property null|DiscoveryProtocolStatusEnumEnum $telnetBannerDetectionStatus = null The SSH telnet banner status
 * @property null|DiscoveryProtocolStatusEnumEnum $telnetStatus = null The status for the telnet protocol
 * @property null|DiscoveryProtocolStatusEnumEnum $upnpStatus = null The UPnP status
 * @property null|DiscoveryProtocolStatusEnumEnum $vmwareStatus = null The VMWare API protocol status
 * @property null|DiscoveryProtocolStatusEnumEnum $wbemStatus = null The WBEM connection status
 * @property mixed $wmiComError = null The WMI COM error
 * @property null|DiscoveryProtocolStatusEnumEnum $wmiStatus = null The status for the WMI protocol
 */
final class DeviceDiscoveryProtocolStatusInputInputType extends InputType
{
    protected function decorate($name, $value)
    {
        if ($value === null) {
            return null;
        }

        if ($name === 'device') {
            return new DeviceInputInputType($value);
        }

        if ($name === 'dnsStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'httpStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'httpsStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'mdnsStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'netBIOSAnonymousStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'oVirtStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'remoteLoginAdminStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'remoteLoginStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 's7Status') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'smbAnonymousStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'smbStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'snmpV1Status') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'snmpV2cStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'snmpV3Status') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'sshStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'telnetBannerDetectionStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'telnetStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'upnpStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'vmwareStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'wbemStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        if ($name === 'wmiStatus') {
            return new DiscoveryProtocolStatusEnumEnum($value);
        }

        return $value;
    }
}