# 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.Service do
@moduledoc """
"""
@derive [Poison.Encoder]
defstruct [
:ID,
:Name,
:Tags,
:CanaryTags,
:EnableTagOverride,
:PortLabel,
:AddressMode,
:Checks,
:CheckRestart,
:Connect,
:Meta,
:CanaryMeta
]
@type t :: %__MODULE__{
:ID => String.t() | nil,
:Name => String.t() | nil,
:Tags => [String.t()] | nil,
:CanaryTags => [String.t()] | nil,
:EnableTagOverride => boolean() | nil,
:PortLabel => String.t() | nil,
:AddressMode => String.t() | nil,
:Checks => [NomadClient.Model.ServiceCheck.t()] | nil,
:CheckRestart => NomadClient.Model.CheckRestart.t() | nil,
:Connect => NomadClient.Model.ConsulConnect.t() | nil,
:Meta => %{optional(String.t()) => String.t()} | nil,
:CanaryMeta => %{optional(String.t()) => String.t()} | nil
}
end
defimpl Poison.Decoder, for: NomadClient.Model.Service do
import NomadClient.Deserializer
def decode(value, options) do
value
|> deserialize(:Checks, :list, NomadClient.Model.ServiceCheck, options)
|> deserialize(:CheckRestart, :struct, NomadClient.Model.CheckRestart, options)
|> deserialize(:Connect, :struct, NomadClient.Model.ConsulConnect, options)
end
end