lib/nomad_client/model/evaluation.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.Evaluation do
  @moduledoc """

  """

  @derive [Poison.Encoder]
  defstruct [
    :ID,
    :Priority,
    :Type,
    :TriggeredBy,
    :Namespace,
    :JobID,
    :JobModifyIndex,
    :NodeID,
    :NodeModifyIndex,
    :DeploymentID,
    :Status,
    :StatusDescription,
    :Wait,
    :WaitUntil,
    :NextEval,
    :PreviousEval,
    :BlockedEval,
    :FailedTgAllocs,
    :ClassEligibility,
    :EscapedComputedClass,
    :QuotaLimitReached,
    :AnnotatePlan,
    :QueuedAllocations,
    :SnapshotIndex,
    :CreateIndex,
    :ModifyIndex,
    :CreateTime,
    :ModifyTime
  ]

  @type t :: %__MODULE__{
          :ID => String.t() | nil,
          :Priority => integer() | nil,
          :Type => String.t() | nil,
          :TriggeredBy => String.t() | nil,
          :Namespace => String.t() | nil,
          :JobID => String.t() | nil,
          :JobModifyIndex => integer() | nil,
          :NodeID => String.t() | nil,
          :NodeModifyIndex => integer() | nil,
          :DeploymentID => String.t() | nil,
          :Status => String.t() | nil,
          :StatusDescription => String.t() | nil,
          :Wait => integer() | nil,
          :WaitUntil => DateTime.t() | nil,
          :NextEval => String.t() | nil,
          :PreviousEval => String.t() | nil,
          :BlockedEval => String.t() | nil,
          :FailedTgAllocs =>
            %{optional(String.t()) => NomadClient.Model.AllocationMetric.t()} | nil,
          :ClassEligibility => %{optional(String.t()) => boolean()} | nil,
          :EscapedComputedClass => boolean() | nil,
          :QuotaLimitReached => String.t() | nil,
          :AnnotatePlan => boolean() | nil,
          :QueuedAllocations => %{optional(String.t()) => integer()} | nil,
          :SnapshotIndex => integer() | nil,
          :CreateIndex => integer() | nil,
          :ModifyIndex => integer() | nil,
          :CreateTime => integer() | nil,
          :ModifyTime => integer() | nil
        }
end

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

  def decode(value, options) do
    value
    |> deserialize(:FailedTgAllocs, :map, NomadClient.Model.AllocationMetric, options)
  end
end