# 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.Task do @moduledoc """ """ @derive [Poison.Encoder] defstruct [ :Name, :Driver, :User, :Lifecycle, :Config, :Constraints, :Affinities, :Env, :Services, :Resources, :Meta, :KillTimeout, :LogConfig, :Artifacts, :Vault, :Templates, :DispatchPayload, :VolumeMounts, :Csi_plugin, :Leader, :ShutdownDelay, :KillSignal, :Kind ] @type t :: %__MODULE__{ :Name => String.t() | nil, :Driver => String.t() | nil, :User => String.t() | nil, :Lifecycle => Nomad.Model.TaskLifecycle.t() | nil, :Config => %{optional(String.t()) => map()} | nil, :Constraints => [Nomad.Model.Constraint.t()] | nil, :Affinities => [Nomad.Model.Affinity.t()] | nil, :Env => %{optional(String.t()) => String.t()} | nil, :Services => [Nomad.Model.Service.t()] | nil, :Resources => Nomad.Model.Resources.t() | nil, :Meta => %{optional(String.t()) => String.t()} | nil, :KillTimeout => integer() | nil, :LogConfig => Nomad.Model.LogConfig.t() | nil, :Artifacts => [Nomad.Model.TaskArtifact.t()] | nil, :Vault => Nomad.Model.Vault.t() | nil, :Templates => [Nomad.Model.Template.t()] | nil, :DispatchPayload => Nomad.Model.DispatchPayloadConfig.t() | nil, :VolumeMounts => [Nomad.Model.VolumeMount.t()] | nil, :Csi_plugin => Nomad.Model.TaskCsiPluginConfig.t() | nil, :Leader => boolean() | nil, :ShutdownDelay => integer() | nil, :KillSignal => String.t() | nil, :Kind => String.t() | nil } end defimpl Poison.Decoder, for: Nomad.Model.Task do import Nomad.Deserializer def decode(value, options) do value |> deserialize(:Lifecycle, :struct, Nomad.Model.TaskLifecycle, options) |> deserialize(:Constraints, :list, Nomad.Model.Constraint, options) |> deserialize(:Affinities, :list, Nomad.Model.Affinity, options) |> deserialize(:Services, :list, Nomad.Model.Service, options) |> deserialize(:Resources, :struct, Nomad.Model.Resources, options) |> deserialize(:LogConfig, :struct, Nomad.Model.LogConfig, options) |> deserialize(:Artifacts, :list, Nomad.Model.TaskArtifact, options) |> deserialize(:Vault, :struct, Nomad.Model.Vault, options) |> deserialize(:Templates, :list, Nomad.Model.Template, options) |> deserialize(:DispatchPayload, :struct, Nomad.Model.DispatchPayloadConfig, options) |> deserialize(:VolumeMounts, :list, Nomad.Model.VolumeMount, options) |> deserialize(:Csi_plugin, :struct, Nomad.Model.TaskCsiPluginConfig, options) end end