The Cloud SDKs are unpublished private-preview release candidates.
TypeScript
Generated requests throwFiredrillError for HTTP or decoding failures and
FiredrillTimeoutError when the configured client deadline expires.
FiredrillLifecycleError, HostedRunRecoveryError,
or HostedDrillsRecoveryError. Inspect their pending request or checkpoint and
resume it; do not invent a new idempotency key.
Python
Generated requests raise status-specific exceptions such asBadRequestError,
UnauthorizedError, ConflictError, or ServiceUnavailableError. Each extends
the generated ApiError and carries status_code, headers, and a typed body.
FiredrillLifecycleError, HostedRunRecoveryError, and
HostedDrillsRecoveryError. Async cancellation remains CancelledError; it is
not converted into success or silently retried.
Safe retry rules
- Read
retryable; do not retry a terminal rejection as if it were transient. - For an unsafe mutation, persist the exact request and
Idempotency-Keybefore dispatch. - If the response is uncertain, repeat that exact request with the same key.
- If an
operationIdis known, poll that operation instead of submitting again. - A client timeout or disconnect means only that the client stopped waiting.
- Never treat a queued operation, partial receipt, or interrupted status as completion.