lib/nomad_client/model/task_group_diff.ex

# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# https://openapi-generator.tech
# Do not edit the class manually.

defmodule NomadClient.Model.TaskGroupDiff do
  @moduledoc """

  """

  @derive [Poison.Encoder]
  defstruct [
    :Type,
    :Name,
    :Fields,
    :Objects,
    :Tasks,
    :Updates
  ]

  @type t :: %__MODULE__{
          :Type => String.t() | nil,
          :Name => String.t() | nil,
          :Fields => [NomadClient.Model.FieldDiff.t()] | nil,
          :Objects => [NomadClient.Model.ObjectDiff.t()] | nil,
          :Tasks => [NomadClient.Model.TaskDiff.t()] | nil,
          :Updates => %{optional(String.t()) => NomadClient.Model.Integer.t()} | nil
        }
end

defimpl Poison.Decoder, for: NomadClient.Model.TaskGroupDiff do
  import NomadClient.Deserializer

  def decode(value, options) do
    value
    |> deserialize(:Fields, :list, NomadClient.Model.FieldDiff, options)
    |> deserialize(:Objects, :list, NomadClient.Model.ObjectDiff, options)
    |> deserialize(:Tasks, :list, NomadClient.Model.TaskDiff, options)
  end
end