# NOTE: This file is auto generated by googly. Do not edit it manually. defmodule Googly.DocumentAI.Model.GoogleLongrunningOperation do @moduledoc """ This resource represents a long-running operation that is the result of a network API call. ## Attributes * `done` (*type:* `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. * `error` (*type:* `Googly.DocumentAI.Model.GoogleRpcStatus.t()`) - The error result of the operation in case of failure or cancellation. * `metadata` (*type:* `map()`) - Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. * `name` (*type:* `String.t()`) - 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}`. * `response` (*type:* `map()`) - 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`. """ defstruct [:done, :error, :metadata, :name, :response] @type t :: %__MODULE__{ done: boolean() | nil, error: Googly.DocumentAI.Model.GoogleRpcStatus.t() | nil, metadata: map() | nil, name: String.t() | nil, response: map() | nil } @wire %{} @doc false def __wire__, do: @wire @doc false def decode(nil), do: nil def decode(list) when is_list(list), do: Enum.map(list, &decode/1) def decode(m) do %__MODULE__{ done: m["done"], error: Googly.DocumentAI.Model.GoogleRpcStatus.decode(m["error"]), metadata: m["metadata"], name: m["name"], response: m["response"] } end end