# NOTE: This file is auto generated by OpenAPI Generator 7.0.1 (https://openapi-generator.tech). # Do not edit this file manually. defmodule DockerEngineAPI.Model.TaskSpec do @moduledoc """ User modifiable task configuration. """ @derive Jason.Encoder defstruct [ :PluginSpec, :ContainerSpec, :NetworkAttachmentSpec, :Resources, :RestartPolicy, :Placement, :ForceUpdate, :Runtime, :Networks, :LogDriver ] @type t :: %__MODULE__{ :PluginSpec => DockerEngineAPI.Model.TaskSpecPluginSpec.t | nil, :ContainerSpec => DockerEngineAPI.Model.TaskSpecContainerSpec.t | nil, :NetworkAttachmentSpec => DockerEngineAPI.Model.TaskSpecNetworkAttachmentSpec.t | nil, :Resources => DockerEngineAPI.Model.TaskSpecResources.t | nil, :RestartPolicy => DockerEngineAPI.Model.TaskSpecRestartPolicy.t | nil, :Placement => DockerEngineAPI.Model.TaskSpecPlacement.t | nil, :ForceUpdate => integer() | nil, :Runtime => String.t | nil, :Networks => [DockerEngineAPI.Model.NetworkAttachmentConfig.t] | nil, :LogDriver => DockerEngineAPI.Model.TaskSpecLogDriver.t | nil } alias DockerEngineAPI.Deserializer def decode(value) do value |> Deserializer.deserialize(:PluginSpec, :struct, DockerEngineAPI.Model.TaskSpecPluginSpec) |> Deserializer.deserialize(:ContainerSpec, :struct, DockerEngineAPI.Model.TaskSpecContainerSpec) |> Deserializer.deserialize(:NetworkAttachmentSpec, :struct, DockerEngineAPI.Model.TaskSpecNetworkAttachmentSpec) |> Deserializer.deserialize(:Resources, :struct, DockerEngineAPI.Model.TaskSpecResources) |> Deserializer.deserialize(:RestartPolicy, :struct, DockerEngineAPI.Model.TaskSpecRestartPolicy) |> Deserializer.deserialize(:Placement, :struct, DockerEngineAPI.Model.TaskSpecPlacement) |> Deserializer.deserialize(:Networks, :list, DockerEngineAPI.Model.NetworkAttachmentConfig) |> Deserializer.deserialize(:LogDriver, :struct, DockerEngineAPI.Model.TaskSpecLogDriver) end end