lib/nomad_client/model/template.ex

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

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

  """

  @derive [Poison.Encoder]
  defstruct [
    :ChangeMode,
    :ChangeScript,
    :ChangeSignal,
    :DestPath,
    :EmbeddedTmpl,
    :Envvars,
    :Gid,
    :LeftDelim,
    :Perms,
    :RightDelim,
    :SourcePath,
    :Splay,
    :Uid,
    :VaultGrace,
    :Wait
  ]

  @type t :: %__MODULE__{
          :ChangeMode => String.t() | nil,
          :ChangeScript => NomadClient.Model.ChangeScript.t() | nil,
          :ChangeSignal => String.t() | nil,
          :DestPath => String.t() | nil,
          :EmbeddedTmpl => String.t() | nil,
          :Envvars => boolean() | nil,
          :Gid => integer() | nil,
          :LeftDelim => String.t() | nil,
          :Perms => String.t() | nil,
          :RightDelim => String.t() | nil,
          :SourcePath => String.t() | nil,
          :Splay => integer() | nil,
          :Uid => integer() | nil,
          :VaultGrace => integer() | nil,
          :Wait => NomadClient.Model.WaitConfig.t() | nil
        }
end

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

  def decode(value, options) do
    value
    |> deserialize(:ChangeScript, :struct, NomadClient.Model.ChangeScript, options)
    |> deserialize(:Wait, :struct, NomadClient.Model.WaitConfig, options)
  end
end