# Generated by "invoke backend.generate", do not edit directly

from __future__ import annotations

from pydantic import Field

from infrahub.core.schema.basenode_schema import BaseNodeSchema


class GeneratedGenericSchema(BaseNodeSchema):
    hierarchical: bool = Field(
        default=False,
        description="Defines if the Generic support the hierarchical mode.",
        json_schema_extra={"update": "validate_constraint"},
    )
    generate_profile: bool = Field(
        default=True,
        description="Indicate if a profile schema should be generated for this schema",
        json_schema_extra={"update": "validate_constraint"},
    )
    generate_template: bool = Field(
        default=False,
        description="Indicate if an object template schema should be generated for this schema",
        json_schema_extra={"update": "allowed"},
    )
    used_by: list[str] = Field(
        default_factory=list,
        description="List of Nodes that are referencing this Generic",
        json_schema_extra={"update": "not_applicable"},
    )
