AI-generated Key Takeaways
-
The Operation resource represents a long-running operation initiated by a network API call, providing status and results.
-
Operations have metadata, a completion status (
done
), and can contain either anerror
or aresponse
field upon completion. -
You can retrieve the latest state of an Operation using the
get
method. -
The structure of the Operation resource is detailed with fields like
name
,metadata
,done
,error
, andresponse
, each with specific data types and purposes.
Resource: Operation
This resource represents a long-running operation that is the result of a network API call.
JSON representation |
---|
{ "name" : string , "metadata" : { "@type" : string , field1 : ... , ... } , "done" : boolean , // Union field |
name
string
The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name
should be a resource name ending with operations/{unique_id}
.
done
boolean
If the value is false
, it means the operation is still in progress. If true
, the operation is completed, and either error
or response
is available.
result
. The operation result, which can be either an error
or a valid response
. If done
== false
, neither error
nor response
is set. If done
== true
, exactly one of error
or response
can be set. Some services might not provide the result. result
can be only one of the following:error
object (
Status
)
The error result of the operation in case of failure or cancellation.
response
object
The normal, successful response of the operation. If the original method returns no data on success, such as Delete
, the response is google.protobuf.Empty
. If the original method is standard Get
/ Create
/ Update
, the response should be the resource. For other methods, the response should have the type XxxResponse
, where Xxx
is the original method name. For example, if the original method name is TakeSnapshot()
, the inferred response type is TakeSnapshotResponse
.
An object containing fields of an arbitrary type. An additional field "@type"
contains a URI identifying the type. Example: { "id": 1234, "@type": "types.example.com/standard/id" }
.
Methods |
|
---|---|
|
Gets the latest state of a long-running operation. |