Packages

The Engine API is an HTTP API served by Docker Engine. It is the API the Docker client uses to communicate with the Engine, so everything the Docker client can do can be done with the API.

Current section

Files

Jump to
ex_docker_engine_api lib docker_engine_api api exec.ex
Raw

lib/docker_engine_api/api/exec.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.Exec do
@moduledoc """
API calls for all endpoints tagged `Exec`.
"""
alias DockerEngineAPI.Connection
import DockerEngineAPI.RequestBuilder
@doc """
Create an exec instance
Run a command inside a running container.
### Parameters
- `connection` (DockerEngineAPI.Connection): Connection to server
- `id` (String.t): ID or name of container
- `exec_config` (ExecConfig): Exec configuration
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, DockerEngineAPI.Model.IdResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec container_exec(Tesla.Env.client, String.t, DockerEngineAPI.Model.ExecConfig.t, keyword()) :: {:ok, DockerEngineAPI.Model.ErrorResponse.t} | {:ok, DockerEngineAPI.Model.IdResponse.t} | {:error, Tesla.Env.t}
def container_exec(connection, id, exec_config, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/containers/#{id}/exec")
|> add_param(:body, :body, exec_config)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, DockerEngineAPI.Model.IdResponse},
{404, DockerEngineAPI.Model.ErrorResponse},
{409, DockerEngineAPI.Model.ErrorResponse},
{500, DockerEngineAPI.Model.ErrorResponse}
])
end
@doc """
Inspect an exec instance
Return low-level information about an exec instance.
### Parameters
- `connection` (DockerEngineAPI.Connection): Connection to server
- `id` (String.t): Exec instance ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, DockerEngineAPI.Model.ExecInspectResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec exec_inspect(Tesla.Env.client, String.t, keyword()) :: {:ok, DockerEngineAPI.Model.ErrorResponse.t} | {:ok, DockerEngineAPI.Model.ExecInspectResponse.t} | {:error, Tesla.Env.t}
def exec_inspect(connection, id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/exec/#{id}/json")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, DockerEngineAPI.Model.ExecInspectResponse},
{404, DockerEngineAPI.Model.ErrorResponse},
{500, DockerEngineAPI.Model.ErrorResponse}
])
end
@doc """
Resize an exec instance
Resize the TTY session used by an exec instance. This endpoint only works if `tty` was specified as part of creating and starting the exec instance.
### Parameters
- `connection` (DockerEngineAPI.Connection): Connection to server
- `id` (String.t): Exec instance ID
- `opts` (keyword): Optional parameters
- `:h` (integer()): Height of the TTY session in characters
- `:w` (integer()): Width of the TTY session in characters
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec exec_resize(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:ok, DockerEngineAPI.Model.ErrorResponse.t} | {:error, Tesla.Env.t}
def exec_resize(connection, id, opts \\ []) do
optional_params = %{
:h => :query,
:w => :query
}
request =
%{}
|> method(:post)
|> url("/exec/#{id}/resize")
|> 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}
])
end
@doc """
Start an exec instance
Starts a previously set up exec instance. If detach is true, this endpoint returns immediately after starting the command. Otherwise, it sets up an interactive session with the command.
### Parameters
- `connection` (DockerEngineAPI.Connection): Connection to server
- `id` (String.t): Exec instance ID
- `opts` (keyword): Optional parameters
- `:body` (ExecStartConfig):
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec exec_start(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:ok, DockerEngineAPI.Model.ErrorResponse.t} | {:error, Tesla.Env.t}
def exec_start(connection, id, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:post)
|> url("/exec/#{id}/start")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, false},
{404, DockerEngineAPI.Model.ErrorResponse},
{409, DockerEngineAPI.Model.ErrorResponse}
])
end
end