Wait for Operation

cloud_run.wait_operation
ActionGoogle Cloudconnection required

Polls GET /v2/{operation} until done, then reads the resource it produced.

Poll a Cloud Run operation until it finishes, then report what it landed on.

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
Google Cloud Run
Secret shape
{"client_id", "client_secret", "refresh_token"}
Config it needs
project_id, region
Resolved by
config.connection_id, else node.connection_id

Configuration

4 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
operation
Operation name from update_service / update_service_env / set_traffic. Defaults to the upstream step's `operation`.
stringNo———
timeout_seconds
How long to wait in total (1-900).
numberNo300≥ 0—
poll_interval_seconds
Seconds between polls (min 1).
numberNo5≥ 0—
fail_on_error
Fail this step when the rollout did not reconcile.
booleanNotrue——

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "fail_on_error": true,
  "poll_interval_seconds": 5,
  "timeout_seconds": 300
}

Input

Output of cloud_run.update_service / update_service_env / set_traffic; used when the config leaves operation blank.

FieldTypeExample
operation
Operation name, as emitted by a Cloud Run update node.
string—

Output

One shape.

result

FieldTypeExample
ok
boolean—
operation
string—
done
boolean—
succeeded
The rollout reconciled successfully.
boolean—
resource
Full name of the resource it acted on.
string—
service
Short service name, when it is a service.
string—
state
The resource's terminal condition state.
string—
message
Cloud Run's own reason when it failed.
string—
uri
The service URL — point a smoke test here.
string—
latest_ready_revision
The revision now serving traffic.
string—
latest_created_revision
string—
waited_seconds
number—
{
  "done": false,
  "latest_created_revision": "",
  "latest_ready_revision": "",
  "message": "",
  "ok": false,
  "operation": "",
  "resource": "",
  "service": "",
  "state": "",
  "succeeded": false,
  "uri": "",
  "waited_seconds": 0
}

Notes

  • Holds a worker thread for the whole wait — keep the timeout tight.
  • For a job started by cloud_run.run_job use cloud_run.wait_execution instead; that one reports the execution's task counts.

See Wait for Operation run in a workflow.

In a technical demo we add the Google Cloud Run connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.