22 lines
585 B
Python
22 lines
585 B
Python
|
|
# generated by datamodel-codegen:
|
||
|
|
# filename: execution_permit.json
|
||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from typing import Literal
|
||
|
|
|
||
|
|
from pydantic import AwareDatetime, BaseModel, ConfigDict, constr
|
||
|
|
|
||
|
|
|
||
|
|
class ExecutionPermit(BaseModel):
|
||
|
|
model_config = ConfigDict(
|
||
|
|
extra='forbid',
|
||
|
|
)
|
||
|
|
id: constr(min_length=1)
|
||
|
|
proposal_digest: constr(pattern=r'^[0-9a-f]{64}$')
|
||
|
|
issued_at: AwareDatetime
|
||
|
|
expires_at: AwareDatetime
|
||
|
|
effect_limits: dict[str, constr(pattern=r'^-?\d+(\.\d+)?$')]
|
||
|
|
revoked_at: AwareDatetime | None
|
||
|
|
issuer: Literal['authority-service']
|