Skip to content

schedule

Schedules are named, reusable cadences (cron expression + timezone) that drive recurring operations — sync applies, run commands, backup runs, and the update windows of firmware tracks. The schedule command surface has two sub-groups: schedule (cadence CRUD) and schedule tasks (management of the recurring operations attached to a schedule).

CommandDescription
schedule createCreate a new schedule
schedule listList all schedules in the organization
schedule describeShow details for a single schedule
schedule enableEnable a schedule
schedule disableDisable a schedule
schedule deleteDelete a schedule
schedule tasks listList all scheduled tasks
schedule tasks enableEnable a scheduled task
schedule tasks disableDisable a scheduled task
schedule tasks removeRemove a scheduled task

Create a new named schedule.

Terminal window
ndcli schedule create [flags]
FlagTypeRequiredDescription
--namestringYesUnique name within the organization
--cronstringYesStandard 5-field cron expression (e.g., "0 3 * * *")
--timezonestringNoIANA timezone name (e.g., America/New_York, UTC). Default UTC
--disabledboolNoCreate the schedule in a disabled state. Default: enabled
Terminal window
ndcli schedule create --name nightly-maintenance --cron "0 3 * * *" --timezone America/New_York
ndcli schedule create --name monday-reboot --cron "0 4 * * 1" --timezone America/Chicago
ndcli schedule create --name monthly-audit --cron "0 0 1 * *" --timezone UTC

List all schedules in the organization.

Terminal window
ndcli schedule list
Terminal window
ndcli schedule list
ndcli schedule list -f json

Show a schedule and the task specs registered on it. A spec of kind FIRMWARE is the update window of a firmware track, and is listed with the track’s name, for example fast track window. With -f json it carries firmware_track, which is null for every other kind.

Terminal window
ndcli schedule describe <name>
ArgumentRequiredDescription
nameYesSchedule name
Terminal window
ndcli schedule describe nightly-maintenance
ndcli schedule describe nightly-maintenance -f json

Enable a schedule. All scheduled tasks attached to it will resume firing.

Terminal window
ndcli schedule enable <name>
ArgumentRequiredDescription
nameYesSchedule name
Terminal window
ndcli schedule enable nightly-maintenance

Disable a schedule. All scheduled tasks attached to it are paused until re-enabled.

Terminal window
ndcli schedule disable <name>
ArgumentRequiredDescription
nameYesSchedule name
Terminal window
ndcli schedule disable nightly-maintenance

Delete a schedule and every task spec registered on it. It asks for confirmation first.

Terminal window
ndcli schedule delete <name> [--force]
ArgumentRequiredDescription
nameYesSchedule name
FlagTypeDefaultDescription
--forceboolfalseSkip the confirmation prompt. Required when stdin is not a terminal
Terminal window
ndcli schedule delete monthly-audit

List all scheduled tasks (recurring operations) in the organization.

Terminal window
ndcli schedule tasks list [flags]
FlagTypeDefaultDescription
--schedulestringFilter by schedule name
╭──────────┬────────────────┬──────────┬───────────┬──────────────────────────────────╮
│ Code │ Schedule │ Kind │ Status │ Request │
├──────────┼────────────────┼──────────┼───────────┼──────────────────────────────────┤
│ Fw123456 │ saturday-night │ FIRMWARE │ ● ENABLED │ fast track window │
│ Rn654321 │ nightly │ RUN │ ● ENABLED │ type=PING devices=[fw-branch-01] │
╰──────────┴────────────────┴──────────┴───────────┴──────────────────────────────────╯

A spec of kind FIRMWARE is the update window of a firmware track, listed with the track’s name. -f json carries it as firmware_track, which is null for every other kind.

Terminal window
ndcli schedule tasks list
ndcli schedule tasks list --schedule nightly-maintenance
ndcli schedule tasks list -f json

Enable a specific scheduled task. Overrides a task-level disable without affecting the schedule or other tasks.

Terminal window
ndcli schedule tasks enable <code>
ArgumentRequiredDescription
codeYesScheduled task code
Terminal window
ndcli schedule tasks enable a1b2c3d4

A firmware track’s window can’t be enabled or disabled here: it belongs to the track, and the control plane refuses. Attach or detach the track’s schedule with firmware track schedule.


Disable a specific scheduled task. The schedule continues to fire; only this task is paused.

Terminal window
ndcli schedule tasks disable <code>
ArgumentRequiredDescription
codeYesScheduled task code
Terminal window
ndcli schedule tasks disable a1b2c3d4

Permanently remove a scheduled task. Future executions are stopped. The schedule itself is unaffected. It asks for confirmation first.

Terminal window
ndcli schedule tasks remove <code> [--force]
ArgumentRequiredDescription
codeYesScheduled task code
FlagTypeDefaultDescription
--forceboolfalseSkip the confirmation prompt. Required when stdin is not a terminal
Terminal window
ndcli schedule tasks remove a1b2c3d4

A firmware track’s window can’t be removed this way. The command refuses before it asks anything:

Error: Spec Fw123456 is a firmware track's update window and belongs to the track: detach the track from its schedule with 'ndcli firmware track schedule fast --no-schedule', or move it to another schedule with 'ndcli firmware track schedule fast <schedule>'