# NOTE: This file is auto generated by OpenAPI Generator 7.0.1 (https://openapi-generator.tech). # Do not edit this file manually. defmodule DockerEngineAPI.Api.Node do @moduledoc """ API calls for all endpoints tagged `Node`. """ alias DockerEngineAPI.Connection import DockerEngineAPI.RequestBuilder @doc """ Delete a node ### Parameters - `connection` (DockerEngineAPI.Connection): Connection to server - `id` (String.t): The ID or name of the node - `opts` (keyword): Optional parameters - `:force` (boolean()): Force remove a node from the swarm ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec node_delete(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:ok, DockerEngineAPI.Model.ErrorResponse.t} | {:error, Tesla.Env.t} def node_delete(connection, id, opts \\ []) do optional_params = %{ :force => :query } request = %{} |> method(:delete) |> url("/nodes/#{id}") |> add_optional_params(optional_params, opts) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false}, {404, DockerEngineAPI.Model.ErrorResponse}, {500, DockerEngineAPI.Model.ErrorResponse}, {503, DockerEngineAPI.Model.ErrorResponse} ]) end @doc """ Inspect a node ### Parameters - `connection` (DockerEngineAPI.Connection): Connection to server - `id` (String.t): The ID or name of the node - `opts` (keyword): Optional parameters ### Returns - `{:ok, DockerEngineAPI.Model.Node.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec node_inspect(Tesla.Env.client, String.t, keyword()) :: {:ok, DockerEngineAPI.Model.Node.t} | {:ok, DockerEngineAPI.Model.ErrorResponse.t} | {:error, Tesla.Env.t} def node_inspect(connection, id, _opts \\ []) do request = %{} |> method(:get) |> url("/nodes/#{id}") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, DockerEngineAPI.Model.Node}, {404, DockerEngineAPI.Model.ErrorResponse}, {500, DockerEngineAPI.Model.ErrorResponse}, {503, DockerEngineAPI.Model.ErrorResponse} ]) end @doc """ List nodes ### Parameters - `connection` (DockerEngineAPI.Connection): Connection to server - `opts` (keyword): Optional parameters - `:filters` (String.t): Filters to process on the nodes list, encoded as JSON (a `map[string][]string`). Available filters: - `id=` - `label=` - `membership=`(`accepted`|`pending`)` - `name=` - `node.label=` - `role=`(`manager`|`worker`)` ### Returns - `{:ok, [%Node{}, ...]}` on success - `{:error, Tesla.Env.t}` on failure """ @spec node_list(Tesla.Env.client, keyword()) :: {:ok, list(DockerEngineAPI.Model.Node.t)} | {:ok, DockerEngineAPI.Model.ErrorResponse.t} | {:error, Tesla.Env.t} def node_list(connection, opts \\ []) do optional_params = %{ :filters => :query } request = %{} |> method(:get) |> url("/nodes") |> add_optional_params(optional_params, opts) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, DockerEngineAPI.Model.Node}, {500, DockerEngineAPI.Model.ErrorResponse}, {503, DockerEngineAPI.Model.ErrorResponse} ]) end @doc """ Update a node ### Parameters - `connection` (DockerEngineAPI.Connection): Connection to server - `id` (String.t): The ID of the node - `version` (integer()): The version number of the node object being updated. This is required to avoid conflicting writes. - `opts` (keyword): Optional parameters - `:body` (NodeSpec): ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec node_update(Tesla.Env.client, String.t, integer(), keyword()) :: {:ok, nil} | {:ok, DockerEngineAPI.Model.ErrorResponse.t} | {:error, Tesla.Env.t} def node_update(connection, id, version, opts \\ []) do optional_params = %{ :body => :body } request = %{} |> method(:post) |> url("/nodes/#{id}/update") |> add_param(:query, :version, version) |> add_optional_params(optional_params, opts) |> ensure_body() |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false}, {400, DockerEngineAPI.Model.ErrorResponse}, {404, DockerEngineAPI.Model.ErrorResponse}, {500, DockerEngineAPI.Model.ErrorResponse}, {503, DockerEngineAPI.Model.ErrorResponse} ]) end end