# NOTE: This file is auto generated by googly. Do not edit it manually. defmodule Googly.CloudVision.Model.AnnotateImageRequest do @moduledoc """ Request for performing Google Cloud Vision API tasks over a user-provided image, with user-requested features, and with context information. ## Attributes * `features` (*type:* `list(Googly.CloudVision.Model.Feature.t())`) - Requested features. * `image` (*type:* `Googly.CloudVision.Model.Image.t()`) - The image to be processed. * `image_context` (*type:* `Googly.CloudVision.Model.ImageContext.t()`) - Additional context that may accompany the image. """ defstruct [:features, :image, :image_context] @type t :: %__MODULE__{ features: list(Googly.CloudVision.Model.Feature.t()) | nil, image: Googly.CloudVision.Model.Image.t() | nil, image_context: Googly.CloudVision.Model.ImageContext.t() | nil } @wire %{image_context: "imageContext"} @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__{ features: Googly.CloudVision.Model.Feature.decode(m["features"]), image: Googly.CloudVision.Model.Image.decode(m["image"]), image_context: Googly.CloudVision.Model.ImageContext.decode(m["imageContext"]) } end end