monitor_schema.models.commons
#
Common schema definitions.
Module Contents#
Classes#
No extras base model. |
|
Schedule the monitor to run immediately. |
|
Support for a specific time range. |
|
Support for scheduling. |
|
Cadence for an analyzer or monitor run. |
|
Support for scheduling based on a predefined cadence. |
|
Metadata for a top-level objects such as monitors, analyzers, and schema. |
Attributes#
- monitor_schema.models.commons.CRON_REGEX = (@(annually|yearly|monthly|weekly|daily|hourly))|((((\d+,)+\d+|(\d+(\/|-)\d+)|\d+|\*) ?){5,7})#
- monitor_schema.models.commons.DATASET_ID_REGEX = [a-zA-Z0-9\-_\.]+#
- monitor_schema.models.commons.DATASET_ID_DEF#
- class monitor_schema.models.commons.NoExtrasBaseModel(**data: Any)[source]#
Bases:
pydantic.BaseModel
No extras base model.
Inherit to prevent accidental extra fields.
- class monitor_schema.models.commons.ImmediateSchedule(**data: Any)[source]#
Bases:
NoExtrasBaseModel
Schedule the monitor to run immediately.
- type :Literal[immediate]#
- class monitor_schema.models.commons.TimeRange(**data: Any)[source]#
Bases:
NoExtrasBaseModel
Support for a specific time range.
- start :datetime.datetime#
- end :datetime.datetime#
- class monitor_schema.models.commons.CronSchedule(**data: Any)[source]#
Bases:
NoExtrasBaseModel
Support for scheduling.
- type :Literal[CronSchedule.cron]#
- cron :str#
- exclusionRanges :Optional[List[TimeRange]]#
- class monitor_schema.models.commons.Cadence[source]#
-
Cadence for an analyzer or monitor run.
- hourly = hourly#
- daily = daily#
- weekly = weekly#
- monthly = monthly#
- class monitor_schema.models.commons.FixedCadenceSchedule(**data: Any)[source]#
Bases:
NoExtrasBaseModel
Support for scheduling based on a predefined cadence.
- type :Literal[fixed]#
- cadence :Literal[Cadence, Cadence, Cadence, Cadence]#
- exclusionRanges :Optional[List[TimeRange]]#
- class monitor_schema.models.commons.Metadata(**data: Any)[source]#
Bases:
NoExtrasBaseModel
Metadata for a top-level objects such as monitors, analyzers, and schema.
This object is managed by WhyLabs. Any user-provided values will be ignored on WhyLabs side.
- version :int#
- schemaVersion :Optional[int]#
- updatedTimestamp :int#
- author :str#
- description :Optional[str]#