Bases: BaseModel
Schedule trigger configuration requiring exactly one of cron or recurrence.
Parameters
See Also
CronScheduleConfig : Cron trigger details.
RecurrenceScheduleConfig : Recurrence trigger details.
build_trigger : Converts this config to Azure ML trigger.
Source Code
View on GitHub
Show/Hide source
| class ScheduleConfig(BaseModel):
"""Schedule trigger configuration requiring exactly one of ``cron`` or ``recurrence``.
Parameters
----------
cron : CronScheduleConfig or None
Cron-based trigger.
recurrence : RecurrenceScheduleConfig or None
Recurrence-based trigger.
See Also
--------
[CronScheduleConfig][kedro_azureml_pipeline.config.CronScheduleConfig] : Cron trigger details.
[RecurrenceScheduleConfig][kedro_azureml_pipeline.config.RecurrenceScheduleConfig] : Recurrence trigger details.
[build_trigger][kedro_azureml_pipeline.scheduler.build_trigger] : Converts this config to Azure ML trigger.
"""
model_config = ConfigDict(extra="forbid")
cron: CronScheduleConfig | None = Field(default=None, description="Cron-based trigger.")
recurrence: RecurrenceScheduleConfig | None = Field(default=None, description="Recurrence-based trigger.")
@model_validator(mode="after")
def _validate_exactly_one_trigger(self) -> "ScheduleConfig":
"""Ensure exactly one of ``cron`` or ``recurrence`` is set.
Returns
-------
ScheduleConfig
The validated instance.
Raises
------
ValueError
If both or neither trigger is set.
"""
if self.cron and self.recurrence:
raise ValueError("ScheduleConfig must have exactly one of 'cron' or 'recurrence', not both")
if not self.cron and not self.recurrence:
raise ValueError("ScheduleConfig must have exactly one of 'cron' or 'recurrence'")
return self
|