wait method

Waits for the specified Operation resource to return as DONE or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method waits for no more than the 2 minutes and then returns the current state of the operation, which might be DONE or still in progress.

This method is called on a best-effort basis. Specifically:

- In uncommon cases, when the server is overloaded, the request might
return before the default deadline is reached, or might return after zero
seconds.
  • If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not DONE.

Throws a http.ClientException if there were problems communicating with the API service. Throws a ServiceException if the API method failed for any reason.

Implementation

Future<Operation> wait(WaitZoneOperationRequest request) async {
  final url = _endPoint.replace(
    path:
        '/compute/v1/projects/${request.project}/zones/${request.zone}/operations/${request.operation}/wait',
  );
  final response = await _client.post(url);
  return Operation.fromJson(response);
}