Source code for ibek.support

"""
Support Class to represent a deserialized <MODULE_NAME>.ibek.support.yaml file.
"""

from __future__ import annotations

import json
from typing import Any, Sequence

from pydantic import Field

from .entity_model import EntityModel
from .globals import BaseSettings


[docs] class Support(BaseSettings): """ Lists the EntityModels for a support module, this defines what Entities it supports """ shared: Sequence[Any] = Field( description="A place to create any anchors required for repeating YAML", default=(), ) module: str = Field(description="Support module name, normally the repo name") entity_models: Sequence[EntityModel] = Field( description="The Entity Models an IOC can create using this module" ) @classmethod def get_schema(cls): return json.dumps(cls.model_json_schema(), indent=2)