Skip to content

Commit 3b01d1a

Browse files
Separate commands for active state changes
1 parent 339648e commit 3b01d1a

File tree

1 file changed

+34
-36
lines changed

1 file changed

+34
-36
lines changed

src/zenml/cli/pipeline.py

Lines changed: 34 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -677,71 +677,69 @@ def list_schedules(
677677
required=False,
678678
help="The cron expression to update the schedule with.",
679679
)
680-
@click.option(
681-
"--activate",
682-
"-a",
683-
type=bool,
684-
required=False,
685-
is_flag=True,
686-
help="Activate a pipeline schedule.",
687-
)
688-
@click.option(
689-
"--deactivate",
690-
"-d",
691-
type=bool,
692-
required=False,
693-
is_flag=True,
694-
help="Deactivate a pipeline schedule.",
695-
)
696680
def update_schedule(
697681
schedule_name_or_id: str,
698682
cron_expression: str | None = None,
699-
activate: bool | None = None,
700-
deactivate: bool | None = None,
701683
) -> None:
702684
"""Update a pipeline schedule.
703685
704686
Args:
705687
schedule_name_or_id: The name or ID of the schedule to update.
706688
cron_expression: The cron expression to update the schedule with.
707-
activate: Activate a pipeline schedule.
708-
deactivate: Deactivate a pipeline schedule.
709689
"""
710690
options = [
711691
cron_expression,
712-
activate,
713-
deactivate,
714692
]
715693

716694
if not any(options):
717695
cli_utils.declare("No schedule update requested.")
718696
return
719697

720-
if activate and deactivate:
721-
cli_utils.declare(
722-
"You can not both activate and deactivate at the same time."
723-
)
724-
return
725-
726-
if activate:
727-
is_active = True
728-
elif deactivate:
729-
is_active = False
730-
else:
731-
is_active = None
732-
733698
try:
734699
Client().update_schedule(
735700
name_id_or_prefix=schedule_name_or_id,
736701
cron_expression=cron_expression,
737-
active=is_active,
738702
)
739703
except Exception as e:
740704
cli_utils.exception(e)
741705
else:
742706
cli_utils.declare(f"Updated schedule '{schedule_name_or_id}'.")
743707

744708

709+
@schedule.command("activate", help="Activate a pipeline schedule.")
710+
@click.argument("schedule_name_or_id", type=str, required=True)
711+
def activate_schedule(schedule_name_or_id: str) -> None:
712+
"""Activate a pipeline schedule.
713+
714+
Args:
715+
schedule_name_or_id: The name or ID of the schedule to delete.
716+
"""
717+
718+
try:
719+
Client().update_schedule(name_id_or_prefix=schedule_name_or_id, active=True)
720+
except KeyError as e:
721+
cli_utils.exception(e)
722+
else:
723+
cli_utils.declare(f"Activated schedule '{schedule_name_or_id}'.")
724+
725+
726+
@schedule.command("deactivate", help="Deactivate a pipeline schedule.")
727+
@click.argument("schedule_name_or_id", type=str, required=True)
728+
def deactivate_schedule(schedule_name_or_id: str) -> None:
729+
"""Activate a pipeline schedule.
730+
731+
Args:
732+
schedule_name_or_id: The name or ID of the schedule to delete.
733+
"""
734+
735+
try:
736+
Client().update_schedule(name_id_or_prefix=schedule_name_or_id, active=False)
737+
except KeyError as e:
738+
cli_utils.exception(e)
739+
else:
740+
cli_utils.declare(f"Deactivated schedule '{schedule_name_or_id}'.")
741+
742+
745743
@schedule.command("delete", help="Delete a pipeline schedule.")
746744
@click.argument("schedule_name_or_id", type=str, required=True)
747745
@click.option(

0 commit comments

Comments
 (0)