hooks:update
Update one hook; only the flags you pass change (at least one is required). A supplied --workflow_yaml replaces the old workflow entirely, nothing is merged. Enabling or disabling is a separate command: `hooks:set-enabled`. Needs write access to the owner node.
Reference for flywheel hooks:update.
Command Group
Hooks Commands
Summary
Update one hook; only the flags you pass change (at least one is required). A supplied --workflow_yaml replaces the old workflow entirely, nothing is merged. Enabling or disabling is a separate command: hooks:set-enabled. Needs write access to the owner node.
Effect
DESTRUCTIVE: deletes, overwrites or revokes something
Usage
flywheel hooks:update <FLAGS>Required flags
| Flag | Value | Default | Choices | Description |
|---|---|---|---|---|
--owner_node_id | string | Node owning the hooks and secrets: any node_id, or owner_node_id in hook results. Missing or hidden: 404. Listing hooks or runs needs read access; changes and secret listing need write access (else 403). | ||
--hook_id | string | Hook on owner_node_id, from hook_id in hooks:list or the create result. Unknown or on another owner node: 404, except as the hooks:runs:list filter, where no match returns no runs (omitted: runs of every hook). |
Optional flags
| Flag | Value | Default | Choices | Description |
|---|---|---|---|---|
--name | string | New label (non-blank). Omitted: unchanged. | ||
--scope | string | Whose events run the hook: self, the owner node's own; subtree, the owner node's and its descendants'; graph, matched like subtree (not a separate graph-wide stream). Omitted: unchanged. | ||
--workflow_yaml | string | New workflow YAML text, in the format of hooks:create --workflow_yaml. It replaces the whole old workflow, nothing is merged. Omitted: unchanged. | ||
--rerun_policy | string | if_inputs_changed (the only value): skip an event whose inputs match the hook's latest finished run for the same node. Omitted: unchanged. | ||
--format | FORMAT | json, tsv, csv, table | Output format for command results. | |
--env | PROFILE | Select a CLI profile; unconfigured default requires FLYWHEEL_BASE_URL. | ||
--out | PATH | Write output to a file path, or use - for stdout. | ||
--open | Open browser-bound URLs when supported. | |||
--no-retry | Disable transient-error retries. | |||
--retry-max | N | Maximum transient-error retry attempts. | ||
--wait | Block on async operations until a terminal state is reached. | |||
--wait-timeout | SECONDS | 600 | Seconds to wait for --wait before timing out. Defaults to 600. | |
--allow-self | Allow mutating the currently active credential. | |||
--timeout | SECONDS | Set the per-request timeout budget in seconds. | ||
--idempotency-key | KEY | Reuse an Idempotency-Key so ambiguous write failures can be retried with the same key. | ||
--force | Force safety-gated operations where supported. | |||
--yes | Confirm forced compute:release-all --force. Other runtime commands do not read --yes. | |||
--debug | Print structured request debugging with secrets masked. | |||
--verbose | Print verbose progress for long-running operations. | |||
-h, --help | Show this help. |
Examples
Move a hook to graph scope.
flywheel hooks:update --owner_node_id n_owner --hook_id hk_1 --scope graphOutput
Default format: json.
| Field | Type |
|---|---|
hook | object |
hooks:set-enabled
Enable or disable one hook. A disabled hook is kept but queues no new runs, and a run of it that is still queued when the worker picks it up does not start: it ends as `canceled`, with an error message that names the hook. Runs already running are not interrupted. Enabling again does not revive a canceled run; the next matching event queues a new one. The run history stays. Needs write access to the owner node.
compute:acquire
Rent a machine now at the outside provider that owns the offer (Lambda, Modal, Vast.ai, Prime Intellect, Nebius or RunPod). This starts paid usage: it is billed by the second at the offer's hourly price plus any provider margin the server adds, to your Flywheel credits (to the campaign's sponsor for a `root` grant), until the lease is released or its grant is used up. It needs an active `compute_grant_id` bound to the approval session (compute-grants:request-approval first). Returns `compute` with `request_state` (`accepted` or `completed`), `lease_id`, `lease_control_token`, `lease_status`, provider, `offer_id`, region, hourly price, grant balances and `auto_shutdown_at`; it carries no SSH key, so poll compute:status until the lease is usable, then call compute:connection. A call with the same --lease_control_token and grant as a pending or active lease reuses that lease instead of provisioning another, as long as its provider, offer and any --region you give match the lease; if they differ the call fails and says what to change or release. --cmd_id is only a label, not a duplicate guard. Release with compute:release when done: the machine and its storage are destroyed. With --wait, wait for usable SSH connection material.