# NOTE: This file is auto generated by googly. Do not edit it manually. defmodule Googly.CloudVision.Model.Status do @moduledoc """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). ## Attributes * `code` (*type:* `integer()`) - The status code, which should be an enum value of google.rpc.Code. * `details` (*type:* `list(map())`) - A list of messages that carry the error details. There is a common set of message types for APIs to use. * `message` (*type:* `String.t()`) - A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ defstruct [:code, :details, :message] @type t :: %__MODULE__{ code: integer() | nil, details: list(map()) | nil, message: String.t() | 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__{ code: m["code"], details: m["details"], message: m["message"] } end end