27 lines
741 B
Python
27 lines
741 B
Python
from typing import final
|
|
|
|
from pydantic import ConfigDict, field_validator
|
|
from pydantic.dataclasses import dataclass
|
|
|
|
|
|
@final
|
|
@dataclass(slots=True, config=ConfigDict(str_strip_whitespace=True))
|
|
class HealthCheck:
|
|
test: tuple[str, ...]
|
|
interval: str | None
|
|
timeout: str | None
|
|
retries: int | None
|
|
start_period: str | None
|
|
|
|
@field_validator("test", mode="after")
|
|
@classmethod
|
|
def test_validator(cls, v: tuple[str, ...]) -> tuple[str, ...]:
|
|
return tuple(s.strip() for s in v)
|
|
|
|
# @field_validator("interval", "timeout", "start_period", mode="after")
|
|
# @classmethod
|
|
# def string_validator(cls, v: str | None) -> str | None:
|
|
# if not v:
|
|
# return
|
|
# return v.strip()
|