Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
184 changes: 103 additions & 81 deletions src/main/java/com/github/dockerjava/api/command/CreateContainerCmd.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.github.dockerjava.api.exception.NotFoundException;
import com.github.dockerjava.api.model.AuthConfig;
import com.github.dockerjava.api.model.ExposedPort;
import com.github.dockerjava.api.model.HealthCheck;
import com.github.dockerjava.api.model.HostConfig;
import com.github.dockerjava.api.model.Volume;

Expand All @@ -16,171 +17,192 @@ public interface CreateContainerCmd extends SyncDockerCmd<CreateContainerRespons
@CheckForNull
AuthConfig getAuthConfig();

/**
* While using swarm classic, you can provide an optional auth config which will be used to pull images from a private registry,
* if the swarm node does not already have the docker image.
* Note: This option does not have any effect in normal docker
*
* @param authConfig The optional auth config
*/
CreateContainerCmd withAuthConfig(AuthConfig authConfig);

@CheckForNull
List<String> getAliases();

/**
* Add network-scoped alias for the container
*
* @param aliases on ore more aliases
*/
CreateContainerCmd withAliases(List<String> aliases);

/**
* Add network-scoped alias for the container
*
* @param aliases on ore more aliases
*/
CreateContainerCmd withAliases(String... aliases);

@CheckForNull
String[] getCmd();

CreateContainerCmd withCmd(String... cmd);

CreateContainerCmd withCmd(List<String> cmd);

@CheckForNull
HealthCheck getHealthcheck();

CreateContainerCmd withHealthcheck(HealthCheck healthCheck);

@CheckForNull
Boolean getArgsEscaped();

CreateContainerCmd withArgsEscaped(Boolean argsEscaped);

@CheckForNull
String getDomainName();

CreateContainerCmd withDomainName(String domainName);

@CheckForNull
String[] getEntrypoint();

CreateContainerCmd withEntrypoint(String... entrypoint);

CreateContainerCmd withEntrypoint(List<String> entrypoint);

@CheckForNull
String[] getEnv();

CreateContainerCmd withEnv(String... env);

CreateContainerCmd withEnv(List<String> env);

@CheckForNull
ExposedPort[] getExposedPorts();

CreateContainerCmd withExposedPorts(List<ExposedPort> exposedPorts);

CreateContainerCmd withExposedPorts(ExposedPort... exposedPorts);

@CheckForNull
String getStopSignal();

CreateContainerCmd withStopSignal(String stopSignal);

@CheckForNull
Integer getStopTimeout();

CreateContainerCmd withStopTimeout(Integer stopTimeout);

@CheckForNull
String getHostName();

CreateContainerCmd withHostName(String hostName);

@CheckForNull
String getImage();

CreateContainerCmd withImage(String image);

@CheckForNull
String getIpv4Address();

CreateContainerCmd withIpv4Address(String ipv4Address);

@CheckForNull
String getIpv6Address();

CreateContainerCmd withIpv6Address(String ipv6Address);

@CheckForNull
Map<String, String> getLabels();

CreateContainerCmd withLabels(Map<String, String> labels);

@CheckForNull
String getMacAddress();

CreateContainerCmd withMacAddress(String macAddress);

@CheckForNull
String getName();

CreateContainerCmd withName(String name);

@CheckForNull
String[] getPortSpecs();

CreateContainerCmd withPortSpecs(String... portSpecs);

CreateContainerCmd withPortSpecs(List<String> portSpecs);

@CheckForNull
String getUser();

CreateContainerCmd withUser(String user);

@CheckForNull
Volume[] getVolumes();

CreateContainerCmd withVolumes(Volume... volumes);

CreateContainerCmd withVolumes(List<Volume> volumes);

@CheckForNull
String getWorkingDir();

CreateContainerCmd withWorkingDir(String workingDir);

@CheckForNull
Boolean isAttachStderr();

CreateContainerCmd withAttachStderr(Boolean attachStderr);

@CheckForNull
Boolean isAttachStdin();

CreateContainerCmd withAttachStdin(Boolean attachStdin);

@CheckForNull
Boolean isAttachStdout();

CreateContainerCmd withAttachStdout(Boolean attachStdout);

@CheckForNull
Boolean isNetworkDisabled();

CreateContainerCmd withNetworkDisabled(Boolean disableNetwork);

@CheckForNull
Boolean isStdInOnce();

CreateContainerCmd withStdInOnce(Boolean stdInOnce);

@CheckForNull
Boolean isStdinOpen();

@CheckForNull
HostConfig getHostConfig();
CreateContainerCmd withStdinOpen(Boolean stdinOpen);

@CheckForNull
Boolean isTty();

/**
* While using swarm classic, you can provide an optional auth config which will be used to pull images from a private registry,
* if the swarm node does not already have the docker image.
* Note: This option does not have any effect in normal docker
* @param authConfig The optional auth config
*/
CreateContainerCmd withAuthConfig(AuthConfig authConfig);

/**
* Add network-scoped alias for the container
* @param aliases on ore more aliases
*/
CreateContainerCmd withAliases(String... aliases);

/**
* Add network-scoped alias for the container
* @param aliases on ore more aliases
*/
CreateContainerCmd withAliases(List<String> aliases);

CreateContainerCmd withAttachStderr(Boolean attachStderr);

CreateContainerCmd withAttachStdin(Boolean attachStdin);

CreateContainerCmd withAttachStdout(Boolean attachStdout);

CreateContainerCmd withCmd(String... cmd);

CreateContainerCmd withCmd(List<String> cmd);

CreateContainerCmd withDomainName(String domainName);

CreateContainerCmd withEntrypoint(String... entrypoint);

CreateContainerCmd withEntrypoint(List<String> entrypoint);

CreateContainerCmd withEnv(String... env);

CreateContainerCmd withEnv(List<String> env);

CreateContainerCmd withExposedPorts(ExposedPort... exposedPorts);

CreateContainerCmd withStopSignal(String stopSignal);

CreateContainerCmd withExposedPorts(List<ExposedPort> exposedPorts);

CreateContainerCmd withHostName(String hostName);

CreateContainerCmd withImage(String image);

CreateContainerCmd withIpv4Address(String ipv4Address);

CreateContainerCmd withIpv6Address(String ipv6Address);

CreateContainerCmd withLabels(Map<String, String> labels);

CreateContainerCmd withMacAddress(String macAddress);

CreateContainerCmd withName(String name);

CreateContainerCmd withNetworkDisabled(Boolean disableNetwork);

CreateContainerCmd withPortSpecs(String... portSpecs);

CreateContainerCmd withPortSpecs(List<String> portSpecs);

CreateContainerCmd withStdInOnce(Boolean stdInOnce);

CreateContainerCmd withStdinOpen(Boolean stdinOpen);

CreateContainerCmd withTty(Boolean tty);

CreateContainerCmd withUser(String user);

CreateContainerCmd withVolumes(Volume... volumes);
@CheckForNull
List<String> getOnBuild();

CreateContainerCmd withVolumes(List<Volume> volumes);
CreateContainerCmd withOnBuild(List<String> onBuild);

CreateContainerCmd withWorkingDir(String workingDir);
@CheckForNull
HostConfig getHostConfig();

CreateContainerCmd withHostConfig(HostConfig hostConfig);

/**
* @throws NotFoundException
* No such container
* @throws ConflictException
* Named container already exists
* @throws NotFoundException No such container
* @throws ConflictException Named container already exists
*/
@Override
CreateContainerResponse exec() throws NotFoundException, ConflictException;
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/github/dockerjava/api/model/AuthConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ public class AuthConfig implements Serializable {
*/
public static final String DEFAULT_SERVER_ADDRESS = "https://index.docker.io/v1/";

@JsonProperty
@JsonProperty("username")
private String username;

@JsonProperty
@JsonProperty("password")
private String password;

@JsonProperty
@JsonProperty("email")
private String email;

@JsonProperty("serveraddress")
Expand Down
54 changes: 54 additions & 0 deletions src/main/java/com/github/dockerjava/api/model/BlkioRateDevice.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.github.dockerjava.api.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

import java.io.Serializable;

import static org.apache.commons.lang.builder.ToStringStyle.SHORT_PREFIX_STYLE;

public class BlkioRateDevice implements Serializable {
public static final long serialVersionUID = 1L;

@JsonProperty("Path")
private String path;

@JsonProperty("Rate")
private Long rate;

public String getPath() {
return path;
}

public BlkioRateDevice withPath(String path) {
this.path = path;
return this;
}

public Long getRate() {
return rate;
}

public BlkioRateDevice withRate(Long rate) {
this.rate = rate;
return this;
}

@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, SHORT_PREFIX_STYLE);
}

@Override
public boolean equals(Object o) {
return EqualsBuilder.reflectionEquals(this, o);
}

@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}

}
Loading