from datetime import datetime, timezone
from pydantic import AwareDatetime, Field
from ska_oso_pdm._shared import (
ExecutionBlockID,
FunctionArgs,
Metadata,
PdmObject,
SBDefinitionID,
SBInstanceID,
TelescopeType,
)
[docs]
class ActivityCall(PdmObject):
activity_ref: str | None = None
executed_at: AwareDatetime = Field(
default_factory=lambda: datetime.now(timezone.utc)
)
runtime_args: list[FunctionArgs] = Field(default_factory=list)
[docs]
class SBInstance(PdmObject):
interface: str | None = None
sbi_id: SBInstanceID | None = None
metadata: Metadata | None = None
telescope: TelescopeType
sbd_ref: SBDefinitionID | None = None
sbd_version: int | None = None
eb_ref: ExecutionBlockID | None = None
subarray_id: int | None = None
activities: list[ActivityCall] = Field(default_factory=list)