# generated by datamodel-codegen: # filename: breaker_record.json from __future__ import annotations from enum import StrEnum from pydantic import AwareDatetime, BaseModel, ConfigDict, conint, constr class Level(StrEnum): L0 = 'L0' L1 = 'L1' L2 = 'L2' L3 = 'L3' L4 = 'L4' class Status(StrEnum): ARMED = 'ARMED' TRIPPED = 'TRIPPED' class TrippedBy(BaseModel): model_config = ConfigDict( extra='forbid', ) id: constr(min_length=1) role: constr(min_length=1) class ResetBy(BaseModel): model_config = ConfigDict( extra='forbid', ) id: constr(min_length=1) role: constr(min_length=1) class BreakerRecord(BaseModel): model_config = ConfigDict( extra='forbid', ) level: Level status: Status scope: str | None reason: str | None tripped_at: AwareDatetime | None tripped_by: TrippedBy | None reset_at: AwareDatetime | None reset_by: ResetBy | None reset_basis: str | None drill: bool trip_count: conint(ge=0, le=9007199254740991)