X Tutup
Skip to content

Commit bd1737b

Browse files
committed
Sync up to 1.22 API part 1
Squashed: - HostConfig.class: setXX() -> withXX() - Info.class - remove isXX that doesn't match primitives - added builder setters - Extract nested class from Info.class - Restore getter name. - IDEA generated it as javabean getter but docker-java uses other style? - Test case Info and fix. - Switch to reflection methods. - Easier fields detection. - Version.class to use reflection. - Clean-up imports. - Version.class serder test - AuthConfig.class add serder tests. - ContainerPort.class to reflection. - HostConfig.class to refleciton. - Test for CreateContainer with stopSignal - Implement UpdateContainerCmd with tests - Fix junit errors? - Fix and update test. - Deprecate container field - Do test conditional. - Value set according to response. - Cleanup test code after fix. - Clarify usage
1 parent b57c2de commit bd1737b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+4153
-225
lines changed

src/main/java/com/github/dockerjava/api/DockerClient.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
import com.github.dockerjava.api.command.TagImageCmd;
5454
import com.github.dockerjava.api.command.TopContainerCmd;
5555
import com.github.dockerjava.api.command.UnpauseContainerCmd;
56+
import com.github.dockerjava.api.command.UpdateContainerCmd;
5657
import com.github.dockerjava.api.command.VersionCmd;
5758
import com.github.dockerjava.api.command.WaitContainerCmd;
5859
import com.github.dockerjava.api.exception.DockerException;
@@ -175,6 +176,15 @@ public interface DockerClient extends Closeable {
175176

176177
public KillContainerCmd killContainerCmd(@Nonnull String containerId);
177178

179+
/**
180+
* Update container settings
181+
*
182+
* @param containerId id of the container
183+
* @return command
184+
* @since {@link RemoteApiVersion#VERSION_1_22}
185+
*/
186+
public UpdateContainerCmd updateContainerCmd(@Nonnull String containerId);
187+
178188
public RestartContainerCmd restartContainerCmd(@Nonnull String containerId);
179189

180190
public CommitCmd commitCmd(@Nonnull String containerId);

src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ public interface CreateContainerCmd extends SyncDockerCmd<CreateContainerRespons
8080
@CheckForNull
8181
public ExposedPort[] getExposedPorts();
8282

83+
@CheckForNull
84+
public String getStopSignal();
85+
8386
@CheckForNull
8487
public String[] getExtraHosts();
8588

@@ -280,6 +283,8 @@ public interface CreateContainerCmd extends SyncDockerCmd<CreateContainerRespons
280283

281284
public CreateContainerCmd withExposedPorts(ExposedPort... exposedPorts);
282285

286+
public CreateContainerCmd withStopSignal(String stopSignal);
287+
283288
public CreateContainerCmd withExposedPorts(List<ExposedPort> exposedPorts);
284289

285290
/**

src/main/java/com/github/dockerjava/api/command/DockerCmdExecFactory.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ public interface DockerCmdExecFactory extends Closeable {
6969

7070
public KillContainerCmd.Exec createKillContainerCmdExec();
7171

72+
UpdateContainerCmd.Exec createUpdateContainerCmdExec();
73+
7274
public RestartContainerCmd.Exec createRestartContainerCmdExec();
7375

7476
public CommitCmd.Exec createCommitCmdExec();

src/main/java/com/github/dockerjava/api/command/InspectExecResponse.java

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import com.github.dockerjava.api.model.NetworkSettings;
1010
import com.github.dockerjava.core.RemoteApiVersion;
1111

12+
import javax.annotation.CheckForNull;
13+
1214
@JsonIgnoreProperties(ignoreUnknown = true)
1315
public class InspectExecResponse {
1416
@JsonProperty("ID")
@@ -26,15 +28,37 @@ public class InspectExecResponse {
2628
@JsonProperty("Running")
2729
private Boolean running;
2830

31+
/**
32+
* @since {@link RemoteApiVersion#VERSION_1_22}
33+
*/
34+
@JsonProperty("CanRemove")
35+
private Boolean canRemove;
36+
2937
@JsonProperty("ExitCode")
3038
private Integer exitCode;
3139

3240
@JsonProperty("ProcessConfig")
3341
private ProcessConfig processConfig;
3442

43+
/**
44+
* @deprecated @since {@link RemoteApiVersion#VERSION_1_22}
45+
*/
46+
@Deprecated
3547
@JsonProperty("Container")
3648
private Container container;
3749

50+
/**
51+
* @since {@link RemoteApiVersion#VERSION_1_22}
52+
*/
53+
@JsonProperty("ContainerID")
54+
private String containerID;
55+
56+
/**
57+
* @since {@link RemoteApiVersion#VERSION_1_22}
58+
*/
59+
@JsonProperty("DetachKeys")
60+
private String detachKeys;
61+
3862
public String getId() {
3963
return id;
4064
}
@@ -63,10 +87,38 @@ public ProcessConfig getProcessConfig() {
6387
return processConfig;
6488
}
6589

90+
/**
91+
* @see #container
92+
*/
93+
@Deprecated
6694
public Container getContainer() {
6795
return container;
6896
}
6997

98+
/**
99+
* @see #canRemove
100+
*/
101+
@CheckForNull
102+
public Boolean getCanRemove() {
103+
return canRemove;
104+
}
105+
106+
/**
107+
* @see #containerID
108+
*/
109+
@CheckForNull
110+
public String getContainerID() {
111+
return containerID;
112+
}
113+
114+
/**
115+
* @see #detachKeys
116+
*/
117+
@CheckForNull
118+
public String getDetachKeys() {
119+
return detachKeys;
120+
}
121+
70122
@Override
71123
public String toString() {
72124
return ToStringBuilder.reflectionToString(this);
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package com.github.dockerjava.api.command;
2+
3+
import com.github.dockerjava.api.model.UpdateContainerResponse;
4+
5+
import javax.annotation.CheckForNull;
6+
7+
/**
8+
* @author Kanstantsin Shautsou
9+
*/
10+
public interface UpdateContainerCmd extends SyncDockerCmd<UpdateContainerResponse> {
11+
@CheckForNull
12+
String getContainerId();
13+
14+
@CheckForNull
15+
public Integer getBlkioWeight();
16+
17+
public UpdateContainerCmd withBlkioWeight(Integer blkioWeight);
18+
19+
public UpdateContainerCmd withContainerId(String containerId);
20+
21+
@CheckForNull
22+
public Integer getCpuPeriod();
23+
24+
public UpdateContainerCmd withCpuPeriod(Integer cpuPeriod);
25+
26+
@CheckForNull
27+
public Integer getCpuQuota();
28+
29+
public UpdateContainerCmd withCpuQuota(Integer cpuQuota);
30+
31+
@CheckForNull
32+
public String getCpusetCpus();
33+
34+
public UpdateContainerCmd withCpusetCpus(String cpusetCpus);
35+
36+
@CheckForNull
37+
public String getCpusetMems();
38+
39+
public UpdateContainerCmd withCpusetMems(String cpusetMems);
40+
41+
@CheckForNull
42+
public Integer getCpuShares();
43+
44+
public UpdateContainerCmd withCpuShares(Integer cpuShares);
45+
46+
@CheckForNull
47+
public Long getKernelMemory();
48+
49+
public UpdateContainerCmd withKernelMemory(Long kernelMemory);
50+
51+
@CheckForNull
52+
public Long getMemory();
53+
54+
public UpdateContainerCmd withMemory(Long memory);
55+
56+
@CheckForNull
57+
public Long getMemoryReservation();
58+
59+
public UpdateContainerCmd withMemoryReservation(Long memoryReservation);
60+
61+
@CheckForNull
62+
Long getMemorySwap();
63+
64+
UpdateContainerCmd withMemorySwap(Long memorySwap);
65+
66+
interface Exec extends DockerCmdSyncExec<UpdateContainerCmd, UpdateContainerResponse> {
67+
}
68+
}

src/main/java/com/github/dockerjava/api/model/AuthConfig.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import com.fasterxml.jackson.annotation.JsonInclude.Include;
88
import com.fasterxml.jackson.annotation.JsonProperty;
99

10+
import javax.annotation.CheckForNull;
11+
1012
@JsonInclude(Include.NON_NULL)
1113
public class AuthConfig {
1214

@@ -32,6 +34,12 @@ public class AuthConfig {
3234
@JsonProperty("auth")
3335
private String auth;
3436

37+
/**
38+
* @since {@link com.github.dockerjava.core.RemoteApiVersion#VERSION_1_22}
39+
*/
40+
@JsonProperty("registrytoken")
41+
private String registrytoken;
42+
3543
public String getUsername() {
3644
return username;
3745
}
@@ -77,6 +85,22 @@ public AuthConfig withAuth(String auth) {
7785
return this;
7886
}
7987

88+
/**
89+
* @see #registrytoken
90+
*/
91+
@CheckForNull
92+
public String getRegistrytoken() {
93+
return registrytoken;
94+
}
95+
96+
/**
97+
* @see #registrytoken
98+
*/
99+
public AuthConfig withRegistrytoken(String registrytoken) {
100+
this.registrytoken = registrytoken;
101+
return this;
102+
}
103+
80104
@Override
81105
public String toString() {
82106
return ReflectionToStringBuilder.toString(this, ToStringStyle.SHORT_PREFIX_STYLE);

0 commit comments

Comments
 (0)
X Tutup