<?php

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

use Axtiva\FlexibleGraphql\Resolver\AutoGenerationInterface;

/**
 * This code is @generated by axtiva/flexible-graphql-php
 * if you want to extend it or change, then remove interface AutoGenerationInterface
 * and it will be managed by you, not axtiva/flexible-graphql-php code generator
 * PHP representation of graphql type CustomAttribute
 * A custom attribute definition */
final class CustomAttributeType implements AutoGenerationInterface
{
    /**
     * The custom attribute type
     */
    public ?AttributeTypeEnum $attributeType = null;
    /**
     * A flag whether this is a customer defined or built-in custom attribute
     */
    public ?bool $builtIn = null;
    /**
     * The child attributes
     * @var null|iterable
     */
    public ?iterable $children = null;
    /**
     * The custom attribute description
     */
    public ?string $description = null;
    /**
     * The list of devices having this custom attribute.
     * @var null|iterable
     */
    public ?iterable $devices = null;
    /**
     * The internal id this entity. Note that the id might change when the entity gets deleted and recreated.
     */
    public ?string $id = null;
    /**
     * Keep the history for this attribute for <n> hours
     */
    public ?int $keepHistoryForHours = null;
    /**
     * The custom attribute name
     */
    public ?string $name = null;
    /**
     * The order number within the parent folder
     */
    public ?int $orderNumber = null;
    /**
     * The parent custom attribute
     */
    public ?CustomAttributeType $parent = null;
    /**
     * The full path of the attribute within the hierarchy
     */
    public ?string $path = null;
}