<?php

declare (strict_types=1);
namespace idoit\Module\SyneticsJdisc\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 WmiCollectionElementInput
 * The WMI query collection element definition * @property int $authLevel The authentication level:

AuthenticationLevelDefault = 0;
AuthenticationLevelNone = 1;
AuthenticationLevelConnect = 2;
AuthenticationLevelCall = 3;
AuthenticationLevelPkt = 4;
AuthenticationLevelPktIntegrity = 5;
AuthenticationLevelPktPrivacy = 6;
 * @property null|bool $enabled = null The enabled flag
 * @property null|string $namespace = null The WMI namespace name (without a leading \)
 * @property null|bool $oldEnabled = null The old enabled flag
 * @property null|string $oldNamespace = null The old WMI namespace name (without a leading \)
 * @property null|string $oldQuery = null The old WMI query
 * @property null|iterable $oldRules = null The old collection rules
 * @property null|string $query = null The WMI query
 * @property null|iterable $rules = null The collection rules
 * @property null|CustomAttributeCollectionMethodEnum $collectionMethod = null The collection method
 */
final class WmiCollectionElementInputInputType extends InputType
{
    protected function decorate($name, $value)
    {
        if ($value === null) {
            return null;
        }

        if ($name === 'collectionMethod') {
            return new CustomAttributeCollectionMethodEnum($value);
        }

        return $value;
    }
}