Skip to content

ParameterDefinitionModel

Bases: PumCustomBaseModel

ParameterDefinitionModel represents a parameter definition in the configuration.

Attributes:

Name Type Description
name str

Name of the parameter.

type ParameterType

Type of the parameter (default is TEXT).

default Optional[Any]

Optional default value for the parameter.

description Optional[str]

Optional description of the parameter.

Source code in pum/config_model.py
class ParameterDefinitionModel(PumCustomBaseModel):
    """ParameterDefinitionModel represents a parameter definition in the configuration.

    Attributes:
        name: Name of the parameter.
        type: Type of the parameter (default is TEXT).
        default: Optional default value for the parameter.
        description: Optional description of the parameter.
    """

    name: str
    type: ParameterType = Field(default=ParameterType.TEXT, description="Type of the parameter")
    default: Optional[Any] = None
    description: Optional[str] = None

    @model_validator(mode="before")
    def validate_default(cls, values):
        if values.get("type") == ParameterType.BOOLEAN:
            values["default"] = values.get("default", False) in (1, "1", "true", "TRUE", True)
        return values