# 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.Node do @moduledoc """ """ @derive [Poison.Encoder] defstruct [ :ID, :Datacenter, :Name, :HttpAddr, :TlsEnabled, :Attributes, :Resources, :Reserved, :NodeResources, :ReservedResources, :Links, :Meta, :NodeClass, :Drain, :DrainStrategy, :SchedulingEligibility, :Status, :StatusDescription, :StatusUpdatedAt, :Events, :Drivers, :HostVolumes, :CsiControllerPlugins, :CsiNodePlugins, :CreateIndex, :ModifyIndex ] @type t :: %__MODULE__{ :ID => String.t() | nil, :Datacenter => String.t() | nil, :Name => String.t() | nil, :HttpAddr => String.t() | nil, :TlsEnabled => boolean() | nil, :Attributes => %{optional(String.t()) => String.t()} | nil, :Resources => Nomad.Model.Resources.t() | nil, :Reserved => Nomad.Model.Resources.t() | nil, :NodeResources => Nomad.Model.NodeResources.t() | nil, :ReservedResources => Nomad.Model.NodeReservedResources.t() | nil, :Links => %{optional(String.t()) => String.t()} | nil, :Meta => %{optional(String.t()) => String.t()} | nil, :NodeClass => String.t() | nil, :Drain => boolean() | nil, :DrainStrategy => Nomad.Model.DrainStrategy.t() | nil, :SchedulingEligibility => String.t() | nil, :Status => String.t() | nil, :StatusDescription => String.t() | nil, :StatusUpdatedAt => integer() | nil, :Events => [Nomad.Model.NodeEvent.t()] | nil, :Drivers => %{optional(String.t()) => Nomad.Model.DriverInfo.t()} | nil, :HostVolumes => %{optional(String.t()) => Nomad.Model.HostVolumeInfo.t()} | nil, :CsiControllerPlugins => %{optional(String.t()) => Nomad.Model.CsiInfo.t()} | nil, :CsiNodePlugins => %{optional(String.t()) => Nomad.Model.CsiInfo.t()} | nil, :CreateIndex => integer() | nil, :ModifyIndex => integer() | nil } end defimpl Poison.Decoder, for: Nomad.Model.Node do import Nomad.Deserializer def decode(value, options) do value |> deserialize(:Resources, :struct, Nomad.Model.Resources, options) |> deserialize(:Reserved, :struct, Nomad.Model.Resources, options) |> deserialize(:NodeResources, :struct, Nomad.Model.NodeResources, options) |> deserialize(:ReservedResources, :struct, Nomad.Model.NodeReservedResources, options) |> deserialize(:DrainStrategy, :struct, Nomad.Model.DrainStrategy, options) |> deserialize(:Events, :list, Nomad.Model.NodeEvent, options) |> deserialize(:Drivers, :map, Nomad.Model.DriverInfo, options) |> deserialize(:HostVolumes, :map, Nomad.Model.HostVolumeInfo, options) |> deserialize(:CsiControllerPlugins, :map, Nomad.Model.CsiInfo, options) |> deserialize(:CsiNodePlugins, :map, Nomad.Model.CsiInfo, options) end end