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.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
operation Operation name from update_service / update_service_env / set_traffic. Defaults to the upstream step's `operation`. | string | No | — | — | — |
timeout_seconds How long to wait in total (1-900). | number | No | 300 | ≥ 0 | — |
poll_interval_seconds Seconds between polls (min 1). | number | No | 5 | ≥ 0 | — |
fail_on_error Fail this step when the rollout did not reconcile. | boolean | No | true | — | — |
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.
| Field | Type | Example |
|---|---|---|
operation Operation name, as emitted by a Cloud Run update node. | string | — |
Output
One shape.
result
| Field | Type | Example |
|---|---|---|
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.
Related Google Cloud Run nodes
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.