# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). # https://openapi-generator.tech # Do not edit the class manually. defmodule Nomad.Model.Job do @moduledoc """ """ @derive [Poison.Encoder] defstruct [ :Stop, :Region, :Namespace, :ID, :ParentID, :Name, :Type, :Priority, :AllAtOnce, :Datacenters, :Constraints, :Affinities, :TaskGroups, :Update, :Spreads, :Periodic, :ParameterizedJob, :Dispatched, :Payload, :Reschedule, :Migrate, :Meta, :ConsulToken, :VaultToken, :Status, :StatusDescription, :Stable, :Version, :SubmitTime, :CreateIndex, :ModifyIndex, :JobModifyIndex ] @type t :: %__MODULE__{ :Stop => boolean() | nil, :Region => String.t() | nil, :Namespace => String.t() | nil, :ID => String.t() | nil, :ParentID => String.t() | nil, :Name => String.t() | nil, :Type => String.t() | nil, :Priority => integer() | nil, :AllAtOnce => boolean() | nil, :Datacenters => [String.t()] | nil, :Constraints => [Nomad.Model.Constraint.t()] | nil, :Affinities => [Nomad.Model.Affinity.t()] | nil, :TaskGroups => [Nomad.Model.TaskGroup.t()] | nil, :Update => Nomad.Model.UpdateStrategy.t() | nil, :Spreads => [Nomad.Model.Spread.t()] | nil, :Periodic => Nomad.Model.PeriodicConfig.t() | nil, :ParameterizedJob => Nomad.Model.ParameterizedJobConfig.t() | nil, :Dispatched => boolean() | nil, :Payload => binary() | nil, :Reschedule => Nomad.Model.ReschedulePolicy.t() | nil, :Migrate => Nomad.Model.MigrateStrategy.t() | nil, :Meta => %{optional(String.t()) => String.t()} | nil, :ConsulToken => String.t() | nil, :VaultToken => String.t() | nil, :Status => String.t() | nil, :StatusDescription => String.t() | nil, :Stable => boolean() | nil, :Version => integer() | nil, :SubmitTime => integer() | nil, :CreateIndex => integer() | nil, :ModifyIndex => integer() | nil, :JobModifyIndex => integer() | nil } end defimpl Poison.Decoder, for: Nomad.Model.Job do import Nomad.Deserializer def decode(value, options) do value |> deserialize(:Constraints, :list, Nomad.Model.Constraint, options) |> deserialize(:Affinities, :list, Nomad.Model.Affinity, options) |> deserialize(:TaskGroups, :list, Nomad.Model.TaskGroup, options) |> deserialize(:Update, :struct, Nomad.Model.UpdateStrategy, options) |> deserialize(:Spreads, :list, Nomad.Model.Spread, options) |> deserialize(:Periodic, :struct, Nomad.Model.PeriodicConfig, options) |> deserialize(:ParameterizedJob, :struct, Nomad.Model.ParameterizedJobConfig, options) |> deserialize(:Reschedule, :struct, Nomad.Model.ReschedulePolicy, options) |> deserialize(:Migrate, :struct, Nomad.Model.MigrateStrategy, options) end end