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() {
- }
-}