LOGGER.debug("Executing Docker List Container Request");
String imageId = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE_ID, configuration, message, String.class);
CreateContainerCmd createContainerCmd = client.createContainerCmd(imageId);
String name = DockerHelper.getProperty(DockerConstants.DOCKER_NAME, configuration, message, String.class);
if (name != null) {
createContainerCmd.withName(name);
}
ExposedPort[] exposedPorts = DockerHelper.getArrayProperty(DockerConstants.DOCKER_EXPOSED_PORTS, message, ExposedPort.class);
if (exposedPorts != null) {
createContainerCmd.withExposedPorts(exposedPorts);
}
String workingDir = DockerHelper.getProperty(DockerConstants.DOCKER_WORKING_DIR, configuration, message, String.class);
if (workingDir != null) {
createContainerCmd.withWorkingDir(workingDir);
}
Boolean disabledNetwork = DockerHelper.getProperty(DockerConstants.DOCKER_DISABLE_NETWORK, configuration, message, Boolean.class);
if (disabledNetwork != null && disabledNetwork) {
createContainerCmd.withDisableNetwork(disabledNetwork);
}
String hostName = DockerHelper.getProperty(DockerConstants.DOCKER_HOSTNAME, configuration, message, String.class);
if (hostName != null) {
createContainerCmd.withHostName(hostName);
}
String[] portSpecs = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_PORT_SPECS, message);
if (portSpecs != null) {
createContainerCmd.withPortSpecs(portSpecs);
}
String user = DockerHelper.getProperty(DockerConstants.DOCKER_USER, configuration, message, String.class);
if (hostName != null) {
createContainerCmd.withUser(user);
}
Boolean tty = DockerHelper.getProperty(DockerConstants.DOCKER_TTY, configuration, message, Boolean.class);
if (tty != null && tty) {
createContainerCmd.withTty(tty);
}
Boolean stdInOpen = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_OPEN, configuration, message, Boolean.class);
if (stdInOpen != null && stdInOpen) {
createContainerCmd.withStdinOpen(stdInOpen);
}
Boolean stdInOnce = DockerHelper.getProperty(DockerConstants.DOCKER_STD_IN_ONCE, configuration, message, Boolean.class);
if (stdInOnce != null && stdInOnce) {
createContainerCmd.withStdInOnce(stdInOnce);
}
Long memoryLimit = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_LIMIT, configuration, message, Long.class);
if (memoryLimit != null) {
createContainerCmd.withMemoryLimit(memoryLimit);
}
Long memorySwap = DockerHelper.getProperty(DockerConstants.DOCKER_MEMORY_SWAP, configuration, message, Long.class);
if (memorySwap != null) {
createContainerCmd.withMemorySwap(memorySwap);
}
Integer cpuShares = DockerHelper.getProperty(DockerConstants.DOCKER_CPU_SHARES, configuration, message, Integer.class);
if (cpuShares != null) {
createContainerCmd.withCpuShares(cpuShares);
}
Boolean attachStdIn = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_IN, configuration, message, Boolean.class);
if (attachStdIn != null && attachStdIn) {
createContainerCmd.withAttachStdin(attachStdIn);
}
Boolean attachStdOut = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_OUT, configuration, message, Boolean.class);
if (attachStdOut != null && attachStdOut) {
createContainerCmd.withAttachStdout(attachStdOut);
}
Boolean attachStdErr = DockerHelper.getProperty(DockerConstants.DOCKER_ATTACH_STD_ERR, configuration, message, Boolean.class);
if (attachStdErr != null && attachStdErr) {
createContainerCmd.withAttachStderr(attachStdErr);
}
String[] env = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_ENV, message);
if (env != null) {
createContainerCmd.withEnv(env);
}
String[] cmd = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_CMD, message);
if (cmd != null) {
createContainerCmd.withCmd(env);
}
String[] dns = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_DNS, message);
if (dns != null) {
createContainerCmd.withDns(dns);
}
String image = DockerHelper.getProperty(DockerConstants.DOCKER_IMAGE, configuration, message, String.class);
if (image != null) {
createContainerCmd.withImage(image);
}
Volume[] volume = DockerHelper.getArrayProperty(DockerConstants.DOCKER_VOLUMES, message, Volume.class);
if (volume != null) {
createContainerCmd.withVolumes(volume);
}
String[] volumesFrom = DockerHelper.parseDelimitedStringHeader(DockerConstants.DOCKER_VOLUMES_FROM, message);
if (volumesFrom != null) {
createContainerCmd.withVolumesFrom(volumesFrom);
}
return createContainerCmd;
}