Modifier and Type | Class and Description |
---|---|
static class |
Exec.ExecProcess |
class |
Exec.ExecutionBuilder |
Constructor and Description |
---|
Exec()
Simple Exec API constructor, uses default configuration
|
Exec(io.kubernetes.client.openapi.ApiClient apiClient)
Exec API Constructor
|
Modifier and Type | Method and Description |
---|---|
Future<Integer> |
exec(String namespace,
String podName,
Consumer<io.kubernetes.client.custom.IOTrio> onOpen,
BiConsumer<Integer,io.kubernetes.client.custom.IOTrio> onClosed,
BiConsumer<Throwable,io.kubernetes.client.custom.IOTrio> onError,
Long timeoutMs,
boolean tty,
String... command)
A convenience method.
|
Process |
exec(String namespace,
String name,
String[] command,
boolean stdin)
Execute a command in a container.
|
Process |
exec(String namespace,
String name,
String[] command,
boolean stdin,
boolean tty)
Execute a command in a container.
|
Process |
exec(String namespace,
String name,
String[] command,
String container,
boolean stdin,
boolean tty)
Execute a command in a container.
|
Process |
exec(io.kubernetes.client.openapi.models.V1Pod pod,
String[] command,
boolean stdin)
Execute a command in a container.
|
Process |
exec(io.kubernetes.client.openapi.models.V1Pod pod,
String[] command,
boolean stdin,
boolean tty)
Execute a command in a container.
|
Process |
exec(io.kubernetes.client.openapi.models.V1Pod pod,
String[] command,
String container,
boolean stdin,
boolean tty)
Execute a command in a container.
|
io.kubernetes.client.openapi.ApiClient |
getApiClient()
Get the API client for these exec operations.
|
Exec.ExecutionBuilder |
newExecutionBuilder(String namespace,
String name,
String[] command)
Setup a Builder for the given namespace, name and command
|
protected void |
runAsync(String taskName,
Runnable task) |
void |
setApiClient(io.kubernetes.client.openapi.ApiClient apiClient)
Set the API client for subsequent exec operations.
|
public Exec()
public Exec(io.kubernetes.client.openapi.ApiClient apiClient)
apiClient
- The api client to use.public io.kubernetes.client.openapi.ApiClient getApiClient()
public void setApiClient(io.kubernetes.client.openapi.ApiClient apiClient)
apiClient
- The new API client to use.public Exec.ExecutionBuilder newExecutionBuilder(String namespace, String name, String[] command)
namespace
- The namespace of the Podname
- The name of the Podcommand
- The command to runpublic Process exec(String namespace, String name, String[] command, boolean stdin) throws io.kubernetes.client.openapi.ApiException, IOException
namespace
- The namespace of the Podname
- The name of the Podcommand
- The command to runstdin
- If true, pass a stdin stream into the containerio.kubernetes.client.openapi.ApiException
IOException
public Process exec(io.kubernetes.client.openapi.models.V1Pod pod, String[] command, boolean stdin) throws io.kubernetes.client.openapi.ApiException, IOException
pod
- The pod where the command is run.command
- The command to runstdin
- If true, pass a stdin stream into the containerio.kubernetes.client.openapi.ApiException
IOException
public Process exec(String namespace, String name, String[] command, boolean stdin, boolean tty) throws io.kubernetes.client.openapi.ApiException, IOException
namespace
- The namespace of the Podname
- The name of the Podcommand
- The command to runstdin
- If true, pass a stdin stream into the containertty
- If true, stdin is a tty.io.kubernetes.client.openapi.ApiException
IOException
public Process exec(io.kubernetes.client.openapi.models.V1Pod pod, String[] command, boolean stdin, boolean tty) throws io.kubernetes.client.openapi.ApiException, IOException
pod
- The pod where the command is run.command
- The command to runstdin
- If true, pass a stdin stream into the containertty
- If true, stdin is a tty.io.kubernetes.client.openapi.ApiException
IOException
public Process exec(io.kubernetes.client.openapi.models.V1Pod pod, String[] command, String container, boolean stdin, boolean tty) throws io.kubernetes.client.openapi.ApiException, IOException
pod
- The pod where the command is run.command
- The command to runcontainer
- The container in the Pod where the command is run.stdin
- If true, pass a stdin stream into the container.tty
- If true, stdin is a TTY (only applies if stdin is true)io.kubernetes.client.openapi.ApiException
IOException
public Process exec(String namespace, String name, String[] command, String container, boolean stdin, boolean tty) throws io.kubernetes.client.openapi.ApiException, IOException
namespace
- The namespace of the Podname
- The name of the Podcommand
- The command to runcontainer
- The container in the Pod where the command is run.stdin
- If true, pass a stdin stream into the container.tty
- If true, stdin is a TTY (only applies if stdin is true)io.kubernetes.client.openapi.ApiException
IOException
public Future<Integer> exec(String namespace, String podName, Consumer<io.kubernetes.client.custom.IOTrio> onOpen, BiConsumer<Integer,io.kubernetes.client.custom.IOTrio> onClosed, BiConsumer<Throwable,io.kubernetes.client.custom.IOTrio> onError, Long timeoutMs, boolean tty, String... command) throws IOException
namespace
- a namespace the target pod "lives" inpodName
- a name of the pod to exec the command ononOpen
- a callback invoked upon the connection established event.onClosed
- a callback invoked upon the process termination. Return code might not always
be there. N.B. this callback is invoked before the returned Future
is completed.onError
- a callback to handle k8s errors (NOT the command errors/stderr!)timeoutMs
- timeout in milliseconds for the execution. I.e. the execution will take this
many ms or less. If the timeout command is running longer than the allowed timeout, the
command will be "asked" to terminate gracefully. If the command is still running after the
grace period, the sigkill will be issued. If null is passed, the timeout will not be used
and will wait for process to exit itself.tty
- whether you need tty to pipe the data. TTY mode will trim some binary data in order
to make it possible to show on screen (tty)command
- a tokenized command to run on the podFuture
promise representing this execution. Unless something goes south, the
promise will contain the process return exit code. If the timeoutMs is non-null and the
timeout expires before the process exits, promise will contain Integer.MAX_VALUE
.IOException
Copyright © 2022. All rights reserved.