diff --git a/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java b/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java index 77bf100ac..e2b0072fa 100644 --- a/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java +++ b/src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java @@ -197,6 +197,9 @@ public interface CreateContainerCmd extends SyncDockerCmd securityOpt); + /** * @throws NotFoundException * No such container diff --git a/src/main/java/com/github/dockerjava/api/model/HostConfig.java b/src/main/java/com/github/dockerjava/api/model/HostConfig.java index 062082a03..62bde8650 100644 --- a/src/main/java/com/github/dockerjava/api/model/HostConfig.java +++ b/src/main/java/com/github/dockerjava/api/model/HostConfig.java @@ -174,7 +174,7 @@ public class HostConfig implements Serializable { * @since {@link RemoteApiVersion#VERSION_1_20} */ @JsonProperty("SecurityOpt") - private List securityOpts; + private String[] securityOpts; /** * @since {@link RemoteApiVersion#VERSION_1_20} @@ -387,7 +387,7 @@ public Boolean getOomKillDisable() { * @see #securityOpts */ @CheckForNull - public List getSecurityOpts() { + public String[] getSecurityOpts() { return securityOpts; } @@ -758,7 +758,7 @@ public HostConfig withRestartPolicy(RestartPolicy restartPolicy) { /** * @see #securityOpts */ - public HostConfig withSecurityOpts(List securityOpts) { + public HostConfig withSecurityOpts(String[] securityOpts) { this.securityOpts = securityOpts; return this; } diff --git a/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java b/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java index f3cfefa05..7c224eec1 100644 --- a/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java +++ b/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java @@ -482,6 +482,12 @@ public String getCgroupParent() { return hostConfig.getCgroupParent(); } + @Override + @JsonIgnore + public String[] getSecurityOpts() { + return hostConfig.getSecurityOpts(); + } + @Override public CreateContainerCmd withAliases(String... aliases) { this.aliases = Arrays.asList(aliases); @@ -987,6 +993,17 @@ public CreateContainerCmd withHostConfig(HostConfig hostConfig) { return this; } + public CreateContainerCmd withSecurityOpts(String... securityOpt) { + this.hostConfig.withSecurityOpts(securityOpt); + return this; + } + + @Override + public CreateContainerCmd withSecurityOpts(List securityOpt) { + checkNotNull(securityOpt, "security_opt was not specified"); + return withSecurityOpts(securityOpt.toArray(new String[securityOpt.size()])); + } + @Override public String toString() { return ToStringBuilder.reflectionToString(this);