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 2015/06/26 15:00:57 UTC

[15/17] jclouds-labs-google git commit: Remove the graduated GCE provided and updated Maven coordinates

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
deleted file mode 100644
index 2a813d1..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
+++ /dev/null
@@ -1,143 +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.googlecomputeengine.config;
-
-import static com.google.common.base.Suppliers.compose;
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.Constants.PROPERTY_SESSION_INTERVAL;
-import static org.jclouds.googlecloud.config.GoogleCloudProperties.PROJECT_NAME;
-import static org.jclouds.rest.config.BinderUtils.bindHttpApi;
-
-import java.net.URI;
-import java.util.concurrent.atomic.AtomicReference;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.domain.Credentials;
-import org.jclouds.googlecloud.config.CurrentProject;
-import org.jclouds.googlecomputeengine.GoogleComputeEngineApi;
-import org.jclouds.googlecomputeengine.domain.Project;
-import org.jclouds.googlecomputeengine.handlers.GoogleComputeEngineErrorHandler;
-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.location.Provider;
-import org.jclouds.oauth.v2.config.OAuthScopes;
-import org.jclouds.oauth.v2.config.OAuthScopes.ReadOrWriteScopes;
-import org.jclouds.oauth.v2.filters.OAuthFilter;
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.rest.ConfiguresHttpApi;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SkipEncoding;
-import org.jclouds.rest.config.HttpApiModule;
-import org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier;
-
-import com.google.common.base.Function;
-import com.google.common.base.Strings;
-import com.google.common.base.Supplier;
-import com.google.common.base.Suppliers;
-import com.google.inject.Provides;
-
-@ConfiguresHttpApi
-public final class GoogleComputeEngineHttpApiModule extends HttpApiModule<GoogleComputeEngineApi> {
-
-   @Override protected void configure() {
-      super.configure();
-      bindHttpApi(binder(), UseApiToResolveProjectName.GetProject.class);
-      bind(OAuthScopes.class).toInstance(ReadOrWriteScopes.create( //
-            "https://www.googleapis.com/auth/compute.readonly", //
-            "https://www.googleapis.com/auth/compute" //
-      ));
-   }
-
-   @Override protected void bindErrorHandlers() {
-      bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(GoogleComputeEngineErrorHandler.class);
-      bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(GoogleComputeEngineErrorHandler.class);
-      bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(GoogleComputeEngineErrorHandler.class);
-   }
-
-   @Provides @Singleton @CurrentProject Supplier<URI> project(@Named(PROJECT_NAME) final String projectName,
-         @Provider Supplier<URI> defaultEndpoint, final UseApiToResolveProjectName useApiToResolveProjectName,
-         @Provider final Supplier<Credentials> creds, AtomicReference<AuthorizationException> authException,
-         @Named(PROPERTY_SESSION_INTERVAL) long seconds) {
-      // Try to avoid a runtime lookup by accepting a project name supplied in context overrides.
-      if (Strings.emptyToNull(projectName) != null) {
-         return Suppliers.memoizeWithExpiration(Suppliers.compose(new Function<URI, URI>() {
-            @Override public URI apply(URI input) {
-               return URI.create(String.format("%s/projects/%s", input, projectName));
-            }
-         }, defaultEndpoint), seconds, SECONDS);
-      }
-
-      // If the project name wasn't explicitly supplied, then we lookup via api.
-      // This supplier must be defensive against any auth exception.
-      return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier
-            .create(authException, compose(useApiToResolveProjectName, creds), seconds, SECONDS);
-   }
-
-   /**
-    * Parse the project ID from the identity, use it to lookup the project name, return the project-scoped uri.
-    *
-    * <h3>Why are we looking up the project name? We already have the project ID!</h3>
-    * <a href="https://cloud.google.com/compute/docs/overview#projectids">Documentation</a> suggests that the
-    * project name is interchangeable with the project ID, which we already have. However, in practice, using the
-    * project ID leads to problems in POST requests.
-    *
-    * <p/> For example, inserting an instance using the project ID in the instances url, but the project name in
-    * the machineType url results in an error of
-    * <pre>{@code Cross-project references for this resource type are not allowed}.</pre>
-    *
-    * <p/>Similar errors occur in POST requests to other resources including at least forwardingRules, images,
-    * targetPools.
-    */
-   static final class UseApiToResolveProjectName implements Function<Credentials, URI> {
-
-      @SkipEncoding({ '/', '=' })
-      @RequestFilters(OAuthFilter.class)
-      @Consumes(APPLICATION_JSON)
-      interface GetProject {
-         @Named("Projects:get")
-         @GET
-         @Path("/projects/{projectNumber}") Project get(@PathParam("projectNumber") String projectNumber);
-      }
-
-      private final GetProject api;
-      private final Supplier<URI> defaultEndpoint;
-      private final String identityName;
-
-      @Inject
-      UseApiToResolveProjectName(GetProject api, @Provider Supplier<URI> defaultEndpoint, ProviderMetadata metadata) {
-         this.api = api;
-         this.defaultEndpoint = defaultEndpoint;
-         this.identityName = metadata.getApiMetadata().getIdentityName();
-      }
-
-      @Override public URI apply(Credentials in) {
-         String projectNumber = CurrentProject.ClientEmail.toProjectNumber(in.identity);
-         return URI.create(defaultEndpoint.get() + "/projects/" + api.get(projectNumber).name());
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineParserModule.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineParserModule.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineParserModule.java
deleted file mode 100644
index a0c7fdd..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineParserModule.java
+++ /dev/null
@@ -1,137 +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.googlecomputeengine.config;
-
-import static org.jclouds.googlecomputeengine.domain.Firewall.Rule;
-
-import java.lang.reflect.Type;
-import java.util.Map;
-import java.util.Set;
-
-import javax.inject.Singleton;
-
-import org.jclouds.googlecloud.config.ListPageAdapterFactory;
-import org.jclouds.googlecomputeengine.domain.Firewall;
-import org.jclouds.googlecomputeengine.options.FirewallOptions;
-import org.jclouds.googlecomputeengine.options.RouteOptions;
-import org.jclouds.json.config.GsonModule;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonPrimitive;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-import com.google.gson.TypeAdapterFactory;
-import com.google.inject.AbstractModule;
-import com.google.inject.Provides;
-
-public final class GoogleComputeEngineParserModule extends AbstractModule {
-
-   @Override protected void configure() {
-      bind(GsonModule.DateAdapter.class).to(GsonModule.Iso8601DateAdapter.class);
-   }
-
-   @Provides @Singleton Map<Type, Object> typeAdapters() {
-      return new ImmutableMap.Builder<Type, Object>()
-            .put(FirewallOptions.class, new FirewallOptionsTypeAdapter())
-            .put(RouteOptions.class, new RouteOptionsTypeAdapter()).build();
-   }
-
-   // TODO: change jclouds core to use collaborative set bindings
-   @Provides @Singleton Set<TypeAdapterFactory> typeAdapterFactories() {
-      return ImmutableSet.<TypeAdapterFactory>of(new ListPageAdapterFactory());
-   }
-
-   private static final class FirewallOptionsTypeAdapter implements JsonSerializer<FirewallOptions> {
-
-      @Override public JsonElement serialize(FirewallOptions src, Type typeOfSrc, JsonSerializationContext context) {
-         JsonObject firewall = new JsonObject();
-         if (src.name() != null) {
-            firewall.addProperty("name", src.name());
-         }
-         if (src.network() != null) {
-            firewall.addProperty("network", src.network().toString());
-         }
-         if (!src.sourceRanges().isEmpty()) {
-            firewall.add("sourceRanges", buildArrayOfStrings(src.sourceRanges()));
-         }
-         if (!src.sourceTags().isEmpty()) {
-            firewall.add("sourceTags", buildArrayOfStrings(src.sourceTags()));
-         }
-         if (!src.targetTags().isEmpty()) {
-            firewall.add("targetTags", buildArrayOfStrings(src.targetTags()));
-         }
-         if (!src.getAllowed().isEmpty()) {
-            JsonArray rules = new JsonArray();
-            for (Rule rule : src.getAllowed()) {
-               rules.add(context.serialize(rule, Firewall.Rule.class));
-            }
-            firewall.add("allowed", rules);
-         }
-         return firewall;
-      }
-   }
-
-   private static final class RouteOptionsTypeAdapter implements JsonSerializer<RouteOptions> {
-
-      @Override public JsonElement serialize(RouteOptions src, Type typeOfSrc, JsonSerializationContext context) {
-         JsonObject route = new JsonObject();
-         if (src.name() != null) {
-            route.addProperty("name", src.name());
-         }
-         if (src.getNetwork() != null) {
-            route.addProperty("network", src.getNetwork().toString());
-         }
-         if (src.getNextHopGateway() != null) {
-            route.addProperty("nextHopGateway", src.getNextHopGateway().toString());
-         }
-         if (src.getNextHopInstance() != null) {
-            route.addProperty("nextHopInstance", src.getNextHopInstance().toString());
-         }
-         if (src.getNextHopNetwork() != null) {
-            route.addProperty("nextHopNetwork", src.getNextHopNetwork().toString());
-         }
-         if (src.getDestRange() != null) {
-            route.addProperty("destRange", src.getDestRange());
-         }
-         if (src.getDescription() != null) {
-            route.addProperty("description", src.getDescription());
-         }
-         if (src.getPriority() != null) {
-            route.addProperty("priority", src.getPriority());
-         }
-         if (src.getNextHopIp() != null) {
-            route.addProperty("nextHopIp", src.getNextHopIp());
-         }
-         if (!src.getTags().isEmpty()) {
-            route.add("tags", buildArrayOfStrings(src.getTags()));
-         }
-         return route;
-      }
-   }
-
-   private static JsonArray buildArrayOfStrings(Iterable<String> strings) {
-      JsonArray array = new JsonArray();
-      for (String string : strings) {
-         array.add(new JsonPrimitive(string));
-      }
-      return array;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineProperties.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineProperties.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineProperties.java
deleted file mode 100644
index 526ea93..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineProperties.java
+++ /dev/null
@@ -1,39 +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.googlecomputeengine.config;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Configuration properties keys used in {@link org.jclouds.ContextBuilder#overrides(java.util.Properties)}.
- * <p/> Note that these are in addition to properties defined in {@link org.jclouds.googlecloud.config.GoogleCloudProperties}.
- */
-public final class GoogleComputeEngineProperties {
-
-   /** The total time, in msecs, to wait for an operation to complete. */
-   @Beta
-   public static final String OPERATION_COMPLETE_TIMEOUT = "jclouds.google-compute-engine.operation-complete-timeout";
-   /** The interval, in msecs, between calls to check whether an operation has completed. */
-   @Beta
-   public static final String OPERATION_COMPLETE_INTERVAL = "jclouds.google-compute-engine.operation-complete-interval";
-   /** The list of projects that will be scanned looking for images. */
-   @Beta
-   public static final String IMAGE_PROJECTS = "jclouds.google-compute-engine.image-projects";
-
-   private GoogleComputeEngineProperties() {
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Address.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Address.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Address.java
deleted file mode 100644
index ff7226d..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Address.java
+++ /dev/null
@@ -1,69 +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.googlecomputeengine.domain;
-
-import java.net.URI;
-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;
-
-@AutoValue
-public abstract class Address {
-
-   public enum Status{
-      RESERVED,
-      IN_USE;
-   }
-   public abstract String id();
-
-   public abstract URI selfLink();
-
-   public abstract String name();
-
-   public abstract Date creationTimestamp();
-
-   @Nullable public abstract String description();
-
-   /**
-    * The status of the address. Valid items are RESERVED and IN USE.
-    * A reserved address is currently available to the project and can be
-    * used by a resource. An in-use address is currently being used by a resource.
-    */
-   public abstract Status status();
-
-   /** URL of the resource currently using this address. */
-   @Nullable public abstract List<URI> users();
-
-   /** URL of the region where the address resides. */
-   public abstract URI region();
-
-   /** The IP address represented by this resource. */
-   public abstract String address();
-
-   @SerializedNames({ "id", "selfLink", "name", "creationTimestamp", "description", "status", "users", "region", "address" })
-   public static Address create(String id, URI selfLink, String name, Date creationTimestamp, String description, Status status, List<URI> users,
-         URI region, String address) {
-      return new AutoValue_Address(id, selfLink, name, creationTimestamp, description, status, users, region, address);
-   }
-
-   Address() {
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/AttachDisk.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/AttachDisk.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/AttachDisk.java
deleted file mode 100644
index 5c34818..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/AttachDisk.java
+++ /dev/null
@@ -1,132 +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.googlecomputeengine.domain;
-
-import java.net.URI;
-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 AttachDisk {
-   @AutoValue
-   public abstract static class InitializeParams {
-      /** Override the default naming convention. */
-      @Nullable public abstract String diskName();
-
-      /** Set to use a size larger than the {@link #sourceImage()}. You need to repartition when set. */
-      @Nullable public abstract Long diskSizeGb();
-
-      /** The {@link org.jclouds.googlecomputeengine.domain.Image#selfLink() source image}. */
-      public abstract URI sourceImage();
-
-      @Nullable public abstract URI diskType();
-
-      static InitializeParams create(URI sourceImage) {
-         return create(null, null, sourceImage, null);
-      }
-
-      static InitializeParams create(URI sourceImage, URI diskType) {
-         return create(null, null, sourceImage, diskType);
-      }
-
-      @SerializedNames({ "diskName", "diskSizeGb", "sourceImage", "diskType" })
-      public static InitializeParams create(String diskName, Long diskSizeGb, URI sourceImage, URI diskType) {
-         return new AutoValue_AttachDisk_InitializeParams(diskName, diskSizeGb, sourceImage, diskType);
-      }
-
-      InitializeParams() {
-      }
-   }
-
-   public enum Type {
-      PERSISTENT,
-      SCRATCH;
-   }
-
-   public enum Mode {
-      READ_WRITE,
-      READ_ONLY;
-   }
-
-   public enum DiskInterface {
-      NVME,
-      SCSI;
-   }
-
-   public abstract Type type();
-
-   @Nullable public abstract Mode mode();
-
-   /** Use an existingBootDisk {@link org.jclouds.googlecomputeengine.domain.Disk#selfLink() boot disk}. */
-   @Nullable public abstract URI source();
-
-   /**
-    * Must be unique within the instance when specified. This represents a unique
-    * device name that is reflected into the /dev/ tree of a Linux operating system running within the
-    * instance. If not specified, a default will be chosen by the system.
-    */
-   @Nullable public abstract String deviceName();
-
-   /** True if this is a boot disk. VM will use the first partition of the disk for its root filesystem. */
-   public abstract boolean boot();
-
-   /** Set to automatically create a boot disk */
-   @Nullable public abstract InitializeParams initializeParams();
-
-   /** True if this disk will be deleted when the instance is delete. */
-   public abstract boolean autoDelete();
-
-   @Nullable public abstract List<String> licenses();
-
-   // Note: this is disks[].interface in the api docs but interface is a Java keyword.
-   @Nullable public abstract DiskInterface diskInterface();
-
-   public static AttachDisk existingBootDisk(URI existingBootDisk) {
-      return create(Type.PERSISTENT, existingBootDisk, null, true, false);
-   }
-
-   public static AttachDisk newBootDisk(URI sourceImage) {
-      return create(Type.PERSISTENT, null, InitializeParams.create(sourceImage), true, true);
-   }
-
-   public static AttachDisk newBootDisk(URI sourceImage, URI diskType) {
-      return create(Type.PERSISTENT, null, InitializeParams.create(sourceImage, diskType), true, true);
-   }
-
-   public static AttachDisk existingDisk(URI existingDisk) {
-      return create(Type.PERSISTENT, existingDisk, null, false, false);
-   }
-
-   static AttachDisk create(Type type, URI source, InitializeParams initializeParams, boolean boot,
-            boolean autoDelete) {
-         return create(type, null, source, null, boot, initializeParams, autoDelete, null, null);
-      }
-
-   @SerializedNames({"type", "mode", "source", "deviceName", "boot", "initializeParams", "autoDelete", "licenses", "interface" })
-   public static AttachDisk create(Type type, Mode mode, URI source, String deviceName, boolean boot, InitializeParams initializeParams,
-         boolean autoDelete, List<String> licenses, DiskInterface diskInterface) {
-      return new AutoValue_AttachDisk(type, mode, source, deviceName, boot, initializeParams, autoDelete, licenses, diskInterface);
-   }
-
-   AttachDisk() {
-   }
-}
-

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/BackendService.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/BackendService.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/BackendService.java
deleted file mode 100644
index f4b15c2..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/BackendService.java
+++ /dev/null
@@ -1,103 +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.googlecomputeengine.domain;
-
-import java.net.URI;
-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;
-
-@AutoValue
-public abstract class BackendService {
-
-   @AutoValue
-   public abstract static class Backend {
-      public enum BalancingModes{
-         RATE,
-         UTILIZATION;
-      }
-
-      @Nullable public abstract String description();
-      public abstract URI group();
-      @Nullable public abstract BalancingModes balancingMode();
-      @Nullable public abstract Float maxUtilization();
-      @Nullable public abstract Integer maxRate();
-      @Nullable public abstract Float maxRatePerInstance();
-      @Nullable public abstract Float capacityScaler();
-
-
-      @SerializedNames({ "description", "group", "balancingMode", "maxUtilization", "maxRate",
-         "maxRatePerInstance", "capacityScaler" })
-      public static Backend create(String description,
-                                   URI group,
-                                   BalancingModes balancingMode,
-                                   Float maxUtilization,
-                                   Integer maxRate,
-                                   Float maxRatePerInstance,
-                                   Float capacityScaler) {
-         return new AutoValue_BackendService_Backend(description, group, balancingMode, maxUtilization, maxRate,
-                                  maxRatePerInstance, capacityScaler);
-      }
-
-      public static Backend create(URI group){
-         return create(null, group, null, null, null, null, null);
-      }
-
-      Backend(){
-      }
-   }
-
-   public abstract String id();
-   public abstract Date creationTimestamp();
-   public abstract URI selfLink();
-   public abstract String name();
-   @Nullable public  abstract String description();
-   @Nullable public  abstract List<Backend> backends();
-   @Nullable public abstract List<URI> healthChecks();
-   @Nullable public abstract int timeoutSec();
-   @Nullable public abstract int port();
-   @Nullable public abstract String protocol();
-   @Nullable public abstract String fingerprint();
-   @Nullable public abstract String portName();
-
-   /**
-    * @param timeoutSec Defaults to 30 when null.
-    * @param port Defaults to 80 when null.
-    */
-   @SerializedNames({ "id", "creationTimestamp", "selfLink", "name", "description",
-      "backends", "healthChecks", "timeoutSec", "port", "protocol",
-      "fingerprint", "portName"})
-   public static BackendService create(String id, Date creationTimestamp, URI selfLink,
-                          String name, @Nullable String description,
-                          @Nullable List<Backend> backends, List<URI> healthChecks,
-                          @Nullable Integer timeoutSec, @Nullable Integer port,
-                          @Nullable String protocol,
-                          @Nullable String fingerprint, String portName){
-      return new AutoValue_BackendService(id, creationTimestamp, selfLink, name, description,
-                            backends, healthChecks,
-                            timeoutSec != null ? timeoutSec : 30,
-                            port != null ? port : 80,
-                            protocol, fingerprint, portName);
-   }
-
-   BackendService(){
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Deprecated.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Deprecated.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Deprecated.java
deleted file mode 100644
index 77077df..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Deprecated.java
+++ /dev/null
@@ -1,64 +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.googlecomputeengine.domain;
-
-import java.net.URI;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/** Deprecation information for an image or kernel */
-@AutoValue
-public abstract class Deprecated {
-
-   public enum State{
-      DELETED,
-      DEPRECATED,
-      OBSELETE;
-   }
-
-   /** The deprecation state of this image. */
-   @Nullable public abstract State state();
-
-   /** A fully-qualified URL of the suggested replacement for the deprecated image. */
-   @Nullable public abstract URI replacement();
-
-   /** An optional RFC3339 timestamp for when the deprecation state of this resource will be changed to DEPRECATED. */
-   @Nullable public abstract String deprecated();
-
-   /**
-    * An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to
-    * OBSOLETE.
-    */
-   @Nullable public abstract String obsolete();
-
-   /**
-    * An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to
-    * DELETED.
-    */
-   @Nullable public abstract String deleted();
-
-   @SerializedNames({ "state", "replacement", "deprecated", "obsolete", "deleted" })
-   public static Deprecated create(State state, URI replacement, String deprecated, String obsolete, String deleted) {
-      return new AutoValue_Deprecated(state, replacement, deprecated, obsolete, deleted);
-   }
-
-   Deprecated() {
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Disk.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Disk.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Disk.java
deleted file mode 100644
index 4321347..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Disk.java
+++ /dev/null
@@ -1,77 +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.googlecomputeengine.domain;
-
-import java.net.URI;
-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;
-
-@AutoValue
-public abstract class Disk {
-
-   public enum Status {
-      CREATING,
-      FAILED,
-      READY,
-      RESTORING;
-   }
-
-   public abstract String id();
-
-   public abstract Date creationTimestamp();
-
-   public abstract URI zone();
-
-   public abstract Status status();
-
-   public abstract String name();
-
-   @Nullable public abstract String description();
-
-   public abstract int sizeGb();
-
-   @Nullable public abstract String sourceSnapshot();
-
-   @Nullable public abstract String sourceSnapshotId();
-
-   public abstract URI selfLink();
-
-   @Nullable public abstract URI sourceImage();
-
-   @Nullable public abstract String sourceImageId();
-
-   /** URL of the corresponding disk type resource. */
-   @Nullable public abstract URI type();
-
-   @Nullable public abstract List<String> licenses();
-
-   @SerializedNames({ "id", "creationTimestamp", "zone", "status", "name", "description", "sizeGb", "sourceSnapshot",
-      "sourceSnapshotId", "selfLink", "sourceImage", "sourceImageId", "type", "licenses" })
-   public static Disk create(String id, Date creationTimestamp, URI zone, Status status, String name, String description, int sizeGb,
-         String sourceSnapshot, String sourceSnapshotId, URI selfLink, URI sourceImage, String sourceImageId, URI type, List<String> licenses) {
-      return new AutoValue_Disk(id, creationTimestamp, zone, status, name, description, sizeGb,
-            sourceSnapshot, sourceSnapshotId, selfLink, sourceImage, sourceImageId, type, licenses);
-   }
-
-   Disk(){
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/DiskType.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/DiskType.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/DiskType.java
deleted file mode 100644
index e1c3fc3..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/DiskType.java
+++ /dev/null
@@ -1,56 +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.googlecomputeengine.domain;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class DiskType {
-
-   public abstract Date creationTimestamp();
-
-   public abstract String name();
-
-   @Nullable public abstract String description();
-
-   /** Textual description of the valid disk size. For example, "10GB-10TB." */
-   @Nullable public abstract String validDiskSize();
-
-   @Nullable public abstract Deprecated deprecated();
-
-   public abstract URI zone();
-
-   public abstract URI selfLink();
-
-   /** Server defined default disk size in GB. */
-   public abstract long defaultDiskSizeGb();
-
-   @SerializedNames({ "creationTimestamp", "name", "description", "validDiskSize", "deprecated", "zone", "selfLink", "defaultDiskSizeGb" })
-   public static DiskType create(Date creationTimestamp, String name, String description, String validDiskSize, Deprecated deprecated, URI zone,
-         URI selfLink, long defaultDiskSizeGb) {
-      return new AutoValue_DiskType(creationTimestamp, name, description, validDiskSize, deprecated, zone, selfLink, defaultDiskSizeGb);
-   }
-
-   DiskType() {
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Firewall.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Firewall.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Firewall.java
deleted file mode 100644
index f8acf8d..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Firewall.java
+++ /dev/null
@@ -1,109 +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.googlecomputeengine.domain;
-
-import static org.jclouds.googlecloud.internal.NullSafeCopies.copyOf;
-
-import java.net.URI;
-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;
-
-@AutoValue
-public abstract class Firewall {
-
-   /** A protocol and port-range tuple that describes a permitted connection. */
-   @AutoValue
-   public abstract static class Rule {
-      /** This can either be a well known protocol string (tcp, udp or icmp) or the IP protocol number. */
-      public abstract String ipProtocol();
-
-      /**
-       * An optional list of ports which are allowed. This is only applicable for UDP or TCP protocol. Each entry must
-       * be either an integer or a range (ex. {@code 12345-12349}). If not specified, connections through any port are
-       * allowed.
-       */
-      @Nullable public abstract List<String> ports();
-
-      @SerializedNames({ "IPProtocol", "ports" })
-      public static Rule create(String ipProtocol, List<String> ports) {
-         return new AutoValue_Firewall_Rule(ipProtocol, ports);
-      }
-
-      Rule() {
-      }
-   }
-
-   public abstract String id();
-
-   public abstract URI selfLink();
-
-   public abstract Date creationTimestamp();
-
-   public abstract String name();
-
-   @Nullable public abstract String description();
-
-   /**
-    * @return URI of the network to which this firewall is applied; provided by the client when the firewall is created.
-    */
-   public abstract URI network();
-
-   /**
-    * One or both of sourceRanges and sourceTags may be set; an inbound connection is allowed if either the range or
-    * the tag of the source matches.
-    *
-    * @return a list of IP address blocks expressed in CIDR format which this rule applies to.
-    */
-   public abstract List<String> sourceRanges();
-
-   /**
-    * @return a list of instance items which this rule applies to. One or both of sourceRanges and sourceTags may be
-    * set; an inbound connection is allowed if either the range or the tag of the source matches.
-    */
-   public abstract List<String> sourceTags();
-
-   /**
-    * If no targetTags are specified, the firewall rule applies to all instances on the specified network.
-    *
-    * @return a list of instance items indicating sets of instances located on network which may make network
-    * connections as specified in allowed.
-    */
-   public abstract List<String> targetTags();
-
-   /**
-    * Each rule specifies a protocol and port-range tuple that describes a permitted connection.
-    *
-    * @return the list of rules specified by this firewall.
-    */
-   public abstract List<Rule> allowed();
-
-   @SerializedNames(
-         { "id", "selfLink", "creationTimestamp", "name", "description", "network", "sourceRanges", "sourceTags", "targetTags", "allowed" })
-   public static Firewall create(String id, URI selfLink, Date creationTimestamp, String name, String description, URI network,
-         List<String> sourceRanges, List<String> sourceTags, List<String> targetTags, List<Rule> allowed) {
-      return new AutoValue_Firewall(id, selfLink, creationTimestamp, name, description, network, copyOf(sourceRanges), copyOf(sourceTags),
-            copyOf(targetTags), copyOf(allowed));
-   }
-
-   Firewall() {
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/ForwardingRule.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/ForwardingRule.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/ForwardingRule.java
deleted file mode 100644
index 1e76658..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/ForwardingRule.java
+++ /dev/null
@@ -1,88 +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.googlecomputeengine.domain;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class ForwardingRule {
-
-   public enum IPProtocol {
-      /** IP Authentication Header protocol. */
-      AH,
-      /** IP Encapsulating Security Payload protocol. */
-      ESP,
-      /** Stream Control Transmission Protocol. */
-      SCTP,
-      /** Transmission Control Protocol. */
-      TCP,
-      /** Specifies the User Datagram Protocol. */
-      UDP
-   }
-
-   public abstract String id();
-
-   public abstract URI selfLink();
-
-   public abstract String name();
-
-   @Nullable public abstract String description();
-
-   public abstract Date creationTimestamp();
-
-   /** null when representing a GlobalForwardingRules */
-   @Nullable public abstract URI region();
-
-   /**
-    * The external IP address that this forwarding rule is serving on behalf of. If this is a reserved
-    * address, the address must live in the same region as the forwarding rule. By default,
-    * this field is empty and  an ephemeral IP is assigned to the ForwardingRule.
-    */
-   @Nullable public abstract String ipAddress();
-
-   public abstract IPProtocol ipProtocol();
-
-   /**
-    * If IPProtocol is TCP or UDP, packets addressed to ports in the specified range will be forwarded to
-    * backend. By default, this is empty and all ports are allowed.
-    */
-   @Nullable public abstract String portRange();
-
-   /**
-    * The URL of the target resource to receive the matched traffic. The target resource must live in the
-    * same region as this forwarding rule.
-    */
-   public abstract URI target();
-
-   @SerializedNames(
-         { "id", "selfLink", "name", "description", "creationTimestamp", "region", "IPAddress", "IPProtocol", "portRange", "target" })
-   public static ForwardingRule create(String id, URI selfLink, String name, String description, Date creationTimestamp, URI region,
-         String ipAddress, IPProtocol ipProtocol, String portRange, URI target) {
-      return new AutoValue_ForwardingRule(id, selfLink, name, description, creationTimestamp, region, ipAddress,
-            ipProtocol == null ? IPProtocol.TCP : ipProtocol, portRange, target);
-   }
-
-   ForwardingRule() {
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/HealthStatus.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/HealthStatus.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/HealthStatus.java
deleted file mode 100644
index 9d8f65b..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/HealthStatus.java
+++ /dev/null
@@ -1,56 +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.googlecomputeengine.domain;
-
-import java.net.URI;
-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 HealthStatus {
-
-   public abstract List<HealthStatusInternal> healthStatus();
-
-   @SerializedNames({"healthStatus"})
-   public static HealthStatus create(List<HealthStatusInternal> healthStatus){
-      return new AutoValue_HealthStatus(healthStatus);
-   }
-
-   HealthStatus(){
-   }
-
-   @AutoValue
-   public abstract static class HealthStatusInternal {
-
-      @Nullable public abstract String ipAddress();
-      public abstract Integer port();
-      public abstract URI instance();
-      public abstract String healthState();
-
-      @SerializedNames({"ipAddress", "port", "instance", "healthState"})
-      public static HealthStatusInternal create(String ipAddress, int port, URI instance, String healthState) {
-         return new AutoValue_HealthStatus_HealthStatusInternal(ipAddress, port, instance, healthState);
-      }
-
-      HealthStatusInternal(){
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/HttpHealthCheck.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/HttpHealthCheck.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/HttpHealthCheck.java
deleted file mode 100644
index 0e3d955..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/HttpHealthCheck.java
+++ /dev/null
@@ -1,75 +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.googlecomputeengine.domain;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class HttpHealthCheck {
-
-   public abstract String id();
-
-   public abstract URI selfLink();
-
-   public abstract Date creationTimestamp();
-
-   public abstract String name();
-
-   @Nullable public abstract String description();
-
-   /**
-    * The value of the host header in the HTTP health check request. If left empty (default value),
-    * the public IP on behalf of which this health check is performed will be used.
-    */
-   @Nullable public abstract String host();
-
-   @Nullable public abstract String requestPath();
-
-   /** The TCP port number for the HTTP health check request. */
-   @Nullable public abstract Integer port();
-
-   /** How often (in seconds) to send a health check. */
-   @Nullable public abstract Integer checkIntervalSec();
-
-   /** How long (in seconds) to wait before claiming failure. */
-   @Nullable public abstract Integer timeoutSec();
-
-   /** A so-far healthy VM will be marked unhealthy after this many consecutive failures. */
-   @Nullable public abstract Integer unhealthyThreshold();
-
-   /** An unhealthy VM will be marked healthy after this many consecutive successes. */
-   @Nullable public abstract Integer healthyThreshold();
-
-   @SerializedNames(
-         { "id", "selfLink", "creationTimestamp", "name", "description", "host", "requestPath", "port", "checkIntervalSec", "timeoutSec",
-               "unhealthyThreshold", "healthyThreshold" })
-   public static HttpHealthCheck create(String id, URI selfLink, Date creationTimestamp, String name, String description, String host,
-         String requestPath, Integer port, Integer checkIntervalSec, Integer timeoutSec, Integer unhealthyThreshold,
-         Integer healthyThreshold) {
-      return new AutoValue_HttpHealthCheck(id, selfLink, creationTimestamp, name, description, host,
-            requestPath, port, checkIntervalSec, timeoutSec, unhealthyThreshold, healthyThreshold);
-   }
-
-   HttpHealthCheck() {
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Image.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Image.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Image.java
deleted file mode 100644
index b055ee2..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Image.java
+++ /dev/null
@@ -1,106 +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.googlecomputeengine.domain;
-
-import java.net.URI;
-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;
-
-@AutoValue
-public abstract class Image {
-
-   public enum Status {
-        FAILED,
-        PENDING,
-        READY;
-   }
-
-   @AutoValue
-   public abstract static class RawDisk {
-      /**
-       * The full Google Cloud Storage URL where the disk image is stored; provided by the client when the disk
-       * image is created.
-       */
-      public abstract URI source();
-
-      /**
-       * The format used to encode and transmit the block device.
-       */
-      public abstract String containerType();
-
-      /**
-       * SHA1 checksum of the disk image before unpacking; provided by the client when the disk
-       * image is created.
-       */
-      @Nullable public abstract String sha1Checksum();
-
-      @SerializedNames({ "source", "containerType", "sha1Checksum" })
-      public static RawDisk create(URI source, String containerType, String sha1Checksum) {
-         return new AutoValue_Image_RawDisk(source, containerType, sha1Checksum);
-      }
-
-      RawDisk() {
-      }
-   }
-
-   public abstract String id();
-
-   public abstract URI selfLink();
-
-   public abstract Date creationTimestamp();
-
-   public abstract String name();
-
-   @Nullable public abstract String description();
-
-   /** Must be RAW; provided by the client when the disk image is created. */
-   // TODO: if this is true, why bother listing it?
-   @Nullable public abstract String sourceType();
-
-   @Nullable public abstract RawDisk rawDisk();
-
-   @Nullable public abstract Deprecated deprecated();
-
-   public abstract Status status();
-
-   public abstract Long archiveSizeBytes();
-
-   public abstract Long diskSizeGb();
-
-   @Nullable public abstract String sourceDisk();
-
-   @Nullable public abstract String sourceDiskId();
-
-   @Nullable public abstract List<String> licenses();
-
-   @SerializedNames({ "id", "selfLink", "creationTimestamp", "name", "description", "sourceType", "rawDisk", "deprecated",
-      "status", "archiveSizeBytes", "diskSizeGb", "sourceDisk", "sourceDiskId", "licenses"})
-   public static Image create(String id, URI selfLink, Date creationTimestamp, String name, String description, String sourceType,
-         RawDisk rawDisk, Deprecated deprecated, Status status, Long archiveSizeBytes, Long diskSizeGb,
-         String sourceDisk, String sourceDiskId, List<String> licenses) {
-      return new AutoValue_Image(id, selfLink, creationTimestamp, name, description, sourceType, rawDisk, deprecated, status,
-            archiveSizeBytes, diskSizeGb, sourceDisk, sourceDiskId, licenses);
-   }
-
-   Image() {
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Instance.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Instance.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Instance.java
deleted file mode 100644
index dcbc344..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Instance.java
+++ /dev/null
@@ -1,262 +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.googlecomputeengine.domain;
-
-import static org.jclouds.googlecloud.internal.NullSafeCopies.copyOf;
-
-import java.net.URI;
-import java.util.Date;
-import java.util.List;
-
-import org.jclouds.googlecomputeengine.domain.AttachDisk.DiskInterface;
-import org.jclouds.googlecomputeengine.domain.AttachDisk.InitializeParams;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/** Represents a virtual machine. */
-@AutoValue
-public abstract class Instance {
-
-   @AutoValue
-   public abstract static class AttachedDisk {
-      public enum Type {
-         PERSISTENT,
-         SCRATCH;
-      }
-
-      public enum Mode {
-         READ_WRITE,
-         READ_ONLY;
-      }
-
-      /** A zero-based index to assign to this disk, where 0 is reserved for the boot disk. */
-      @Nullable public abstract int index();
-
-      public abstract Type type();
-
-      public abstract Mode mode();
-
-      /** Corresponds to {@linkplain Disk#selfLink()} when {@linkplain #type()} is {@linkplain Type#PERSISTENT}. */
-      @Nullable public abstract URI source();
-
-      /**
-       * Must be unique within the instance when specified. This represents a unique
-       * device name that is reflected into the /dev/ tree of a Linux operating system running within the
-       * instance. If not specified, a default will be chosen by the system.
-       */
-      @Nullable public abstract String deviceName();
-
-      public abstract boolean autoDelete();
-
-      public abstract boolean boot();
-
-      @Nullable public abstract InitializeParams initializeParams();
-
-      @Nullable public abstract List<String> licenses();
-
-      // Note: this is disks[].interface in the api docs but interface is a Java keyword.
-      @Nullable public abstract DiskInterface diskInterface();
-
-      @SerializedNames({ "index", "type", "mode", "source", "deviceName", "autoDelete", "boot",
-         "initializeParams", "licenses", "interface" })
-      public static AttachedDisk create(int index, Type type, Mode mode, URI source, String deviceName,
-            boolean autoDelete, boolean boot, InitializeParams initializeParams,
-            List<String> licenses, DiskInterface diskInterface) {
-         return new AutoValue_Instance_AttachedDisk(index, type, mode, source, deviceName, autoDelete,
-               boot, initializeParams, licenses, diskInterface);
-      }
-
-      AttachedDisk() {
-      }
-   }
-
-   @AutoValue
-   public abstract static class NetworkInterface {
-      /**
-       * This specifies how this interface is configured to interact with other network services,
-       * such as connecting to the internet.
-       */
-      @AutoValue
-      public abstract static class AccessConfig {
-
-         public enum Type {
-            ONE_TO_ONE_NAT
-         }
-
-         @Nullable public abstract String name();
-
-         public abstract Type type();
-
-         /** An external IP address associated with this instance, if there is one. */
-         @Nullable public abstract String natIP();
-
-         @SerializedNames({ "name", "type", "natIP" })
-         public static AccessConfig create(String name, Type type, String natIP) {
-            return new AutoValue_Instance_NetworkInterface_AccessConfig(name, type, natIP);
-         }
-
-         AccessConfig() {
-         }
-      }
-
-      public abstract String name();
-
-      public abstract URI network();
-
-      /** An IPV4 internal network address to assign to this instance. */
-      @Nullable public abstract String networkIP();
-
-      public abstract List<AccessConfig> accessConfigs();
-
-      @SerializedNames({ "name", "network", "networkIP", "accessConfigs" })
-      public static NetworkInterface create(String name, URI network, String networkIP,
-            List<AccessConfig> accessConfigs) {
-         return new AutoValue_Instance_NetworkInterface(name, network, networkIP, copyOf(accessConfigs));
-      }
-
-      NetworkInterface() {
-      }
-   }
-
-   @AutoValue
-   public abstract static class SerialPortOutput {
-
-      public abstract URI selfLink();
-
-      /** The contents of the console output. */
-      public abstract String contents();
-
-      @SerializedNames({ "selfLink", "contents" })
-      public static SerialPortOutput create(URI selfLink, String contents) {
-         return new AutoValue_Instance_SerialPortOutput(selfLink, contents);
-      }
-
-      SerialPortOutput() {
-      }
-   }
-
-   /**
-    * A service account for which access tokens are to be made available to the instance through metadata queries.
-    */
-   @AutoValue
-   public abstract static class ServiceAccount {
-
-      public abstract String email();
-
-      public abstract List<String> scopes();
-
-      @SerializedNames({ "email", "scopes" })
-      public static ServiceAccount create(String email, List<String> scopes) {
-         return new AutoValue_Instance_ServiceAccount(email, scopes);
-      }
-
-      ServiceAccount() {
-      }
-   }
-
-   /**
-    * Defines the maintenance behavior for this instance. The default behavior is migrate.
-    */
-   @AutoValue
-   public abstract static class Scheduling {
-
-      public enum OnHostMaintenance {
-         /**
-          * Allows Compute Engine to automatically migrate instances out of the way of maintenance events.
-          */
-         MIGRATE,
-         /**
-          * Allows Compute Engine to terminate and restart the instance away from the maintenance activity.
-          * If you would like your instance to be restarted, set the automaticRestart flag to true.
-          * Your instance may be restarted more than once, and it may be restarted outside the window
-          * of maintenance events.
-          */
-         TERMINATE
-      }
-
-      public abstract OnHostMaintenance onHostMaintenance();
-      public abstract boolean automaticRestart();
-
-      @SerializedNames({ "onHostMaintenance", "automaticRestart" })
-      public static Scheduling create(OnHostMaintenance onHostMaintenance, boolean automaticRestart) {
-         return new AutoValue_Instance_Scheduling(onHostMaintenance, automaticRestart);
-      }
-
-      Scheduling() {
-      }
-   }
-
-   public enum Status {
-      PROVISIONING,
-      STAGING,
-      RUNNING,
-      STOPPING,
-      STOPPED,
-      TERMINATED
-   }
-
-   public abstract String id();
-
-   @Nullable public abstract Date creationTimestamp();
-
-   public abstract URI selfLink();
-
-   public abstract String name();
-
-   @Nullable public abstract String description();
-
-   public abstract Tags tags();
-
-   public abstract URI machineType();
-
-   @Nullable public abstract Status status();
-
-   /** Human-readable explanation of the status. */
-   @Nullable public abstract String statusMessage();
-
-   /**
-    * URL of the zone resource describing where this instance should be hosted; provided by the client when
-    * the instance is created.
-    */
-   public abstract URI zone();
-
-   @Nullable public abstract Boolean canIpForward();
-
-   public abstract List<NetworkInterface> networkInterfaces();
-
-   public abstract List<AttachedDisk> disks();
-
-   public abstract Metadata metadata();
-
-   public abstract List<ServiceAccount> serviceAccounts();
-
-   public abstract Scheduling scheduling();
-
-   @SerializedNames({ "id", "creationTimestamp", "selfLink", "name", "description", "tags", "machineType", "status", "statusMessage", "zone",
-         "canIpForward", "networkInterfaces", "disks", "metadata", "serviceAccounts", "scheduling"})
-   public static Instance create(String id, Date creationTimestamp, URI selfLink, String name, String description, Tags tags, URI machineType,
-         Status status, String statusMessage, URI zone, Boolean canIpForward, List<NetworkInterface> networkInterfaces,
-         List<AttachedDisk> disks, Metadata metadata, List<ServiceAccount> serviceAccounts, Scheduling scheduling) {
-      return new AutoValue_Instance(id, creationTimestamp, selfLink, name, description, tags, machineType, status, statusMessage, zone,
-            canIpForward, copyOf(networkInterfaces), copyOf(disks), metadata, copyOf(serviceAccounts), scheduling);
-   }
-
-   Instance() {
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/KeyValuePair.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/KeyValuePair.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/KeyValuePair.java
deleted file mode 100644
index 823b55e..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/KeyValuePair.java
+++ /dev/null
@@ -1,37 +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.googlecomputeengine.domain;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class KeyValuePair {
-
-   public abstract String key();
-
-   public abstract String value();
-
-   @SerializedNames({ "key", "value" })
-   public static KeyValuePair create(String key, String value) {
-      return new AutoValue_KeyValuePair(key, value);
-   }
-
-   KeyValuePair(){
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/License.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/License.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/License.java
deleted file mode 100644
index 68277e5..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/License.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.googlecomputeengine.domain;
-
-import java.net.URI;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/** Parameter to {@linkplain org.jclouds.googlecomputeengine.features.InstanceApi#create(NewInstance)}. */
-@AutoValue
-public abstract class License {
-
-   public abstract URI selfLink();
-   public abstract String name();
-   public abstract boolean chargesUseFee();
-
-   @SerializedNames({"selfLink", "name", "chargesUseFee"})
-   public static License create(URI selfLink, String name, boolean chargesUseFee) {
-      return new AutoValue_License(selfLink, name, chargesUseFee);
-   }
-
-   License() {
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/MachineType.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/MachineType.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/MachineType.java
deleted file mode 100644
index cc3389d..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/MachineType.java
+++ /dev/null
@@ -1,87 +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.googlecomputeengine.domain;
-
-import static org.jclouds.googlecloud.internal.NullSafeCopies.copyOf;
-
-import java.net.URI;
-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 machine type used to host an instance. */
-@AutoValue
-public abstract class MachineType {
-
-   @AutoValue
-   public abstract static class ScratchDisk {
-
-      public abstract int diskGb();
-
-      @SerializedNames({ "diskGb" })
-      public static ScratchDisk create(int diskGb) {
-         return new AutoValue_MachineType_ScratchDisk(diskGb);
-      }
-
-      ScratchDisk() {
-      }
-   }
-
-   public abstract String id();
-
-   public abstract Date creationTimestamp();
-
-   public abstract URI selfLink();
-
-   public abstract String name();
-
-   @Nullable public abstract String description();
-
-   public abstract int guestCpus();
-
-   public abstract int memoryMb();
-
-   @Nullable public abstract Integer imageSpaceGb();
-
-   public abstract List<ScratchDisk> scratchDisks();
-
-   public abstract int maximumPersistentDisks();
-
-   public abstract long maximumPersistentDisksSizeGb();
-
-   /** The zones that this machine type can run in. */
-   public abstract String zone();
-
-   @Nullable public abstract Deprecated deprecated();
-
-   @SerializedNames(
-         { "id", "creationTimestamp", "selfLink", "name", "description", "guestCpus", "memoryMb", "imageSpaceGb", "scratchDisks", "maximumPersistentDisks",
-               "maximumPersistentDisksSizeGb", "zone", "deprecated" })
-   public static MachineType create(String id, Date creationTimestamp, URI selfLink, String name, String description, int guestCpus,
-         int memoryMb, Integer imageSpaceGb, List<ScratchDisk> scratchDisks, int maximumPersistentDisks, long maximumPersistentDisksSizeGb,
-         String zone, Deprecated deprecated) {
-      return new AutoValue_MachineType(id, creationTimestamp, selfLink, name, description, guestCpus, memoryMb, imageSpaceGb, copyOf(scratchDisks),
-            maximumPersistentDisks, maximumPersistentDisksSizeGb, zone, deprecated);
-   }
-
-   MachineType() {
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Metadata.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Metadata.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Metadata.java
deleted file mode 100644
index b512cbe..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Metadata.java
+++ /dev/null
@@ -1,118 +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.googlecomputeengine.domain;
-
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/**
- * Metadata for an instance or project, with their fingerprint.
- * <p/>
- * This object is mutable and not thread-safe.
- */
-@AutoValue
-public abstract class Metadata implements Cloneable {
-
-   /** The fingerprint for the items - needed for updating them. */
-   @Nullable public abstract String fingerprint();
-
-   /** Adds or replaces a metadata entry. */
-   public Metadata put(String key, String value) {
-      remove(key);
-      items().add(KeyValuePair.create(key, value));
-      return this;
-   }
-
-   /** Adds or replaces metadata entries. */
-   public Metadata putAll(Map<String, String> input) {
-      for (Map.Entry<String, String> entry : input.entrySet()) {
-         put(entry.getKey(), entry.getValue());
-      }
-      return this;
-   }
-
-   /** Removes any entry with the supplied key. */
-   public Metadata remove(String key) {
-      for (int i = 0, length = items().size(); i < length; i++) {
-         if (items().get(i).key().equals(key)) {
-            items().remove(i);
-            return this;
-         }
-      }
-      return this;
-   }
-
-   /** Copies the metadata into a new mutable map. */
-   public Map<String, String> asMap() {
-      Map<String, String> result = new LinkedHashMap<String, String>();
-      ArrayList<KeyValuePair> items = items();
-      for (int i = 0, length = items.size(); i < length; i++) {
-         KeyValuePair item = items.get(i);
-         result.put(item.key(), item.value());
-      }
-      return result;
-   }
-
-   /** Returns the value with the supplied key, or null. */
-   @Nullable public String get(String key) {
-      ArrayList<KeyValuePair> items = items();
-      for (int i = 0, length = items.size(); i < length; i++) {
-         KeyValuePair item = items.get(i);
-         if (item.key().equals(key)) {
-            return item.value();
-         }
-      }
-      return null;
-   }
-
-   public boolean containsKey(String key) {
-      return get(key) != null;
-   }
-
-   public int size() {
-      return items().size();
-   }
-
-   /** Mutable list of metadata. */
-   abstract ArrayList<KeyValuePair> items();
-
-   public static Metadata create() {
-      return Metadata.create(null, null);
-   }
-
-   public static Metadata create(String fingerprint) {
-      return Metadata.create(fingerprint, null);
-   }
-
-   @SerializedNames({ "fingerprint", "items" })
-   static Metadata create(String fingerprint, ArrayList<KeyValuePair> items) { // Dictates the type when created from json!
-      return new AutoValue_Metadata(fingerprint, items != null ? items : new ArrayList<KeyValuePair>());
-   }
-
-   Metadata() {
-   }
-
-   @Override public Metadata clone() {
-      return Metadata.create(fingerprint(), new ArrayList<KeyValuePair>(items()));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cf9af834/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Network.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Network.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Network.java
deleted file mode 100644
index 7b30cff..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/Network.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.googlecomputeengine.domain;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/**
- * Represents a network used to enable instance communication.
- */
-@AutoValue
-public abstract class Network {
-
-   public abstract String id();
-
-   public abstract Date creationTimestamp();
-
-   public abstract URI selfLink();
-
-   public abstract String name();
-
-   @Nullable public abstract String description();
-
-   /**
-    * The range of internal addresses that are legal on this network. This range is a CIDR
-    * specification, for example: {@code 192.168.0.0/16}.
-    */
-   public abstract String rangeIPv4();
-
-   /**
-    * This must be within the range specified by IPv4Range, and is typically the first usable address in that range.
-    * If not specified, the default value is the first usable address in IPv4Range.
-    */
-   @Nullable public abstract String gatewayIPv4();
-
-   @SerializedNames({ "id", "creationTimestamp", "selfLink", "name", "description", "IPv4Range", "gatewayIPv4" })
-   public static Network create(String id, Date creationTimestamp, URI selfLink, String name, String description, String rangeIPv4,
-         String gatewayIPv4) {
-      return new AutoValue_Network(id, creationTimestamp, selfLink, name, description, rangeIPv4, gatewayIPv4);
-   }
-
-   Network() {
-   }
-}