You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2016/08/30 09:44:07 UTC

[5/6] jclouds-labs git commit: Remove Docker. It is now on the main repo

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/compute/strategy/DockerComputeServiceAdapter.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/compute/strategy/DockerComputeServiceAdapter.java b/docker/src/main/java/org/jclouds/docker/compute/strategy/DockerComputeServiceAdapter.java
deleted file mode 100644
index 690b50e..0000000
--- a/docker/src/main/java/org/jclouds/docker/compute/strategy/DockerComputeServiceAdapter.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.compute.strategy;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.find;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-
-import org.jclouds.compute.ComputeServiceAdapter;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.HardwareBuilder;
-import org.jclouds.compute.domain.Processor;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.compute.reference.ComputeServiceConstants;
-import org.jclouds.docker.DockerApi;
-import org.jclouds.docker.compute.options.DockerTemplateOptions;
-import org.jclouds.docker.domain.Config;
-import org.jclouds.docker.domain.Container;
-import org.jclouds.docker.domain.ContainerSummary;
-import org.jclouds.docker.domain.HostConfig;
-import org.jclouds.docker.domain.Image;
-import org.jclouds.docker.domain.ImageSummary;
-import org.jclouds.docker.options.CreateImageOptions;
-import org.jclouds.docker.options.ListContainerOptions;
-import org.jclouds.docker.options.RemoveContainerOptions;
-import org.jclouds.domain.Location;
-import org.jclouds.domain.LoginCredentials;
-import org.jclouds.logging.Logger;
-
-/**
- * defines the connection between the {@link org.jclouds.docker.DockerApi} implementation and
- * the jclouds {@link org.jclouds.compute.ComputeService}
- */
-@Singleton
-public class DockerComputeServiceAdapter implements
-        ComputeServiceAdapter<Container, Hardware, Image, Location> {
-
-
-   /**
-    * Some Docker versions returns host prefix even for images from Docker hub in repoTags field. We use this constant
-    * to correctly identify requested image name.
-    */
-   public static final String PREFIX_DOCKER_HUB_HOST = "docker.io/";
-
-   /**
-    * (Optional) Suffix used, when image version is not used during searching images.
-    */
-   public static final String SUFFIX_LATEST_VERSION = ":latest";
-
-   private static final String PATTERN_IMAGE_PREFIX = "^(" + Pattern.quote(PREFIX_DOCKER_HUB_HOST) + ")?";
-   private static final String PATTERN_IMAGE_SUFFIX = "(" + Pattern.quote(SUFFIX_LATEST_VERSION) + ")?$";
-
-   @Resource
-   @Named(ComputeServiceConstants.COMPUTE_LOGGER)
-   protected Logger logger = Logger.NULL;
-
-   private final DockerApi api;
-
-   @Inject
-   public DockerComputeServiceAdapter(DockerApi api) {
-      this.api = checkNotNull(api, "api");
-   }
-
-   @SuppressWarnings({ "rawtypes", "unchecked" })
-   @Override
-   public NodeAndInitialCredentials<Container> createNodeWithGroupEncodedIntoName(String group, String name,
-                                                                                  Template template) {
-      checkNotNull(template, "template was null");
-      TemplateOptions options = template.getOptions();
-      checkNotNull(options, "template options was null");
-
-      String imageId = checkNotNull(template.getImage().getId(), "template image id must not be null");
-      String loginUser = template.getImage().getDefaultCredentials().getUser();
-      String loginUserPassword = template.getImage().getDefaultCredentials().getOptionalPassword().or("password");
-
-      DockerTemplateOptions templateOptions = DockerTemplateOptions.class.cast(options);
-
-      Config containerConfig = null;
-      Config.Builder containerConfigBuilder = templateOptions.getConfigBuilder();
-      if (containerConfigBuilder == null) {
-         containerConfigBuilder = Config.builder().image(imageId);
-
-         containerConfigBuilder.entrypoint(templateOptions.getEntrypoint());
-         containerConfigBuilder.cmd(templateOptions.getCommands());
-         containerConfigBuilder.memory(templateOptions.getMemory());
-         containerConfigBuilder.hostname(templateOptions.getHostname());
-         containerConfigBuilder.cpuShares(templateOptions.getCpuShares());
-         containerConfigBuilder.openStdin(templateOptions.getOpenStdin());
-         containerConfigBuilder.env(templateOptions.getEnv());
-
-         if (!templateOptions.getVolumes().isEmpty()) {
-            Map<String, Object> volumes = Maps.newLinkedHashMap();
-            for (String containerDir : templateOptions.getVolumes().values()) {
-               volumes.put(containerDir, Maps.newHashMap());
-            }
-            containerConfigBuilder.volumes(volumes);
-         }
-
-         HostConfig.Builder hostConfigBuilder = HostConfig.builder()
-               .publishAllPorts(true)
-               .privileged(templateOptions.getPrivileged());
-
-         if (!templateOptions.getPortBindings().isEmpty()) {
-            Map<String, List<Map<String, String>>> portBindings = Maps.newHashMap();
-            for (Map.Entry<Integer, Integer> entry : templateOptions.getPortBindings().entrySet()) {
-               portBindings.put(entry.getValue() + "/tcp",
-                     Lists.<Map<String, String>>newArrayList(ImmutableMap.of("HostIp", "0.0.0.0", "HostPort", Integer.toString(entry.getKey()))));
-            }
-            hostConfigBuilder.portBindings(portBindings);
-         }
-
-         if (!templateOptions.getDns().isEmpty()) {
-            hostConfigBuilder.dns(templateOptions.getDns());
-         }
-
-         if (!templateOptions.getExtraHosts().isEmpty()) {
-            List<String> extraHosts = Lists.newArrayList();
-            for (Map.Entry<String, String> entry : templateOptions.getExtraHosts().entrySet()) {
-               extraHosts.add(entry.getKey() + ":" + entry.getValue());
-            }
-            hostConfigBuilder.extraHosts(extraHosts);
-         }
-
-         if (!templateOptions.getVolumes().isEmpty()) {
-            for (Map.Entry<String, String> entry : templateOptions.getVolumes().entrySet()) {
-               hostConfigBuilder.binds(ImmutableList.of(entry.getKey() + ":" + entry.getValue()));
-            }
-         }
-
-         if (!templateOptions.getVolumesFrom().isEmpty()) {
-            hostConfigBuilder.volumesFrom(templateOptions.getVolumesFrom());
-         }
-
-         hostConfigBuilder.networkMode(templateOptions.getNetworkMode());
-
-         containerConfigBuilder.hostConfig(hostConfigBuilder.build());
-
-         // add the inbound ports into exposed ports map
-         containerConfig = containerConfigBuilder.build();
-         Map<String, Object> exposedPorts = Maps.newHashMap();
-         if (containerConfig.exposedPorts() == null) {
-            exposedPorts.putAll(containerConfig.exposedPorts());
-         }
-         for (int inboundPort : templateOptions.getInboundPorts()) {
-            String portKey = inboundPort + "/tcp";
-            if (!exposedPorts.containsKey(portKey)) {
-               exposedPorts.put(portKey, Maps.newHashMap());
-            }
-         }
-         containerConfigBuilder.exposedPorts(exposedPorts);
-
-         // build once more after setting inboundPorts
-         containerConfig = containerConfigBuilder.build();
-
-         // finally update port bindings
-         Map<String, List<Map<String, String>>> portBindings = Maps.newHashMap();
-         Map<String, List<Map<String, String>>> existingBindings = containerConfig.hostConfig().portBindings();
-         if (existingBindings != null) {
-            portBindings.putAll(existingBindings);
-         }
-         for (String exposedPort : containerConfig.exposedPorts().keySet()) {
-            if (!portBindings.containsKey(exposedPort)) {
-               portBindings.put(exposedPort, Lists.<Map<String, String>>newArrayList(ImmutableMap.of("HostIp", "0.0.0.0")));
-            }
-         }
-         hostConfigBuilder = HostConfig.builder().fromHostConfig(containerConfig.hostConfig());
-         hostConfigBuilder.portBindings(portBindings);
-         containerConfigBuilder.hostConfig(hostConfigBuilder.build());
-      } else {
-         containerConfigBuilder.image(imageId);
-      }
-
-      containerConfig = containerConfigBuilder.build();
-
-      logger.debug(">> creating new container with containerConfig(%s)", containerConfig);
-      Container container = api.getContainerApi().createContainer(name, containerConfig);
-      logger.trace("<< container(%s)", container.id());
-
-      if (templateOptions.getNetworks() != null) {
-          logger.debug(">> connecting container(%s) to networks(%s)", container.id(), Iterables.toString(templateOptions.getNetworks()));
-          for (String networkIdOrName : templateOptions.getNetworks()) {
-              api.getNetworkApi().connectContainerToNetwork(networkIdOrName, container.id());
-          }
-          logger.trace("<< connected(%s)", container.id());
-      }
-
-      HostConfig hostConfig = containerConfig.hostConfig();
-
-      logger.debug(">> starting container(%s) with hostConfig(%s)", container.id(), hostConfig);
-      api.getContainerApi().startContainer(container.id(), hostConfig);
-      logger.trace("<< started(%s)", container.id());
-
-      container = api.getContainerApi().inspectContainer(container.id());
-      if (container.state().exitCode() != 0) {
-         destroyNode(container.id());
-         throw new IllegalStateException(String.format("Container %s has not started correctly", container.id()));
-      }
-      return new NodeAndInitialCredentials(container, container.id(),
-              LoginCredentials.builder().user(loginUser).password(loginUserPassword).build());
-   }
-
-   @Override
-   public Iterable<Hardware> listHardwareProfiles() {
-      Set<Hardware> hardware = Sets.newLinkedHashSet();
-      // todo they are only placeholders at the moment
-      hardware.add(new HardwareBuilder().ids("micro").hypervisor("lxc").name("micro").processor(new Processor(1, 1)).ram(512).build());
-      hardware.add(new HardwareBuilder().ids("small").hypervisor("lxc").name("small").processor(new Processor(1, 1)).ram(1024).build());
-      hardware.add(new HardwareBuilder().ids("medium").hypervisor("lxc").name("medium").processor(new Processor(2, 1)).ram(2048).build());
-      hardware.add(new HardwareBuilder().ids("large").hypervisor("lxc").name("large").processor(new Processor(2, 1)).ram(3072).build());
-      return hardware;
-   }
-
-   /**
-    * Method based on {@link org.jclouds.docker.features.ImageApi#listImages()}. It retrieves additional
-    * information by inspecting each image.
-    *
-    * @see org.jclouds.compute.ComputeServiceAdapter#listImages()
-    */
-   @Override
-   public Set<Image> listImages() {
-      Set<Image> images = Sets.newHashSet();
-      for (ImageSummary imageSummary : api.getImageApi().listImages()) {
-         // less efficient than just listImages but returns richer json that needs repoTags coming from listImages
-         Image inspected = api.getImageApi().inspectImage(imageSummary.id());
-         inspected = Image.create(inspected.id(), inspected.author(), inspected.comment(), inspected.config(),
-                    inspected.containerConfig(), inspected.parent(), inspected.created(), inspected.container(),
-                 inspected.dockerVersion(), inspected.architecture(), inspected.os(), inspected.size(),
-                    inspected.virtualSize(), imageSummary.repoTags());
-         images.add(inspected);
-      }
-      return images;
-   }
-
-   @Override
-   public Image getImage(final String imageIdOrName) {
-      checkNotNull(imageIdOrName);
-      if (imageIdOrName.startsWith("sha256")) {
-         // less efficient than just inspectImage but listImages return repoTags
-         return find(listImages(), new Predicate<Image>() {
-            @Override
-            public boolean apply(Image input) {
-               // Only attempt match on id as we should try to pull again anyway if using name
-               return input.id().equals(imageIdOrName);
-            }
-         }, null);
-      }
-
-      // Image is not cached or getting image by name so try to pull it
-      api.getImageApi().createImage(CreateImageOptions.Builder.fromImage(imageIdOrName));
-
-      // as above this ensure repotags are returned
-      return find(listImages(), createPredicateMatchingRepoTags(imageIdOrName), null);
-   }
-
-   @Override
-   public Iterable<Container> listNodes() {
-      Set<Container> containers = Sets.newHashSet();
-      for (ContainerSummary containerSummary : api.getContainerApi().listContainers(ListContainerOptions.Builder.all(true))) {
-         // less efficient than just listNodes but returns richer json
-         containers.add(api.getContainerApi().inspectContainer(containerSummary.id()));
-      }
-      return containers;
-   }
-
-   @Override
-   public Iterable<Container> listNodesByIds(final Iterable<String> ids) {
-      Set<Container> containers = Sets.newHashSet();
-      for (String id : ids) {
-         containers.add(api.getContainerApi().inspectContainer(id));
-      }
-      return containers;
-   }
-
-   @Override
-   public Iterable<Location> listLocations() {
-      return ImmutableSet.of();
-   }
-
-   @Override
-   public Container getNode(String id) {
-      return api.getContainerApi().inspectContainer(id);
-   }
-
-   @Override
-   public void destroyNode(String id) {
-      api.getContainerApi().removeContainer(id, RemoveContainerOptions.Builder.force(true));
-   }
-
-   @Override
-   public void rebootNode(String id) {
-      api.getContainerApi().stopContainer(id);
-      api.getContainerApi().startContainer(id);
-   }
-
-   @Override
-   public void resumeNode(String id) {
-      api.getContainerApi().unpause(id);
-   }
-
-   @Override
-   public void suspendNode(String id) {
-      api.getContainerApi().pause(id);
-   }
-
-   protected static Predicate<Image> createPredicateMatchingRepoTags(final String imageIdOrName) {
-      final Pattern imgPattern = Pattern
-            .compile(PATTERN_IMAGE_PREFIX + Pattern.quote(imageIdOrName) + PATTERN_IMAGE_SUFFIX);
-      return new Predicate<Image>() {
-         @Override
-         public boolean apply(Image input) {
-            for (String tag : input.repoTags()) {
-               if (imgPattern.matcher(tag).matches()) {
-                  return true;
-               }
-            }
-            return false;
-         }
-      };
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/config/DockerHttpApiModule.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/config/DockerHttpApiModule.java b/docker/src/main/java/org/jclouds/docker/config/DockerHttpApiModule.java
deleted file mode 100644
index afd8e36..0000000
--- a/docker/src/main/java/org/jclouds/docker/config/DockerHttpApiModule.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.config;
-
-import com.google.common.base.Supplier;
-import com.google.inject.AbstractModule;
-import com.google.inject.TypeLiteral;
-import com.google.inject.name.Names;
-import com.google.inject.util.Modules;
-import org.jclouds.docker.DockerApi;
-import org.jclouds.docker.handlers.DockerErrorHandler;
-import org.jclouds.docker.suppliers.DockerUntrustedSSLContextSupplier;
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.annotation.ClientError;
-import org.jclouds.http.annotation.Redirection;
-import org.jclouds.http.annotation.ServerError;
-import org.jclouds.http.config.ConfiguresHttpCommandExecutorService;
-import org.jclouds.http.okhttp.OkHttpClientSupplier;
-import org.jclouds.http.okhttp.config.OkHttpCommandExecutorServiceModule;
-import org.jclouds.rest.ConfiguresHttpApi;
-import org.jclouds.rest.config.HttpApiModule;
-
-import javax.net.ssl.SSLContext;
-
-/**
- * Configures the Docker connection.
- */
-@ConfiguresHttpApi
-@ConfiguresHttpCommandExecutorService
-public class DockerHttpApiModule extends HttpApiModule<DockerApi> {
-
-   @Override
-   protected void bindErrorHandlers() {
-      bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(DockerErrorHandler.class);
-      bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(DockerErrorHandler.class);
-      bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(DockerErrorHandler.class);
-   }
-
-   /**
-    * This configures SSL certificate authentication when the Docker daemon is set to use an encrypted TCP socket
-    */
-   @Override
-   protected void configure() {
-      super.configure();
-      install(Modules.override(new OkHttpCommandExecutorServiceModule()).with(new AbstractModule() {
-         @Override
-         protected void configure() {
-            bind(new TypeLiteral<Supplier<SSLContext>>() {}).annotatedWith(Names.named("untrusted")).to(DockerUntrustedSSLContextSupplier.class);
-         }
-      }));
-      bind(OkHttpClientSupplier.class).to(DockerOkHttpClientSupplier.class);
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java b/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java
deleted file mode 100644
index f9278f0..0000000
--- a/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.config;
-
-import java.io.File;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.docker.suppliers.DockerSSLContextSupplier;
-import org.jclouds.domain.Credentials;
-import org.jclouds.http.okhttp.OkHttpClientSupplier;
-import org.jclouds.location.Provider;
-
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableList;
-import com.squareup.okhttp.ConnectionSpec;
-import com.squareup.okhttp.OkHttpClient;
-import com.squareup.okhttp.TlsVersion;
-
-@Singleton
-public class DockerOkHttpClientSupplier implements OkHttpClientSupplier {
-
-    private final DockerSSLContextSupplier dockerSSLContextSupplier;
-    private final Supplier<Credentials> creds;
-
-    @Inject
-    DockerOkHttpClientSupplier(DockerSSLContextSupplier dockerSSLContextSupplier, @Provider Supplier<Credentials> creds) {
-        this.dockerSSLContextSupplier = dockerSSLContextSupplier;
-        this.creds = creds;
-    }
-
-    @Override
-    public OkHttpClient get() {
-        OkHttpClient client = new OkHttpClient();
-        ConnectionSpec tlsSpec = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
-                .tlsVersions(TlsVersion.TLS_1_0, TlsVersion.TLS_1_1, TlsVersion.TLS_1_2)
-                .build();
-        ConnectionSpec cleartextSpec = new ConnectionSpec.Builder(ConnectionSpec.CLEARTEXT)
-                .build();
-        client.setConnectionSpecs(ImmutableList.of(tlsSpec, cleartextSpec));
-        // check if identity and credential are files, to set up sslContext
-        if (new File(creds.get().identity).isFile() && new File(creds.get().credential).isFile()) {
-           client.setSslSocketFactory(dockerSSLContextSupplier.get().getSocketFactory());
-        }
-        return client;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/config/DockerParserModule.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/config/DockerParserModule.java b/docker/src/main/java/org/jclouds/docker/config/DockerParserModule.java
deleted file mode 100644
index 383f99e..0000000
--- a/docker/src/main/java/org/jclouds/docker/config/DockerParserModule.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.config;
-
-import org.jclouds.json.config.GsonModule;
-
-import com.google.inject.AbstractModule;
-
-public class DockerParserModule extends AbstractModule {
-
-   @Override protected void configure() {
-      bind(GsonModule.DateAdapter.class).to(GsonModule.Iso8601DateAdapter.class);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/Config.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/Config.java b/docker/src/main/java/org/jclouds/docker/domain/Config.java
deleted file mode 100644
index 58658de..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/Config.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.docker.internal.NullSafeCopies.copyOf;
-import static org.jclouds.docker.internal.NullSafeCopies.copyWithNullOf;
-
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.docker.domain.HostConfig.Builder;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-@AutoValue
-public abstract class Config {
-   @Nullable public abstract String hostname();
-
-   @Nullable public abstract String domainname();
-
-   @Nullable public abstract String user();
-
-   public abstract int memory();
-
-   public abstract int memorySwap();
-
-   public abstract int cpuShares();
-
-   public abstract boolean attachStdin();
-
-   public abstract boolean attachStdout();
-
-   public abstract boolean attachStderr();
-
-   public abstract boolean tty();
-
-   public abstract boolean openStdin();
-
-   public abstract boolean stdinOnce();
-
-   @Nullable public abstract List<String> env();
-
-   @Nullable public abstract List<String> cmd();
-
-   @Nullable public abstract List<String> entrypoint();
-
-   public abstract String image();
-
-   @Nullable public abstract Map<String, ?> volumes();
-
-   @Nullable public abstract String workingDir();
-
-   public abstract boolean networkDisabled();
-
-   public abstract Map<String, ?> exposedPorts();
-
-   public abstract List<String> securityOpts();
-
-   @Nullable public abstract HostConfig hostConfig();
-
-   Config() {
-   }
-
-   @SerializedNames(
-         {
-                 "Hostname", "Domainname", "User", "Memory", "MemorySwap", "CpuShares", "AttachStdin", "AttachStdout",
-                 "AttachStderr", "Tty", "OpenStdin", "StdinOnce", "Env", "Cmd", "Entrypoint", "Image", "Volumes",
-                 "WorkingDir", "NetworkDisabled", "ExposedPorts", "SecurityOpts", "HostConfig"
-         })
-   public static Config create(String hostname, String domainname, String user, int memory, int memorySwap,
-         int cpuShares, boolean attachStdin, boolean attachStdout, boolean attachStderr, boolean tty,
-         boolean openStdin, boolean stdinOnce, List<String> env, List<String> cmd, List<String> entrypoint,
-         String image, Map<String, ?> volumes, String workingDir, boolean networkDisabled,
-         Map<String, ?> exposedPorts, List<String> securityOpts, HostConfig hostConfig) {
-      return new AutoValue_Config(hostname, domainname, user, memory, memorySwap, cpuShares, attachStdin,
-              attachStdout, attachStderr, tty, openStdin, stdinOnce, copyWithNullOf(env), copyWithNullOf(cmd),
-              copyWithNullOf(entrypoint), image, copyWithNullOf(volumes), workingDir, networkDisabled,
-              copyOf(exposedPorts), copyOf(securityOpts), hostConfig);
-   }
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   public Builder toBuilder() {
-      return builder().fromConfig(this);
-   }
-
-   public static final class Builder {
-      private String hostname;
-      private String domainname;
-      private String user;
-      private int memory;
-      private int memorySwap;
-      private int cpuShares;
-      private boolean attachStdin;
-      private boolean attachStdout;
-      private boolean attachStderr;
-      private boolean tty;
-      private boolean openStdin;
-      private boolean stdinOnce;
-      private List<String> env;
-      private List<String> cmd;
-      private List<String> entrypoint;
-      private String image;
-      private Map<String, ?> volumes;
-      private String workingDir;
-      private boolean networkDisabled;
-      private Map<String, ?> exposedPorts = Maps.newHashMap();
-      private List<String> securityOpts = Lists.newArrayList();
-      private HostConfig hostConfig;
-
-      public Builder hostname(String hostname) {
-         this.hostname = hostname;
-         return this;
-      }
-
-      public Builder domainname(String domainname) {
-         this.domainname = domainname;
-         return this;
-      }
-
-      public Builder user(String user) {
-         this.user = user;
-         return this;
-      }
-
-      public Builder memory(Integer memory) {
-         if (memory != null) {
-            this.memory = memory;
-         }
-         return this;
-      }
-
-      public Builder memorySwap(Integer memorySwap) {
-         if (memorySwap != null) {
-            this.memorySwap = memorySwap;
-         }
-         return this;
-      }
-
-      public Builder cpuShares(Integer cpuShares) {
-         if (cpuShares != null) {
-            this.cpuShares = cpuShares;
-         }
-         return this;
-      }
-
-      public Builder attachStdin(boolean attachStdin) {
-         this.attachStdin = attachStdin;
-         return this;
-      }
-
-      public Builder attachStdout(boolean attachStdout) {
-         this.attachStdout = attachStdout;
-         return this;
-      }
-
-      public Builder attachStderr(boolean attachStderr) {
-         this.attachStderr = attachStderr;
-         return this;
-      }
-
-      public Builder tty(boolean tty) {
-         this.tty = tty;
-         return this;
-      }
-
-      public Builder openStdin(boolean openStdin) {
-         this.openStdin = openStdin;
-         return this;
-      }
-
-      public Builder stdinOnce(boolean stdinOnce) {
-         this.stdinOnce = stdinOnce;
-         return this;
-      }
-
-      public Builder env(List<String> env) {
-         this.env = env;
-         return this;
-      }
-
-      public Builder cmd(List<String> cmd) {
-         this.cmd = cmd;
-         return this;
-      }
-
-      public Builder entrypoint(List<String> entrypoint) {
-         this.entrypoint = entrypoint;
-         return this;
-      }
-
-      public Builder image(String image) {
-         this.image = checkNotNull(image, "image");
-         return this;
-      }
-
-      public Builder volumes(Map<String, ?> volumes) {
-         this.volumes = volumes;
-         return this;
-      }
-
-      public Builder workingDir(String workingDir) {
-         this.workingDir = workingDir;
-         return this;
-      }
-
-      public Builder networkDisabled(boolean networkDisabled) {
-         this.networkDisabled = networkDisabled;
-         return this;
-      }
-
-      public Builder exposedPorts(Map<String, ?> exposedPorts) {
-         this.exposedPorts = exposedPorts;
-         return this;
-      }
-
-      public Builder securityOpts(List<String> securityOpts) {
-         this.securityOpts = securityOpts;
-         return this;
-      }
-
-      public Builder hostConfig(HostConfig hostConfig) {
-         this.hostConfig = hostConfig;
-         return this;
-      }
-
-      public Config build() {
-         return Config.create(hostname, domainname, user, memory, memorySwap, cpuShares, attachStdin, attachStdout,
-                 attachStderr, tty, openStdin, stdinOnce, env, cmd, entrypoint, image, volumes, workingDir,
-                 networkDisabled, exposedPorts, securityOpts, hostConfig);
-      }
-
-      public Builder fromConfig(Config in) {
-         return hostname(in.hostname()).domainname(in.domainname()).user(in.user()).memory(in.memory())
-                 .memorySwap(in.memorySwap()).cpuShares(in.cpuShares()).attachStdin(in.attachStdin())
-                 .attachStdout(in.attachStdout()).attachStderr(in.attachStderr()).tty(in.tty())
-                 .openStdin(in.openStdin()).stdinOnce(in.stdinOnce()).env(in.env()).cmd(in.cmd())
-                 .entrypoint(in.entrypoint()).image(in.image()).volumes(in.volumes()).workingDir(in.workingDir())
-                 .networkDisabled(in.networkDisabled()).exposedPorts(in.exposedPorts())
-                 .securityOpts(in.securityOpts()).hostConfig(in.hostConfig());
-      }
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/Container.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/Container.java b/docker/src/main/java/org/jclouds/docker/domain/Container.java
deleted file mode 100644
index d0c10c9..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/Container.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import static org.jclouds.docker.internal.NullSafeCopies.copyOf;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.base.Optional;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-
-@AutoValue
-public abstract class Container {
-   public abstract String id();
-
-   @Nullable public abstract Date created();
-
-   @Nullable public abstract String path();
-
-   @Nullable public abstract String name();
-
-   public abstract List<String> args();
-
-   @Nullable public abstract Config config();
-
-   @Nullable public abstract State state();
-
-   @Nullable public abstract String image();
-
-   @Nullable public abstract NetworkSettings networkSettings();
-
-   @Nullable public abstract String sysInitPath();
-
-   @Nullable public abstract String resolvConfPath();
-
-   public abstract Map<String, String> volumes();
-
-   @Nullable public abstract HostConfig hostConfig();
-
-   @Nullable public abstract String driver();
-
-   @Nullable public abstract String execDriver();
-
-   public abstract Map<String, Boolean> volumesRW();
-
-   @Nullable public abstract String command();
-
-   @Nullable public abstract String status();
-
-   public abstract List<Port> ports();
-
-   @Nullable public abstract String hostnamePath();
-
-   @Nullable public abstract String hostsPath();
-
-   @Nullable public abstract String mountLabel();
-
-   @Nullable public abstract String processLabel();
-
-   public abstract Optional<Node> node();
-
-   Container() {
-   }
-
-   @SerializedNames(
-         {
-                 "Id", "Created", "Path", "Name", "Args", "Config", "State", "Image", "NetworkSettings", "SysInitPath",
-                 "ResolvConfPath", "Volumes", "HostConfig", "Driver", "ExecDriver", "VolumesRW", "Command", "Status",
-                 "Ports", "HostnamePath", "HostsPath", "MountLabel", "ProcessLabel", "Node"
-         })
-   public static Container create(String id, Date created, String path, String name, List<String> args, Config config,
-                                  State state, String image, NetworkSettings networkSettings, String sysInitPath,
-                                  String resolvConfPath, Map<String, String> volumes, HostConfig hostConfig,
-                                  String driver, String execDriver, Map<String, Boolean> volumesRW, String command,
-                                  String status, List<Port> ports, String hostnamePath, String hostsPath,
-                                  String mountLabel, String processLabel, Optional<Node> node) {
-      return new AutoValue_Container(id, created, path, name, copyOf(args), config, state, image, networkSettings,
-              sysInitPath, resolvConfPath, copyOf(volumes), hostConfig, driver, execDriver, copyOf(volumesRW), command,
-              status, copyOf(ports), hostnamePath, hostsPath, mountLabel, processLabel, node);
-   }
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   public Builder toBuilder() {
-      return builder().fromContainer(this);
-   }
-
-   public static final class Builder {
-
-      private String id;
-      private Date created;
-      private String path;
-      private String name;
-      private List<String> args;
-      private Config config;
-      private State state;
-      private String image;
-      private NetworkSettings networkSettings;
-      private String sysInitPath;
-      private String resolvConfPath;
-      private Map<String, String> volumes = ImmutableMap.of();
-      private HostConfig hostConfig;
-      private String driver;
-      private String execDriver;
-      private Map<String, Boolean> volumesRW = ImmutableMap.of();
-      private String command;
-      private String status;
-      private List<Port> ports = ImmutableList.of();
-      private String hostnamePath;
-      private String hostsPath;
-      private String mountLabel;
-      private String processLabel;
-      private Optional<Node> node = Optional.absent();
-
-      public Builder id(String id) {
-         this.id = id;
-         return this;
-      }
-
-      public Builder created(Date created) {
-         this.created = created;
-         return this;
-      }
-
-      public Builder path(String path) {
-         this.path = path;
-         return this;
-      }
-
-      public Builder name(String name) {
-         this.name = name;
-         return this;
-      }
-
-      public Builder args(List<String> args) {
-         this.args = args;
-         return this;
-      }
-
-      public Builder config(Config config) {
-         this.config = config;
-         return this;
-      }
-
-      public Builder state(State state) {
-         this.state = state;
-         return this;
-      }
-
-      public Builder image(String imageName) {
-         this.image = imageName;
-         return this;
-      }
-
-      public Builder networkSettings(NetworkSettings networkSettings) {
-         this.networkSettings = networkSettings;
-         return this;
-      }
-
-      public Builder sysInitPath(String sysInitPath) {
-         this.sysInitPath = sysInitPath;
-         return this;
-      }
-
-      public Builder resolvConfPath(String resolvConfPath) {
-         this.resolvConfPath = resolvConfPath;
-         return this;
-      }
-
-      public Builder volumes(Map<String, String> volumes) {
-         this.volumes = volumes;
-         return this;
-      }
-
-      public Builder hostConfig(HostConfig hostConfig) {
-         this.hostConfig = hostConfig;
-         return this;
-      }
-
-      public Builder driver(String driver) {
-         this.driver = driver;
-         return this;
-      }
-
-      public Builder execDriver(String execDriver) {
-         this.execDriver = execDriver;
-         return this;
-      }
-
-      public Builder volumesRW(Map<String, Boolean> volumesRW) {
-         this.volumesRW = volumesRW;
-         return this;
-      }
-
-      public Builder command(String command) {
-         this.command = command;
-         return this;
-      }
-
-      public Builder status(String status) {
-         this.status = status;
-         return this;
-      }
-
-      public Builder ports(List<Port> ports) {
-         this.ports = ports;
-         return this;
-      }
-
-      public Builder hostnamePath(String hostnamePath) {
-         this.hostnamePath = hostnamePath;
-         return this;
-      }
-
-      public Builder hostsPath(String hostsPath) {
-         this.hostsPath = hostsPath;
-         return this;
-      }
-
-      public Builder mountLabel(String mountLabel) {
-         this.mountLabel = mountLabel;
-         return this;
-      }
-
-      public Builder processLabel(String processLabel) {
-         this.processLabel = processLabel;
-         return this;
-      }
-
-      public Builder node(Node node) {
-         this.node = Optional.fromNullable(node);
-         return this;
-      }
-
-      public Container build() {
-         return Container.create(id, created, path, name, args, config, state, image, networkSettings,
-                 sysInitPath, resolvConfPath, volumes, hostConfig, driver, execDriver, volumesRW, command, status,
-                 ports, hostnamePath, hostsPath, mountLabel, processLabel, node);
-      }
-
-      public Builder fromContainer(Container in) {
-         return this.id(in.id()).name(in.name()).created(in.created()).path(in.path()).args(in.args())
-                 .config(in.config()).state(in.state()).image(in.image()).networkSettings(in.networkSettings())
-                 .sysInitPath(in.sysInitPath()).resolvConfPath(in.resolvConfPath()).driver(in.driver())
-                 .execDriver(in.execDriver()).volumes(in.volumes()).hostConfig(in.hostConfig()).volumesRW(in.volumesRW())
-                 .command(in.command()).status(in.status()).ports(in.ports()).hostnamePath(in.hostnamePath())
-                 .hostsPath(in.hostsPath()).mountLabel(in.mountLabel()).processLabel(in.processLabel()).node(in.node().orNull());
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/ContainerSummary.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/ContainerSummary.java b/docker/src/main/java/org/jclouds/docker/domain/ContainerSummary.java
deleted file mode 100644
index 25bd595..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/ContainerSummary.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import static org.jclouds.docker.internal.NullSafeCopies.copyOf;
-import java.util.List;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-// TODO it may be redundant (we already have Container value class)
-@AutoValue
-public abstract class ContainerSummary {
-
-   public abstract String id();
-
-   public abstract List<String> names();
-
-   public abstract String created();
-
-   public abstract String image();
-
-   public abstract String command();
-
-   public abstract List<Port> ports();
-
-   public abstract String status();
-
-   ContainerSummary() {
-   }
-
-   @SerializedNames({"Id", "Names", "Created", "Image", "Command", "Ports", "Status"})
-   public static ContainerSummary create(String id, List<String> names, String created, String image, String command, List<Port> ports, String status) {
-      return new AutoValue_ContainerSummary(id, copyOf(names), created, image, command, copyOf(ports), status);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/Exec.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/Exec.java b/docker/src/main/java/org/jclouds/docker/domain/Exec.java
deleted file mode 100644
index 7511f63..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/Exec.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/**
- * Represents a response from Exec Create call (<code>POST /containers/(id)/exec</code>).
- */
-@AutoValue
-public abstract class Exec {
-
-   public abstract String id();
-
-   @SerializedNames({ "Id"})
-   public static Exec create(String id) {
-      return new AutoValue_Exec(id);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/ExecCreateParams.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/ExecCreateParams.java b/docker/src/main/java/org/jclouds/docker/domain/ExecCreateParams.java
deleted file mode 100644
index 3f6009b..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/ExecCreateParams.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import static org.jclouds.docker.internal.NullSafeCopies.copyOf;
-
-import java.util.List;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/**
- * Json Parameters (some of them) of Exec Create call.
- */
-@AutoValue
-public abstract class ExecCreateParams {
-
-   public abstract boolean attachStdout();
-
-   public abstract boolean attachStderr();
-
-   public abstract List<String> cmd();
-
-   @SerializedNames({ "AttachStdout", "AttachStderr", "Cmd" })
-   private static ExecCreateParams create(boolean attachStdout, boolean attachStderr, List<String> cmd) {
-      return builder().attachStdout(attachStdout).attachStderr(attachStderr).cmd(cmd).build();
-   }
-
-   /**
-    * Creates builder for {@link ExecCreateParams}, it sets
-    * {@link #attachStderr()} and {@link #attachStdout()} to true as a default.
-    *
-    * @return new {@link ExecCreateParams.Builder} instance
-    */
-   public static Builder builder() {
-      return new AutoValue_ExecCreateParams.Builder().attachStderr(true).attachStdout(true);
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-
-      public abstract Builder attachStdout(boolean b);
-
-      public abstract Builder attachStderr(boolean b);
-
-      public abstract Builder cmd(List<String> cmd);
-
-      abstract List<String> cmd();
-
-      abstract ExecCreateParams autoBuild();
-
-      public ExecCreateParams build() {
-         cmd(copyOf(cmd()));
-         return autoBuild();
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/ExecInspect.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/ExecInspect.java b/docker/src/main/java/org/jclouds/docker/domain/ExecInspect.java
deleted file mode 100644
index d15bccf..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/ExecInspect.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/**
- * Represents a response (part of it) from Exec Inspect call (
- * <code>GET /exec/(id)/json</code>).
- */
-@AutoValue
-public abstract class ExecInspect {
-
-   public abstract String id();
-
-   public abstract boolean running();
-
-   public abstract int exitCode();
-
-   @SerializedNames({ "ID", "Running", "ExitCode"})
-   public static ExecInspect create(String id, boolean running, int exitCode) {
-      return new AutoValue_ExecInspect(id, running, exitCode);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/ExecStartParams.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/ExecStartParams.java b/docker/src/main/java/org/jclouds/docker/domain/ExecStartParams.java
deleted file mode 100644
index f8046f8..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/ExecStartParams.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/**
- * Json Parameter(s) (some of them) of Exec Start call.
- */
-@AutoValue
-public abstract class ExecStartParams {
-
-   public abstract boolean detach();
-
-   @SerializedNames({ "Detach" })
-   public static ExecStartParams create(boolean detach) {
-      return builder().detach(detach).build();
-   }
-
-   public static Builder builder() {
-      return new AutoValue_ExecStartParams.Builder().detach(false);
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-
-      public abstract Builder detach(boolean b);
-
-      public abstract ExecStartParams build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/ExposedPorts.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/ExposedPorts.java b/docker/src/main/java/org/jclouds/docker/domain/ExposedPorts.java
deleted file mode 100644
index ac57a98..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/ExposedPorts.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import static org.jclouds.docker.internal.NullSafeCopies.copyOf;
-
-import java.util.List;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class ExposedPorts {
-   public abstract String portAndProtocol();
-
-   public abstract List<String> hostPorts();
-
-   ExposedPorts() {
-   }
-
-   @SerializedNames({ "PortAndProtocol", "HostPorts" })
-   public static ExposedPorts create(String portAndProtocol, List<String> hostPorts) {
-      return new AutoValue_ExposedPorts(portAndProtocol, copyOf(hostPorts));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/HostConfig.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/HostConfig.java b/docker/src/main/java/org/jclouds/docker/domain/HostConfig.java
deleted file mode 100644
index b4ee4f3..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/HostConfig.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import static org.jclouds.docker.internal.NullSafeCopies.copyOf;
-import static org.jclouds.docker.internal.NullSafeCopies.copyWithNullOf;
-
-import java.util.List;
-import java.util.Map;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-@AutoValue
-public abstract class HostConfig {
-   @Nullable public abstract String containerIDFile();
-
-   @Nullable public abstract List<String> binds();
-
-   public abstract List<Map<String, String>> lxcConf();
-
-   public abstract boolean privileged();
-
-   @Nullable public abstract List<String> dns();
-
-   @Nullable public abstract List<String> dnsSearch();
-
-   public abstract Map<String, List<Map<String, String>>> portBindings();
-
-   @Nullable public abstract List<String> links();
-
-   @Nullable public abstract List<String> extraHosts();
-
-   public abstract boolean publishAllPorts();
-
-   @Nullable public abstract List<String> volumesFrom();
-
-   @Nullable public abstract String networkMode();
-
-   @Nullable public abstract List<String> securityOpt();
-
-   @Nullable public abstract List<String> capAdd();
-
-   @Nullable public abstract List<String> capDrop();
-
-   public abstract Map<String, String> restartPolicy();
-
-
-
-   HostConfig() {
-   }
-
-   @SerializedNames({ "ContainerIDFile", "Binds", "LxcConf", "Privileged", "Dns", "DnsSearch", "PortBindings",
-         "Links", "ExtraHosts", "PublishAllPorts", "VolumesFrom", "NetworkMode", "SecurityOpt",
-         "CapAdd", "CapDrop", "RestartPolicy" })
-   public static HostConfig create(String containerIDFile, List<String> binds, List<Map<String, String>> lxcConf,
-         boolean privileged, List<String> dns, List<String> dnsSearch, Map<String, List<Map<String, String>>> portBindings,
-         List<String> links, List<String> extraHosts, boolean publishAllPorts, List<String> volumesFrom, String networkMode, 
-         List<String> securityOpt, List<String> capAdd, List<String> capDrop, Map<String, String> restartPolicy) {
-      return new AutoValue_HostConfig(containerIDFile, copyWithNullOf(binds), copyOf(lxcConf), privileged, copyWithNullOf(dns), copyWithNullOf(dnsSearch),
-            copyOf(portBindings), copyWithNullOf(links), copyWithNullOf(extraHosts), publishAllPorts, copyWithNullOf(volumesFrom), networkMode,
-            copyOf(securityOpt), copyWithNullOf(capAdd), copyWithNullOf(capDrop), copyOf(restartPolicy));
-   }
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   public Builder toBuilder() {
-      return builder().fromHostConfig(this);
-   }
-
-   public static final class Builder {
-
-      private String containerIDFile;
-      private List<String> binds;
-      private List<Map<String, String>> lxcConf = Lists.newArrayList();
-      private boolean privileged;
-      private List<String> dns;
-      private List<String> dnsSearch;
-      private Map<String, List<Map<String, String>>> portBindings = Maps.newLinkedHashMap();
-      private List<String> links;
-      private List<String> extraHosts;
-      private boolean publishAllPorts;
-      private List<String> volumesFrom;
-      private String networkMode;
-      private List<String> securityOpt = Lists.newArrayList();
-      private List<String> capAdd;
-      private List<String> capDrop;
-      private Map<String, String> restartPolicy = Maps.newHashMap();
-      
-      public Builder containerIDFile(String containerIDFile) {
-         this.containerIDFile = containerIDFile;
-         return this;
-      }
-
-      public Builder binds(List<String> binds) {
-         this.binds = binds;
-         return this;
-      }
-
-      public Builder lxcConf(List<Map<String, String>> lxcConf) {
-         this.lxcConf = lxcConf;
-         return this;
-      }
-
-      public Builder privileged(boolean privileged) {
-         this.privileged = privileged;
-         return this;
-      }
-
-      public Builder dns(List<String> dns) {
-         this.dns = dns;
-         return this;
-      }
-
-      public Builder dnsSearch(List<String> dnsSearch) {
-         this.dnsSearch = dnsSearch;
-         return this;
-      }
-
-      public Builder links(List<String> links) {
-         this.links = links;
-         return this;
-      }
-
-      public Builder extraHosts(List<String> extraHosts) {
-         this.extraHosts = extraHosts;
-         return this;
-      }
-
-      public Builder portBindings(Map<String, List<Map<String, String>>> portBindings) {
-         this.portBindings = portBindings;
-         return this;
-      }
-
-      public Builder publishAllPorts(boolean publishAllPorts) {
-         this.publishAllPorts = publishAllPorts;
-         return this;
-      }
-
-      public Builder volumesFrom(List<String> volumesFrom) {
-         this.volumesFrom = volumesFrom;
-         return this;
-      }
-
-      public Builder networkMode(String networkMode) {
-         this.networkMode = networkMode;
-         return this;
-      }
-
-      public Builder securityOpt(List<String> securityOpt) {
-         this.securityOpt = securityOpt;
-         return this;
-      }
-
-      public Builder capAdd(List<String> capAdd) {
-         this.capAdd = capAdd;
-         return this;
-      }
-
-      public Builder capDrop(List<String> capDrop) {
-         this.capDrop = capDrop;
-         return this;
-      }
-
-      public Builder restartPolicy(Map<String, String> restartPolicy) {
-         this.restartPolicy = restartPolicy;
-         return this;
-      }
-      
-      public HostConfig build() {
-         return HostConfig.create(containerIDFile, binds, lxcConf, privileged, dns, dnsSearch, portBindings, links,
-               extraHosts, publishAllPorts, volumesFrom, networkMode, securityOpt, capAdd, capDrop, restartPolicy);
-      }
-
-      public Builder fromHostConfig(HostConfig in) {
-         return this.containerIDFile(in.containerIDFile()).binds(in.binds()).lxcConf(in.lxcConf())
-               .privileged(in.privileged()).dns(in.dns()).dnsSearch(in.dnsSearch()).links(in.links())
-               .extraHosts(in.extraHosts()).portBindings(in.portBindings()).publishAllPorts(in.publishAllPorts())
-               .volumesFrom(in.volumesFrom()).networkMode(in.networkMode()).securityOpt(in.securityOpt())
-               .capAdd(in.capAdd()).capDrop(in.capDrop()).restartPolicy(in.restartPolicy());
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/Image.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/Image.java b/docker/src/main/java/org/jclouds/docker/domain/Image.java
deleted file mode 100644
index a696c5f..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/Image.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import static org.jclouds.docker.internal.NullSafeCopies.copyOf;
-
-import java.util.Date;
-import java.util.List;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/**
- * Represents a response from Docker "Inspect an image" call (<code>GET /images/(name)/json</code>).
- */
-@AutoValue
-public abstract class Image {
-
-   public abstract String id();
-
-   @Nullable public abstract String author();
-
-   @Nullable public abstract String comment();
-
-   @Nullable public abstract Config config();
-
-   @Nullable public abstract Config containerConfig();
-
-   public abstract String parent();
-
-   public abstract Date created();
-
-   public abstract String container();
-
-   public abstract String dockerVersion();
-
-   public abstract String architecture();
-
-   public abstract String os();
-
-   public abstract long size();
-
-   public abstract long virtualSize();
-
-   /**
-    * Tags of the image. The value is <code>null</code> when the instance comes
-    * from {@link org.jclouds.docker.features.ImageApi#inspectImage(String)}.
-    * Other methods can populate the content (e.g.
-    * {@link org.jclouds.docker.compute.strategy.DockerComputeServiceAdapter#listImages()}
-    * call.
-    * <p>
-    * The tags are in form "ubuntu:12.10", "docker.io/busybox:1.23.2", ...
-    * </p>
-    * @return list of tags or <code>null</code>
-    */
-   @Nullable public abstract List<String> repoTags();
-
-   Image() {
-   }
-
-   @SerializedNames({ "Id", "Author", "Comment", "Config", "ContainerConfig", "Parent", "Created",
-           "Container", "DockerVersion", "Architecture", "Os", "Size", "VirtualSize", "RepoTags" })
-   public static Image create(String id, String author, String comment, Config config, Config containerConfig, String parent, Date created, String container, String dockerVersion, String architecture, String os, long size, long virtualSize, List<String> repoTags) {
-      return new AutoValue_Image(id, author, comment, config, containerConfig, parent, created, container,
-              dockerVersion, architecture, os, size, virtualSize, copyOf(repoTags));
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/ImageHistory.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/ImageHistory.java b/docker/src/main/java/org/jclouds/docker/domain/ImageHistory.java
deleted file mode 100644
index 5916a00..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/ImageHistory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import static org.jclouds.docker.internal.NullSafeCopies.copyOf;
-import java.util.List;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class ImageHistory {
-
-   public abstract String id();
-
-   public abstract long created();
-
-   public abstract String createdBy();
-
-   @Nullable public abstract List<String> tags();
-
-   public abstract long size();
-
-   public abstract String comment();
-
-
-   ImageHistory() {
-   }
-
-   @SerializedNames({"Id", "Created", "CreatedBy", "Tags", "Size", "Comment"})
-   public static ImageHistory create(String id, long created, String createdBy, List<String> tags, long size, String comment) {
-      return new AutoValue_ImageHistory(id, created, createdBy, copyOf(tags), size, comment);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/ImageSummary.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/ImageSummary.java b/docker/src/main/java/org/jclouds/docker/domain/ImageSummary.java
deleted file mode 100644
index f4ea9b9..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/ImageSummary.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import static org.jclouds.docker.internal.NullSafeCopies.copyOf;
-import java.util.List;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-// TODO it may be redundant (we already have Image value class)
-@AutoValue
-public abstract class ImageSummary {
-
-   public abstract String id();
-
-   public abstract long created();
-
-   public abstract String parentId();
-
-   public abstract int size();
-
-   public abstract int virtualSize();
-
-   public abstract List<String> repoTags();
-
-   ImageSummary() {
-   }
-
-   @SerializedNames({"Id", "Created", "ParentId", "Size", "VirtualSize", "RepoTags"})
-   public static ImageSummary create(String id, long created, String parentId, int size, int virtualSize,
-                                     List<String> repoTags) {
-      return new AutoValue_ImageSummary(id, created, parentId, size, virtualSize, copyOf(repoTags));
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/Info.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/Info.java b/docker/src/main/java/org/jclouds/docker/domain/Info.java
deleted file mode 100644
index 6a071c3..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/Info.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import java.util.List;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class Info {
-
-   public abstract int containers();
-
-   public abstract boolean debug();
-
-   public abstract String driver();
-
-   public abstract List<List<String>> driverStatus();
-
-   public abstract String executionDriver();
-
-   public abstract boolean iPv4Forwarding();
-
-   public abstract int images();
-
-   public abstract String indexServerAddress();
-
-   @Nullable public abstract String initPath();
-
-   @Nullable public abstract String initSha1();
-
-   public abstract String kernelVersion();
-
-   public abstract boolean memoryLimit();
-
-   public abstract int nEventsListener();
-
-   public abstract int nFd();
-
-   public abstract int nGoroutines();
-
-   public abstract String operatingSystem();
-
-   public abstract boolean swapLimit();
-
-   public abstract String dockerRootDir();
-
-   /**
-    * @return a list of daemon labels
-    */
-   @Nullable public abstract List<String> labels();
-
-   /**
-    * @return total memory available
-    */
-   public abstract long memTotal();
-
-   /**
-    * @return the number of CPUs available on the machine
-    */
-   public abstract int ncpu();
-
-   /**
-    * @return a unique ID identifying the daemon
-    */
-   public abstract String id();
-
-   /**
-    * @return a user-friendly name describing the running Docker daemon
-    */
-   public abstract String name();
-
-   Info() {
-   }
-
-   @SerializedNames({
-                   "Containers", "Debug", "Driver", "DriverStatus", "ExecutionDriver", "IPv4Forwarding", "Images",
-                   "IndexServerAddress", "InitPath", "InitSha1", "KernelVersion", "MemoryLimit", "NEventsListener",
-                   "NFd", "NGoroutines", "OperatingSystem", "SwapLimit", "DockerRootDir", "Labels", "MemTotal", "NCPU",
-                   "ID", "Name"
-   })
-   public static Info create(int containers, boolean debug, String driver, List<List<String>> driverStatus,
-                             String executionDriver, boolean iPv4Forwarding, int images, String indexServerAddress,
-                             String initPath, String initSha1, String kernelVersion, boolean memoryLimit,
-                             int nEventsListener, int nFd, int nGoroutines, String operatingSystem, boolean swapLimit,
-                             String dockerRootDir, List<String> labels, long memTotal, int ncpu, String id, String name) {
-      return new AutoValue_Info(containers, debug, driver, driverStatus, executionDriver, iPv4Forwarding, images,
-              indexServerAddress, initPath, initSha1, kernelVersion, memoryLimit, nEventsListener, nFd, nGoroutines,
-              operatingSystem, swapLimit, dockerRootDir, labels, memTotal, ncpu, id, name);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/39cd6698/docker/src/main/java/org/jclouds/docker/domain/Network.java
----------------------------------------------------------------------
diff --git a/docker/src/main/java/org/jclouds/docker/domain/Network.java b/docker/src/main/java/org/jclouds/docker/domain/Network.java
deleted file mode 100644
index d6de0d7..0000000
--- a/docker/src/main/java/org/jclouds/docker/domain/Network.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.docker.domain;
-
-import static org.jclouds.docker.internal.NullSafeCopies.copyOf;
-import static org.jclouds.docker.internal.NullSafeCopies.copyWithNullOf;
-
-import java.util.List;
-import java.util.Map;
-
-import com.google.auto.value.AutoValue;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-@AutoValue
-public abstract class Network {
-
-   @AutoValue
-   public abstract static class IPAM {
-
-      IPAM() { }
-
-      @Nullable public abstract String driver();
-
-      public abstract List<Config> config();
-
-      @SerializedNames({"Driver", "Config"})
-      public static IPAM create(@Nullable String driver, List<Config> config) {
-         return builder()
-               .driver(driver)
-               .config(config)
-               .build();
-      }
-
-      public static Builder builder() {
-         return new AutoValue_Network_IPAM.Builder();
-      }
-
-      @AutoValue.Builder
-      public abstract static class Builder {
-
-         public abstract Builder driver(@Nullable String driver);
-
-         public abstract Builder config(List<Config> config);
-
-         abstract List<Config> config();
-
-         abstract IPAM autoBuild();
-
-         public IPAM build() {
-            return config(copyOf(config()))
-                  .autoBuild();
-         }
-      }
-
-      @AutoValue
-      public abstract static class Config {
-
-         Config() { }
-
-         public abstract String subnet();
-
-         @Nullable public abstract String ipRange();
-
-         @Nullable public abstract String gateway();
-
-         @SerializedNames({"Subnet", "IPRange", "Gateway"})
-         public static Config create(String subnet, @Nullable String ipRange, @Nullable String gateway) {
-            return builder()
-                  .subnet(subnet)
-                  .ipRange(ipRange)
-                  .gateway(gateway)
-                  .build();
-         }
-
-         public static Builder builder() {
-            return new AutoValue_Network_IPAM_Config.Builder();
-         }
-
-         @AutoValue.Builder
-         public abstract static class Builder {
-
-            public abstract Builder subnet(String subnet);
-
-            public abstract Builder ipRange(@Nullable String ipRange);
-
-            public abstract Builder gateway(@Nullable String gateway);
-
-            abstract Config build();
-         }
-      }
-   }
-
-   @AutoValue
-   public abstract static class Details {
-
-      Details() { }
-
-      public abstract String endpoint();
-
-      public abstract String macAddress();
-
-      public abstract String ipv4address();
-
-      public abstract String ipv6address();
-
-      @SerializedNames({ "EndpointID", "MacAddress", "IPv4Address", "IPv6Address" })
-      public static Details create(String endpoint, String macAddress, String ipv4address, String ipv6address) {
-         return builder()
-               .endpoint(endpoint)
-               .macAddress(macAddress)
-               .ipv4address(ipv4address)
-               .ipv6address(ipv6address)
-               .build();
-      }
-
-      public static Builder builder() {
-         return new AutoValue_Network_Details.Builder();
-      }
-
-      @AutoValue.Builder
-      public abstract static class Builder {
-
-         public abstract Builder endpoint(String endpoint);
-
-         public abstract Builder macAddress(String macAddress);
-
-         public abstract Builder ipv4address(String ipv4address);
-
-         public abstract Builder ipv6address(String ipv6address);
-
-         abstract Details build();
-      }
-   }
-
-   @Nullable public abstract String name();
-
-   @Nullable public abstract String id();
-
-   @Nullable public abstract String scope();
-
-   @Nullable public abstract String driver();
-
-   @Nullable public abstract IPAM ipam();
-
-   @Nullable public abstract Map<String, Details> containers();
-
-   @Nullable public abstract Map<String, String> options();
-
-   Network() { }
-
-   @SerializedNames({ "Name", "Id", "Scope", "Driver", "IPAM", "Containers", "Options" })
-   public static Network create(@Nullable String name, @Nullable String id, @Nullable String scope,
-         @Nullable String driver, @Nullable IPAM ipam, @Nullable Map<String, Details> containers,
-         @Nullable Map<String, String> options) {
-      return builder()
-            .name(name)
-            .id(id)
-            .scope(scope)
-            .driver(driver)
-            .ipam(ipam)
-            .containers(containers)
-            .options(options)
-            .build();
-   }
-
-   public static Builder builder() {
-      return new AutoValue_Network.Builder();
-   }
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-
-      public abstract Builder name(@Nullable String name);
-
-      public abstract Builder id(@Nullable String id);
-
-      public abstract Builder scope(@Nullable String scope);
-
-      public abstract Builder driver(@Nullable String driver);
-
-      public abstract Builder ipam(@Nullable IPAM ipam);
-
-      public abstract Builder containers(@Nullable Map<String, Details> containers);
-
-      public abstract Builder options(@Nullable Map<String, String> options);
-
-      abstract Map<String, Details> containers();
-
-      abstract Map<String, String> options();
-
-      abstract Network autoBuild();
-
-      public Network build() {
-         return containers(copyWithNullOf(containers()))
-               .options(copyOf(options()))
-               .autoBuild();
-      }
-   }
-}