From 8beeb15810bcb11a96d3921f91afca366a89c4cf Mon Sep 17 00:00:00 2001 From: Kush Vyas Date: Sun, 16 Aug 2026 18:34:14 +0530 Subject: [PATCH] feat: expose inspect swarm node command --- .../github/dockerjava/api/DockerClient.java | 10 +++++++ .../dockerjava/api/DockerClientDelegate.java | 6 +++++ .../dockerjava/core/DockerClientImpl.java | 7 +++++ .../cmd/swarm/InspectSwarmNodeCmdExecIT.java | 26 +++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 docker-java/src/test/java/com/github/dockerjava/cmd/swarm/InspectSwarmNodeCmdExecIT.java diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/DockerClient.java b/docker-java-api/src/main/java/com/github/dockerjava/api/DockerClient.java index bf6acdee0..f0051b86c 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/DockerClient.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/DockerClient.java @@ -31,6 +31,7 @@ import com.github.dockerjava.api.command.InspectNetworkCmd; import com.github.dockerjava.api.command.InspectServiceCmd; import com.github.dockerjava.api.command.InspectSwarmCmd; +import com.github.dockerjava.api.command.InspectSwarmNodeCmd; import com.github.dockerjava.api.command.InspectVolumeCmd; import com.github.dockerjava.api.command.JoinSwarmCmd; import com.github.dockerjava.api.command.KillContainerCmd; @@ -359,6 +360,15 @@ public interface DockerClient extends Closeable { */ UpdateSwarmNodeCmd updateSwarmNodeCmd(); + /** + * Inspect the swarm node + * + * @param swarmNodeId swarmNodeId + * @return the command + * @since 1.24 + */ + InspectSwarmNodeCmd inspectSwarmNodeCmd(String swarmNodeId); + /** * Remove the swarm node * diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/DockerClientDelegate.java b/docker-java-api/src/main/java/com/github/dockerjava/api/DockerClientDelegate.java index da600bd4d..c179cd8ec 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/DockerClientDelegate.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/DockerClientDelegate.java @@ -31,6 +31,7 @@ import com.github.dockerjava.api.command.InspectNetworkCmd; import com.github.dockerjava.api.command.InspectServiceCmd; import com.github.dockerjava.api.command.InspectSwarmCmd; +import com.github.dockerjava.api.command.InspectSwarmNodeCmd; import com.github.dockerjava.api.command.InspectVolumeCmd; import com.github.dockerjava.api.command.JoinSwarmCmd; import com.github.dockerjava.api.command.KillContainerCmd; @@ -442,6 +443,11 @@ public UpdateSwarmNodeCmd updateSwarmNodeCmd() { return getDockerClient().updateSwarmNodeCmd(); } + @Override + public InspectSwarmNodeCmd inspectSwarmNodeCmd(String swarmNodeId) { + return getDockerClient().inspectSwarmNodeCmd(swarmNodeId); + } + @Override public RemoveSwarmNodeCmd removeSwarmNodeCmd(String swarmNodeId) { return getDockerClient().removeSwarmNodeCmd(swarmNodeId); diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientImpl.java b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientImpl.java index a1ddc2897..de2bb5826 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientImpl.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/DockerClientImpl.java @@ -33,6 +33,7 @@ import com.github.dockerjava.api.command.InspectNetworkCmd; import com.github.dockerjava.api.command.InspectServiceCmd; import com.github.dockerjava.api.command.InspectSwarmCmd; +import com.github.dockerjava.api.command.InspectSwarmNodeCmd; import com.github.dockerjava.api.command.InspectVolumeCmd; import com.github.dockerjava.api.command.JoinSwarmCmd; import com.github.dockerjava.api.command.KillContainerCmd; @@ -119,6 +120,7 @@ import com.github.dockerjava.core.command.ImageHistoryCmdImpl; import com.github.dockerjava.core.command.InspectServiceCmdImpl; import com.github.dockerjava.core.command.InspectSwarmCmdImpl; +import com.github.dockerjava.core.command.InspectSwarmNodeCmdImpl; import com.github.dockerjava.core.command.InspectVolumeCmdImpl; import com.github.dockerjava.core.command.JoinSwarmCmdImpl; import com.github.dockerjava.core.command.KillContainerCmdImpl; @@ -637,6 +639,11 @@ public UpdateSwarmNodeCmd updateSwarmNodeCmd() { return new UpdateSwarmNodeCmdImpl(getDockerCmdExecFactory().updateSwarmNodeCmdExec()); } + @Override + public InspectSwarmNodeCmd inspectSwarmNodeCmd(String swarmNodeId) { + return new InspectSwarmNodeCmdImpl(getDockerCmdExecFactory().inspectSwarmNodeCmdExec(), swarmNodeId); + } + @Override public RemoveSwarmNodeCmd removeSwarmNodeCmd(String swarmNodeId) { return new RemoveSwarmNodeCmdImpl(getDockerCmdExecFactory().removeSwarmNodeCmdExec(), swarmNodeId); diff --git a/docker-java/src/test/java/com/github/dockerjava/cmd/swarm/InspectSwarmNodeCmdExecIT.java b/docker-java/src/test/java/com/github/dockerjava/cmd/swarm/InspectSwarmNodeCmdExecIT.java new file mode 100644 index 000000000..c8061d347 --- /dev/null +++ b/docker-java/src/test/java/com/github/dockerjava/cmd/swarm/InspectSwarmNodeCmdExecIT.java @@ -0,0 +1,26 @@ +package com.github.dockerjava.cmd.swarm; + +import com.github.dockerjava.api.DockerClient; +import com.github.dockerjava.api.model.SwarmNode; +import org.junit.Test; + +import java.util.List; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; + +public class InspectSwarmNodeCmdExecIT extends SwarmCmdIT { + + @Test + public void testInspectSwarmNode() { + DockerClient dockerClient = startSwarm(); + + List nodes = dockerClient.listSwarmNodesCmd().exec(); + assertThat(nodes.size(), is(1)); + + String nodeId = nodes.get(0).getId(); + SwarmNode node = dockerClient.inspectSwarmNodeCmd(nodeId).exec(); + + assertThat(node.getId(), is(nodeId)); + } +}