# 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.Allocation do
@moduledoc """
"""
@derive [Poison.Encoder]
defstruct [
:ID,
:Namespace,
:EvalID,
:Name,
:NodeID,
:NodeName,
:JobID,
:Job,
:TaskGroup,
:Resources,
:TaskResources,
:AllocatedResources,
:Services,
:Metrics,
:DesiredStatus,
:DesiredDescription,
:DesiredTransition,
:ClientStatus,
:ClientDescription,
:TaskStates,
:DeploymentID,
:DeploymentStatus,
:FollowupEvalID,
:PreviousAllocation,
:NextAllocation,
:RescheduleTracker,
:PreemptedAllocations,
:PreemptedByAllocation,
:CreateIndex,
:ModifyIndex,
:AllocModifyIndex,
:CreateTime,
:ModifyTime
]
@type t :: %__MODULE__{
:ID => String.t() | nil,
:Namespace => String.t() | nil,
:EvalID => String.t() | nil,
:Name => String.t() | nil,
:NodeID => String.t() | nil,
:NodeName => String.t() | nil,
:JobID => String.t() | nil,
:Job => NomadClient.Model.Job.t() | nil,
:TaskGroup => String.t() | nil,
:Resources => NomadClient.Model.Resources.t() | nil,
:TaskResources => %{optional(String.t()) => NomadClient.Model.Resources.t()} | nil,
:AllocatedResources => NomadClient.Model.AllocatedResources.t() | nil,
:Services => %{optional(String.t()) => String.t()} | nil,
:Metrics => NomadClient.Model.AllocationMetric.t() | nil,
:DesiredStatus => String.t() | nil,
:DesiredDescription => String.t() | nil,
:DesiredTransition => NomadClient.Model.DesiredTransition.t() | nil,
:ClientStatus => String.t() | nil,
:ClientDescription => String.t() | nil,
:TaskStates => %{optional(String.t()) => NomadClient.Model.TaskState.t()} | nil,
:DeploymentID => String.t() | nil,
:DeploymentStatus => NomadClient.Model.AllocDeploymentStatus.t() | nil,
:FollowupEvalID => String.t() | nil,
:PreviousAllocation => String.t() | nil,
:NextAllocation => String.t() | nil,
:RescheduleTracker => NomadClient.Model.RescheduleTracker.t() | nil,
:PreemptedAllocations => [String.t()] | nil,
:PreemptedByAllocation => String.t() | nil,
:CreateIndex => integer() | nil,
:ModifyIndex => integer() | nil,
:AllocModifyIndex => integer() | nil,
:CreateTime => integer() | nil,
:ModifyTime => integer() | nil
}
end
defimpl Poison.Decoder, for: NomadClient.Model.Allocation do
import NomadClient.Deserializer
def decode(value, options) do
value
|> deserialize(:Job, :struct, NomadClient.Model.Job, options)
|> deserialize(:Resources, :struct, NomadClient.Model.Resources, options)
|> deserialize(:TaskResources, :map, NomadClient.Model.Resources, options)
|> deserialize(:AllocatedResources, :struct, NomadClient.Model.AllocatedResources, options)
|> deserialize(:Metrics, :struct, NomadClient.Model.AllocationMetric, options)
|> deserialize(:DesiredTransition, :struct, NomadClient.Model.DesiredTransition, options)
|> deserialize(:TaskStates, :map, NomadClient.Model.TaskState, options)
|> deserialize(:DeploymentStatus, :struct, NomadClient.Model.AllocDeploymentStatus, options)
|> deserialize(:RescheduleTracker, :struct, NomadClient.Model.RescheduleTracker, options)
end
end