Current section
Files
Jump to
Current section
Files
lib/docker_engine_api/api/node.ex
# 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=<node id>` - `label=<engine label>` - `membership=`(`accepted`|`pending`)` - `name=<node name>` - `node.label=<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