You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2014/11/05 02:14:23 UTC
git commit: Make instance api prettier.
Repository: jclouds-labs-google
Updated Branches:
refs/heads/master 7427ba238 -> 3a2ae5e97
Make instance api prettier.
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/commit/3a2ae5e9
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/tree/3a2ae5e9
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/diff/3a2ae5e9
Branch: refs/heads/master
Commit: 3a2ae5e972a735614de0922b2ecd3791eea07899
Parents: 7427ba2
Author: Adrian Cole <ac...@twitter.com>
Authored: Tue Nov 4 15:09:00 2014 -0800
Committer: Adrian Cole <ac...@twitter.com>
Committed: Tue Nov 4 17:14:09 2014 -0800
----------------------------------------------------------------------
.../GoogleComputeEngineApi.java | 5 +-
.../GoogleComputeEngineServiceAdapter.java | 97 +++++------
.../compute/domain/InstanceInZone.java | 37 ++--
.../compute/domain/MachineTypeInZone.java | 35 +---
.../compute/domain/SlashEncodedIds.java | 62 ++-----
...ogleComputeEngineSecurityGroupExtension.java | 26 ++-
.../functions/InstanceInZoneToNodeMetadata.java | 28 ++-
.../functions/MachineTypeInZoneToHardware.java | 2 +-
.../GoogleComputeEngineHttpApiModule.java | 6 +-
.../features/InstanceApi.java | 170 +++++++------------
.../functions/internal/ParseInstances.java | 5 +-
.../options/ListOptions.java | 19 +--
.../InstanceInZoneToNodeMetadataTest.java | 4 +-
.../features/InstanceApiExpectTest.java | 78 +++++----
.../features/InstanceApiLiveTest.java | 42 +++--
.../features/TargetPoolApiLiveTest.java | 10 +-
16 files changed, 230 insertions(+), 396 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/GoogleComputeEngineApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/GoogleComputeEngineApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/GoogleComputeEngineApi.java
index 56b7c04..19e178b 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/GoogleComputeEngineApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/GoogleComputeEngineApi.java
@@ -131,10 +131,11 @@ public interface GoogleComputeEngineApi extends Closeable {
* Provides access to Instance features
*
* @param projectName the name of the project
+ * @param zone zone the instances are in.
*/
@Delegate
- @Path("/projects/{project}")
- InstanceApi getInstanceApi(@PathParam("project") String projectName);
+ @Path("/projects/{project}/zones/{zone}")
+ InstanceApi getInstanceApi(@PathParam("project") String projectName, @PathParam("zone") String zone);
/**
* Provides access to MachineType features
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceAdapter.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceAdapter.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceAdapter.java
index 3a80bea..bedace7 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceAdapter.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceAdapter.java
@@ -139,9 +139,9 @@ public final class GoogleComputeEngineServiceAdapter implements ComputeServiceAd
disks.add(new PersistentDisk(Mode.READ_WRITE,
bootDisk.selfLink(),
- null,
- true,
- true));
+ null, // deviceName
+ true, // autoDelete
+ true)); // boot
}
disks.addAll(options.getDisks());
@@ -169,9 +169,9 @@ public final class GoogleComputeEngineServiceAdapter implements ComputeServiceAd
instanceTemplate.metadata(metadataBuilder.build());
instanceTemplate.serviceAccounts(options.getServiceAccounts());
- final InstanceApi instanceApi = api.getInstanceApi(userProject.get());
- final String zone = template.getLocation().getId();
- Operation operation = instanceApi.createInZone(name, zone, instanceTemplate);
+ String zone = template.getLocation().getId();
+ final InstanceApi instanceApi = api.getInstanceApi(userProject.get(), zone);
+ Operation operation = instanceApi.create(name, instanceTemplate);
if (options.shouldBlockUntilRunning()) {
waitOperationDone(operation);
@@ -181,23 +181,20 @@ public final class GoogleComputeEngineServiceAdapter implements ComputeServiceAd
AtomicReference<Instance> instance = Atomics.newReference();
retry(new Predicate<AtomicReference<Instance>>() {
- @Override
- public boolean apply(AtomicReference<Instance> input) {
- input.set(instanceApi.getInZone(zone, name));
+ @Override public boolean apply(AtomicReference<Instance> input) {
+ input.set(instanceApi.get(name));
return input.get() != null;
}
}, operationCompleteCheckTimeout, operationCompleteCheckInterval, MILLISECONDS).apply(instance);
if (!options.getTags().isEmpty()) {
- Operation tagsOperation = instanceApi
- .setTagsInZone(zone, name, options.getTags(), instance.get().tags().fingerprint());
+ Operation tagsOperation = instanceApi.setTags(name, options.getTags(), instance.get().tags().fingerprint());
waitOperationDone(tagsOperation);
retry(new Predicate<AtomicReference<Instance>>() {
- @Override
- public boolean apply(AtomicReference<Instance> input) {
- input.set(instanceApi.getInZone(zone, name));
+ @Override public boolean apply(AtomicReference<Instance> input) {
+ input.set(instanceApi.get(name));
return input.get() != null;
}
}, operationCompleteCheckTimeout, operationCompleteCheckInterval, MILLISECONDS).apply(instance);
@@ -206,18 +203,14 @@ public final class GoogleComputeEngineServiceAdapter implements ComputeServiceAd
// Add tags for security groups
final FirewallTagNamingConvention naming = firewallTagNamingConvention.get(group);
Set<String> tags = FluentIterable.from(Ints.asList(options.getInboundPorts()))
- .transform(new Function<Integer, String>(){
- @Override
- public String apply(Integer input) {
- return input != null
- ? naming.name(input)
- : null;
- }
- })
- .toSet();
- instanceApi.setTagsInZone(zone, instance.get().name(), tags, instance.get().tags().fingerprint());
-
- InstanceInZone instanceInZone = new InstanceInZone(instance.get(), zone);
+ .transform(new Function<Integer, String>() {
+ @Override public String apply(Integer input) {
+ return input != null ? naming.name(input) : null;
+ }
+ }).toSet();
+ instanceApi.setTags(instance.get().name(), tags, instance.get().tags().fingerprint());
+
+ InstanceInZone instanceInZone = InstanceInZone.create(instance.get(), zone);
return new NodeAndInitialCredentials<InstanceInZone>(instanceInZone, instanceInZone.slashEncode(), credentials);
}
@@ -240,8 +233,7 @@ public final class GoogleComputeEngineServiceAdapter implements ComputeServiceAd
waitOperationDone(diskOperation);
- return api.getDiskApi(userProject.get()).getInZone(template.getLocation().getId(),
- diskName);
+ return api.getDiskApi(userProject.get()).getInZone(template.getLocation().getId(), diskName);
}
@Override
@@ -252,15 +244,12 @@ public final class GoogleComputeEngineServiceAdapter implements ComputeServiceAd
for (Iterator<ListPage<MachineType>> i = api.getMachineTypeApi(userProject.get()).listInZone(zone.getId());
i.hasNext(); ) {
builder.addAll(FluentIterable.from(i.next()).filter(new Predicate<MachineType>() {
- @Override
- public boolean apply(MachineType input) {
+ @Override public boolean apply(MachineType input) {
return input.deprecated() == null;
}
}).transform(new Function<MachineType, MachineTypeInZone>() {
-
- @Override
- public MachineTypeInZone apply(MachineType arg0) {
- return new MachineTypeInZone(arg0, arg0.zone());
+ @Override public MachineTypeInZone apply(MachineType arg0) {
+ return MachineTypeInZone.create(arg0, arg0.zone());
}
}));
}
@@ -294,24 +283,20 @@ public final class GoogleComputeEngineServiceAdapter implements ComputeServiceAd
@Override
public InstanceInZone getNode(String name) {
- SlashEncodedIds slashEncodedIds = SlashEncodedIds.fromSlashEncoded(name);
-
- Instance instance = api.getInstanceApi(userProject.get()).getInZone(slashEncodedIds.getFirstId(),
- slashEncodedIds.getSecondId());
-
- return instance == null ? null : new InstanceInZone(instance, slashEncodedIds.getFirstId());
+ SlashEncodedIds zoneAndId = SlashEncodedIds.fromSlashEncoded(name);
+ Instance instance = api.getInstanceApi(userProject.get(), zoneAndId.left()).get(zoneAndId.right());
+ return instance == null ? null : InstanceInZone.create(instance, zoneAndId.left());
}
@Override
public Iterable<InstanceInZone> listNodes() {
return FluentIterable.from(zones.get().values())
.transformAndConcat(new Function<Location, Iterable<InstanceInZone>>() {
- @Override
- public Iterable<InstanceInZone> apply(final Location input) {
- return transform(concat(api.getInstanceApi(userProject.get()).listInZone(input.getId())),
+ @Override public Iterable<InstanceInZone> apply(final Location input) {
+ return transform(concat(api.getInstanceApi(userProject.get(), input.getId()).list()),
new Function<Instance, InstanceInZone>() {
@Override public InstanceInZone apply(Instance arg0) {
- return new InstanceInZone(arg0, input.getId());
+ return InstanceInZone.create(arg0, input.getId());
}
});
}
@@ -319,22 +304,19 @@ public final class GoogleComputeEngineServiceAdapter implements ComputeServiceAd
}
@Override
- public Iterable<InstanceInZone> listNodesByIds(final Iterable<String> ids) {
+ public Iterable<InstanceInZone> listNodesByIds(final Iterable<String> zoneAndId) {
return filter(listNodes(), new Predicate<InstanceInZone>() {
-
- @Override
- public boolean apply(InstanceInZone instanceInZone) {
- return contains(ids, instanceInZone.getInstance().name());
+ @Override public boolean apply(InstanceInZone instanceInZone) {
+ return contains(zoneAndId, instanceInZone.instance().name());
}
});
}
@Override
public void destroyNode(final String name) {
- SlashEncodedIds slashEncodedIds = SlashEncodedIds.fromSlashEncoded(name);
+ SlashEncodedIds zoneAndId = SlashEncodedIds.fromSlashEncoded(name);
String diskName = null;
- Instance instance = api.getInstanceApi(userProject.get()).getInZone(slashEncodedIds.getFirstId(),
- slashEncodedIds.getSecondId());
+ Instance instance = api.getInstanceApi(userProject.get(), zoneAndId.left()).get(zoneAndId.right());
if (instance != null &&
"true".equals(instance.metadata().items().get(GCE_DELETE_BOOT_DISK_METADATA_KEY))) {
for (AttachedDisk input : instance.disks()) {
@@ -344,20 +326,17 @@ public final class GoogleComputeEngineServiceAdapter implements ComputeServiceAd
}
}
}
- waitOperationDone(api.getInstanceApi(userProject.get()).deleteInZone(slashEncodedIds.getFirstId(),
- slashEncodedIds.getSecondId()));
+ waitOperationDone(api.getInstanceApi(userProject.get(), zoneAndId.left()).delete(zoneAndId.right()));
if (diskName != null) {
- waitOperationDone(api.getDiskApi(userProject.get()).deleteInZone(slashEncodedIds.getFirstId(), diskName));
+ waitOperationDone(api.getDiskApi(userProject.get()).deleteInZone(zoneAndId.left(), diskName));
}
}
@Override
public void rebootNode(final String name) {
- SlashEncodedIds slashEncodedIds = SlashEncodedIds.fromSlashEncoded(name);
-
- waitOperationDone(api.getInstanceApi(userProject.get()).resetInZone(slashEncodedIds.getFirstId(),
- slashEncodedIds.getSecondId()));
+ SlashEncodedIds zoneAndId = SlashEncodedIds.fromSlashEncoded(name);
+ waitOperationDone(api.getInstanceApi(userProject.get(), zoneAndId.left()).reset(zoneAndId.right()));
}
@Override
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/InstanceInZone.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/InstanceInZone.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/InstanceInZone.java
index b9cdb8f..b748cad 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/InstanceInZone.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/InstanceInZone.java
@@ -16,39 +16,24 @@
*/
package org.jclouds.googlecomputeengine.compute.domain;
-import static com.google.common.base.Objects.equal;
-import static com.google.common.base.Preconditions.checkNotNull;
-
import org.jclouds.googlecomputeengine.domain.Instance;
-public class InstanceInZone extends SlashEncodedIds {
- protected final Instance instance;
+import com.google.auto.value.AutoValue;
- public InstanceInZone(Instance instance, String zoneId) {
- super(zoneId, checkNotNull(instance, "instance").name());
- this.instance = instance;
- }
+@AutoValue
+public abstract class InstanceInZone {
+ public abstract Instance instance();
- public Instance getInstance() {
- return instance;
- }
+ public abstract String zoneId();
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null || getClass() != obj.getClass()) return false;
- InstanceInZone that = InstanceInZone.class.cast(obj);
- return equal(this.instance, that.instance)
- && equal(this.firstId, that.firstId)
- && equal(this.secondId, that.secondId);
+ public static InstanceInZone create(Instance instance, String zoneId) {
+ return new AutoValue_InstanceInZone(instance, zoneId);
}
- @Override
- public String toString() {
- return "[instance=" + instance + ", zoneId=" + firstId + "]";
+ InstanceInZone(){
}
+ public String slashEncode() {
+ return zoneId() + "/" + instance().name();
+ }
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/MachineTypeInZone.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/MachineTypeInZone.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/MachineTypeInZone.java
index 25d491a..ac82f94 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/MachineTypeInZone.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/MachineTypeInZone.java
@@ -16,39 +16,20 @@
*/
package org.jclouds.googlecomputeengine.compute.domain;
-import static com.google.common.base.Objects.equal;
-import static com.google.common.base.Preconditions.checkNotNull;
-
import org.jclouds.googlecomputeengine.domain.MachineType;
-public class MachineTypeInZone extends SlashEncodedIds {
- protected final MachineType machineType;
+import com.google.auto.value.AutoValue;
- public MachineTypeInZone(MachineType machineType, String zoneId) {
- super(zoneId, checkNotNull(machineType, "machineType").name());
- this.machineType = machineType;
- }
+@AutoValue
+public abstract class MachineTypeInZone {
+ public abstract MachineType machineType();
- public MachineType machineType() {
- return machineType;
- }
+ public abstract String zoneId();
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null || getClass() != obj.getClass()) return false;
- MachineTypeInZone that = MachineTypeInZone.class.cast(obj);
- return equal(this.machineType, that.machineType)
- && equal(this.firstId, that.firstId)
- && equal(this.secondId, that.secondId);
+ public static MachineTypeInZone create(MachineType machineType, String zoneId) {
+ return new AutoValue_MachineTypeInZone(machineType, zoneId);
}
- @Override
- public String toString() {
- return "[machineType=" + machineType + ", zoneId=" + firstId + "]";
+ MachineTypeInZone(){
}
-
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/SlashEncodedIds.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/SlashEncodedIds.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/SlashEncodedIds.java
index ceb5fa4..aa7fb7f 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/SlashEncodedIds.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/domain/SlashEncodedIds.java
@@ -19,65 +19,31 @@ package org.jclouds.googlecomputeengine.compute.domain;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
-import com.google.common.base.Objects;
+import com.google.auto.value.AutoValue;
import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;
-public class SlashEncodedIds {
- public static SlashEncodedIds fromSlashEncoded(String id) {
- Iterable<String> parts = Splitter.on('/').split(checkNotNull(id, "id"));
- checkArgument(Iterables.size(parts) == 2, "id must be in format firstId/secondId");
- return new SlashEncodedIds(Iterables.get(parts, 0), Iterables.get(parts, 1));
- }
-
- public static SlashEncodedIds fromTwoIds(String firstId, String secondId) {
- return new SlashEncodedIds(firstId, secondId);
- }
+@AutoValue
+public abstract class SlashEncodedIds {
- private static String slashEncodeTwoIds(String firstId, String secondId) {
- return checkNotNull(firstId, "firstId") + "/" + checkNotNull(secondId, "secondId");
- }
-
- public String slashEncode() {
- return slashEncodeTwoIds(firstId, secondId);
- }
+ public abstract String left();
- protected final String firstId;
- protected final String secondId;
+ public abstract String right();
- protected SlashEncodedIds(String firstId, String secondId) {
- this.firstId = checkNotNull(firstId, "firstId");
- this.secondId = checkNotNull(secondId, "secondId");
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(firstId, secondId);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- SlashEncodedIds other = (SlashEncodedIds) obj;
- return Objects.equal(firstId, other.firstId) && Objects.equal(secondId, other.secondId);
+ public static SlashEncodedIds fromSlashEncoded(String id) {
+ Iterable<String> parts = Splitter.on('/').split(checkNotNull(id, "id"));
+ checkArgument(Iterables.size(parts) == 2, "id must be in format left/right");
+ return from(Iterables.get(parts, 0), Iterables.get(parts, 1));
}
- public String getFirstId() {
- return firstId;
+ SlashEncodedIds() {
}
- public String getSecondId() {
- return secondId;
+ public static SlashEncodedIds from(String left, String right) {
+ return new AutoValue_SlashEncodedIds(left, right);
}
- @Override
- public String toString() {
- return "[firstId=" + firstId + ", secondId=" + secondId + "]";
+ public String slashEncode() {
+ return left() + "/" + right();
}
-
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/extensions/GoogleComputeEngineSecurityGroupExtension.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/extensions/GoogleComputeEngineSecurityGroupExtension.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/extensions/GoogleComputeEngineSecurityGroupExtension.java
index 98abf0e..d40db68 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/extensions/GoogleComputeEngineSecurityGroupExtension.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/extensions/GoogleComputeEngineSecurityGroupExtension.java
@@ -73,17 +73,16 @@ import com.google.common.util.concurrent.Atomics;
*/
public class GoogleComputeEngineSecurityGroupExtension implements SecurityGroupExtension {
- protected final Supplier<String> userProject;
- protected final GroupNamingConvention.Factory namingConvention;
- protected final LoadingCache<NetworkAndAddressRange, Network> networkCreator;
- protected final Function<Network, SecurityGroup> groupConverter;
- protected final GoogleComputeEngineApi api;
- protected final Predicate<AtomicReference<Operation>> operationDonePredicate;
- protected final long operationCompleteCheckInterval;
- protected final long operationCompleteCheckTimeout;
-
- @Inject
- public GoogleComputeEngineSecurityGroupExtension(GoogleComputeEngineApi api,
+ private final Supplier<String> userProject;
+ private final GroupNamingConvention.Factory namingConvention;
+ private final LoadingCache<NetworkAndAddressRange, Network> networkCreator;
+ private final Function<Network, SecurityGroup> groupConverter;
+ private final GoogleComputeEngineApi api;
+ private final Predicate<AtomicReference<Operation>> operationDonePredicate;
+ private final long operationCompleteCheckInterval;
+ private final long operationCompleteCheckTimeout;
+
+ @Inject GoogleComputeEngineSecurityGroupExtension(GoogleComputeEngineApi api,
@UserProject Supplier<String> userProject, GroupNamingConvention.Factory namingConvention,
LoadingCache<NetworkAndAddressRange, Network> networkCreator, Function<Network, SecurityGroup> groupConverter,
@Named("global") Predicate<AtomicReference<Operation>> operationDonePredicate,
@@ -113,10 +112,9 @@ public class GoogleComputeEngineSecurityGroupExtension implements SecurityGroupE
@Override
public Set<SecurityGroup> listSecurityGroupsForNode(String id) {
- SlashEncodedIds slashEncodedIds = SlashEncodedIds.fromSlashEncoded(id);
+ SlashEncodedIds zoneAndId = SlashEncodedIds.fromSlashEncoded(id);
- Instance instance = api.getInstanceApi(userProject.get())
- .getInZone(slashEncodedIds.getFirstId(), slashEncodedIds.getSecondId());
+ Instance instance = api.getInstanceApi(userProject.get(), zoneAndId.left()).get(zoneAndId.right());
if (instance == null) {
return ImmutableSet.of();
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadata.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadata.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadata.java
index 11897a0..977c9ab 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadata.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadata.java
@@ -43,9 +43,6 @@ import com.google.common.base.Supplier;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList;
-/**
- * Transforms a google compute domain Instance into a generic NodeMetatada object.
- */
public final class InstanceInZoneToNodeMetadata implements Function<InstanceInZone, NodeMetadata> {
private final Map<Instance.Status, NodeMetadata.Status> toPortableNodeStatus;
@@ -56,11 +53,11 @@ public final class InstanceInZoneToNodeMetadata implements Function<InstanceInZo
private final FirewallTagNamingConvention.Factory firewallTagNamingConvention;
@Inject InstanceInZoneToNodeMetadata(Map<Instance.Status, NodeMetadata.Status> toPortableNodeStatus,
- GroupNamingConvention.Factory namingConvention,
- @Memoized Supplier<Map<URI, ? extends Image>> images,
- @Memoized Supplier<Map<URI, ? extends Hardware>> hardwares,
- @Memoized Supplier<Map<URI, ? extends Location>> locations,
- FirewallTagNamingConvention.Factory firewallTagNamingConvention) {
+ GroupNamingConvention.Factory namingConvention,
+ @Memoized Supplier<Map<URI, ? extends Image>> images,
+ @Memoized Supplier<Map<URI, ? extends Hardware>> hardwares,
+ @Memoized Supplier<Map<URI, ? extends Location>> locations,
+ FirewallTagNamingConvention.Factory firewallTagNamingConvention) {
this.toPortableNodeStatus = toPortableNodeStatus;
this.nodeNamingConvention = namingConvention.createWithoutPrefix();
this.images = images;
@@ -70,10 +67,9 @@ public final class InstanceInZoneToNodeMetadata implements Function<InstanceInZo
}
@Override public NodeMetadata apply(InstanceInZone instanceInZone) {
- Instance input = instanceInZone.getInstance();
+ Instance input = instanceInZone.instance();
- String group = groupFromMapOrName(input.metadata().items(),
- input.name(), nodeNamingConvention);
+ String group = groupFromMapOrName(input.metadata().items(), input.name(), nodeNamingConvention);
FluentIterable<String> tags = FluentIterable.from(input.tags().items());
if (group != null) {
tags = tags.filter(Predicates.not(firewallTagNamingConvention.get(group).isFirewallTag()));
@@ -81,13 +77,12 @@ public final class InstanceInZoneToNodeMetadata implements Function<InstanceInZo
NodeMetadataBuilder builder = new NodeMetadataBuilder();
- builder.id(SlashEncodedIds.fromTwoIds(checkNotNull(locations.get().get(input.zone()),
- "location for %s", input.zone())
- .getId(), input.name()).slashEncode())
+ Location location = checkNotNull(locations.get().get(input.zone()), "location for %s", input.zone());
+ builder.id(SlashEncodedIds.from(location.getId(), input.name()).slashEncode())
.name(input.name())
.providerId(input.id())
.hostname(input.name())
- .location(checkNotNull(locations.get().get(input.zone()), "location for %s", input.zone()))
+ .location(location)
.hardware(hardwares.get().get(input.machineType()))
.status(toPortableNodeStatus.get(input.status()))
.tags(tags)
@@ -99,8 +94,7 @@ public final class InstanceInZoneToNodeMetadata implements Function<InstanceInZo
if (input.metadata().items().containsKey(GCE_IMAGE_METADATA_KEY)) {
try {
- URI imageUri = URI.create(input.metadata().items()
- .get(GCE_IMAGE_METADATA_KEY));
+ URI imageUri = URI.create(input.metadata().items().get(GCE_IMAGE_METADATA_KEY));
Map<URI, ? extends Image> imagesMap = images.get();
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/MachineTypeInZoneToHardware.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/MachineTypeInZoneToHardware.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/MachineTypeInZoneToHardware.java
index b17fb23..4ed2a11 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/MachineTypeInZoneToHardware.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/MachineTypeInZoneToHardware.java
@@ -68,7 +68,7 @@ public class MachineTypeInZoneToHardware implements Function<MachineTypeInZone,
input.machineType().zone());
return new HardwareBuilder()
- .id(SlashEncodedIds.fromTwoIds(input.machineType().zone(), input.machineType().name()).slashEncode())
+ .id(SlashEncodedIds.from(input.machineType().zone(), input.machineType().name()).slashEncode())
.location(location)
.name(input.machineType().name())
.hypervisor("kvm")
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/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
index d63f175..51e64c0 100644
--- 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
@@ -125,10 +125,10 @@ public class GoogleComputeEngineHttpApiModule extends HttpApiModule<GoogleComput
return new Function<String, URI>() {
@Override
public URI apply(String input) {
- SlashEncodedIds slashEncodedIds = SlashEncodedIds.fromSlashEncoded(input);
+ SlashEncodedIds zoneAndMachineType = SlashEncodedIds.fromSlashEncoded(input);
return Uris.uriBuilder(endpoint.get()).appendPath("/projects/").appendPath(userProject.get())
- .appendPath("/zones/").appendPath(slashEncodedIds.getFirstId())
- .appendPath("/machineTypes/").appendPath(slashEncodedIds.getSecondId()).build();
+ .appendPath("/zones/").appendPath(zoneAndMachineType.left())
+ .appendPath("/machineTypes/").appendPath(zoneAndMachineType.right()).build();
}
};
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java
index 35f12d9..09dc36d 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java
@@ -16,8 +16,11 @@
*/
package org.jclouds.googlecomputeengine.features;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE;
+import static org.jclouds.googlecomputeengine.domain.Instance.NetworkInterface.AccessConfig;
+import static org.jclouds.googlecomputeengine.domain.Instance.SerialPortOutput;
import java.util.Iterator;
import java.util.Map;
@@ -31,7 +34,6 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
import org.jclouds.Fallbacks.NullOnNotFoundOr404;
import org.jclouds.googlecomputeengine.GoogleComputeEngineFallbacks.EmptyIteratorOnNotFoundOr404;
@@ -64,69 +66,50 @@ import org.jclouds.rest.binders.BindToJsonPayload;
*/
@SkipEncoding({'/', '='})
@RequestFilters(OAuthAuthenticationFilter.class)
+@Path("/instances")
+@Consumes(APPLICATION_JSON)
public interface InstanceApi {
- /**
- * Returns the specified instance resource.
- *
- * @param zone zone the instance is in.
- * @param instanceName name of the instance resource to return.
- * @return an Instance resource
- */
+ /** Returns an instance by name or null if not found. */
@Named("Instances:get")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances/{instance}")
+ @Path("/{instance}")
@OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
- Instance getInZone(@PathParam("zone") String zone, @PathParam("instance") String instanceName);
+ Instance get(@PathParam("instance") String instance);
/**
* Creates a instance resource in the specified project using the data included in the request.
*
*
- * @param instanceName this name of the instance to be created
- * @param zone the name of the zone where the instance will be created
+ * @param instance this name of the instance to be created
* @param template the instance template
* @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to
* you, and look for the status field.
*/
@Named("Instances:insert")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances")
+ @Produces(APPLICATION_JSON)
@OAuthScopes({COMPUTE_SCOPE})
@MapBinder(InstanceBinder.class)
- Operation createInZone(@PayloadParam("name") String instanceName, @PathParam("zone") String zone,
- @PayloadParam("template") InstanceTemplate template);
-
+ Operation create(@PayloadParam("name") String instance, @PayloadParam("template") InstanceTemplate template);
- /**
- * Deletes the specified instance resource.
- *
- * @param zone the instance is in.
- * @param instanceName name of the instance resource to delete.
- * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to
- * you, and look for the status field. If the instance did not exist the result is null.
- */
+ /** Deletes an instance by name and returns the operation in progress, or null if not found. */
@Named("Instances:delete")
@DELETE
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances/{instance}")
+ @Path("/{instance}")
@OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
- Operation deleteInZone(@PathParam("zone") String zone, @PathParam("instance") String instanceName);
+ Operation delete(@PathParam("instance") String instance);
/**
* Retrieves the list of instance resources available to the specified project.
* By default the list as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() has not
* been set.
*
- * @param zone zone instances are in
- * @param marker marks the beginning of the next list page
+ * @param token marks the beginning of the next list page
* @param listOptions listing options
* @return a page of the list
* @see ListOptions
@@ -134,45 +117,37 @@ public interface InstanceApi {
*/
@Named("Instances:list")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances")
@OAuthScopes(COMPUTE_READONLY_SCOPE)
@ResponseParser(ParseInstances.class)
@Fallback(EmptyListPageOnNotFoundOr404.class)
- ListPage<Instance> listAtMarkerInZone(@PathParam("zone") String zone, @Nullable String marker,
- ListOptions listOptions);
+ ListPage<Instance> listPage(@Nullable String token, ListOptions listOptions);
/**
- * @see InstanceApi#listInZone(String, org.jclouds.googlecomputeengine.options.ListOptions)
+ * @see InstanceApi#list(org.jclouds.googlecomputeengine.options.ListOptions)
*/
@Named("Instances:list")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances")
@OAuthScopes(COMPUTE_READONLY_SCOPE)
@ResponseParser(ParseInstances.class)
@Transform(ParseInstances.ToIteratorOfListPage.class)
@Fallback(EmptyIteratorOnNotFoundOr404.class)
- Iterator<ListPage<Instance>> listInZone(@PathParam("zone") String zone);
+ Iterator<ListPage<Instance>> list();
/**
- * @see InstanceApi#listInZone(String, org.jclouds.googlecomputeengine.options.ListOptions)
+ * @see InstanceApi#list(org.jclouds.googlecomputeengine.options.ListOptions)
*/
@Named("Instances:list")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances")
@OAuthScopes(COMPUTE_READONLY_SCOPE)
@ResponseParser(ParseInstances.class)
@Transform(ParseInstances.ToIteratorOfListPage.class)
@Fallback(EmptyIteratorOnNotFoundOr404.class)
- Iterator<ListPage<Instance>> listInZone(@PathParam("zone") String zone, ListOptions options);
+ Iterator<ListPage<Instance>> list(ListOptions options);
/**
* Adds an access config to an instance's network interface.
*
- * @param zone zone instance is in
- * @param instanceName the instance name.
+ * @param instance the instance name.
* @param accessConfig the AccessConfig to add.
* @param networkInterfaceName network interface name.
* @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to
@@ -180,21 +155,18 @@ public interface InstanceApi {
*/
@Named("Instances:addAccessConfig")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances/{instance}/addAccessConfig")
+ @Produces(APPLICATION_JSON)
+ @Path("/{instance}/addAccessConfig")
@OAuthScopes({COMPUTE_SCOPE})
- Operation addAccessConfigToNicInZone(@PathParam("zone") String zone,
- @PathParam("instance") String instanceName,
- @BinderParam(BindToJsonPayload.class)
- Instance.NetworkInterface.AccessConfig accessConfig,
- @QueryParam("network_interface") String networkInterfaceName);
+ Operation addAccessConfigToNic(@PathParam("instance") String instance,
+ @BinderParam(BindToJsonPayload.class)
+ AccessConfig accessConfig,
+ @QueryParam("network_interface") String networkInterfaceName);
/**
* Deletes an access config from an instance's network interface.
*
- * @param zone zone instance is in
- * @param instanceName the instance name.
+ * @param instance the instance name.
* @param accessConfigName the name of the access config to delete
* @param networkInterfaceName network interface name.
* @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to
@@ -202,50 +174,41 @@ public interface InstanceApi {
*/
@Named("Instances:deleteAccessConfig")
@DELETE
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances/{instance}/deleteAccessConfig")
+ @Path("/{instance}/deleteAccessConfig")
@OAuthScopes(COMPUTE_SCOPE)
- Operation deleteAccessConfigFromNicInZone(@PathParam("zone") String zone,
- @PathParam("instance") String instanceName,
- @QueryParam("access_config") String accessConfigName,
- @QueryParam("network_interface") String networkInterfaceName);
+ Operation deleteAccessConfigFromNic(@PathParam("instance") String instance,
+ @QueryParam("access_config") String accessConfigName,
+ @QueryParam("network_interface") String networkInterfaceName);
/**
* Returns the specified instance's serial port output.
*
- * @param zone zone instance is in
- * @param instanceName the instance name.
+ * @param instance the instance name.
* @return if successful, this method returns a SerialPortOutput containing the instance's serial output.
*/
@Named("Instances:serialPort")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances/{instance}/serialPort")
+ @Path("/{instance}/serialPort")
@OAuthScopes(COMPUTE_READONLY_SCOPE)
- Instance.SerialPortOutput getSerialPortOutputInZone(@PathParam("zone") String zone,
- @PathParam("instance") String instanceName);
+ SerialPortOutput getSerialPortOutput(@PathParam("instance") String instance);
/**
* Hard-resets the instance.
*
- * @param zone the zone the instance is in
- * @param instanceName the instance name
+ * @param instance the instance name
* @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to
* you, and look for the status field.
*/
@Named("Instances:reset")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances/{instance}/reset")
+ @Path("/{instance}/reset")
@OAuthScopes(COMPUTE_SCOPE)
- Operation resetInZone(@PathParam("zone") String zone,
- @PathParam("instance") String instanceName);
+ Operation reset(@PathParam("instance") String instance);
/**
* Attaches a disk to an instance
*
- * @param zone The zone the instance is in.
- * @param instanceName The instance name to attach to
+ * @param instance The instance name to attach to
* @param attachDiskOptions The options for attaching the disk.
*
* @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to
@@ -253,19 +216,16 @@ public interface InstanceApi {
*/
@Named("Instances:attachDisk")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances/{instance}/attachDisk")
+ @Produces(APPLICATION_JSON)
+ @Path("/{instance}/attachDisk")
@OAuthScopes(COMPUTE_SCOPE)
- Operation attachDiskInZone(@PathParam("zone") String zone,
- @PathParam("instance") String instanceName,
- @BinderParam(BindToJsonPayload.class) AttachDiskOptions attachDiskOptions);
+ Operation attachDisk(@PathParam("instance") String instance,
+ @BinderParam(BindToJsonPayload.class) AttachDiskOptions attachDiskOptions);
/**
* Detaches an attached disk from an instance
*
- * @param zone The zone the instance is in.
- * @param instanceName The instance name to attach to
+ * @param instance The instance name to attach to
* @param deviceName The device name of the disk to detach.
*
* @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to
@@ -273,12 +233,9 @@ public interface InstanceApi {
*/
@Named("Instances:detachDisk")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/instances/{instance}/detachDisk")
+ @Path("/{instance}/detachDisk")
@OAuthScopes(COMPUTE_SCOPE)
- Operation detachDiskInZone(@PathParam("zone") String zone,
- @PathParam("instance") String instanceName,
- @QueryParam("deviceName") String deviceName);
+ Operation detachDisk(@PathParam("instance") String instance, @QueryParam("deviceName") String deviceName);
/**
* Sets metadata for an instance using the data included in the request.
@@ -287,13 +244,12 @@ public interface InstanceApi {
* if there are pre-existing metadata items that must be kept these must be fetched first and then re-set on the
* new Metadata, e.g.
* <pre><tt>
- * Metadata.Builder current = instanceApi.getInZone("us-central1-a", "myInstance").getMetadata().toBuilder();
+ * Metadata.Builder current = instanceApi.get("us-central1-a", "myInstance").getMetadata().toBuilder();
* current.addItem("newItem","newItemValue");
- * instanceApi.setMetadataInZone("us-central1-a", "myInstance", current.build());
+ * instanceApi.setMetadata("us-central1-a", "myInstance", current.build());
* </tt></pre>
*
- * @param zone The zone the instance is in
- * @param instanceName The name of the instance
+ * @param instance The name of the instance
* @param metadata the metadata to set
* @param fingerprint The current fingerprint for the items
*
@@ -302,21 +258,18 @@ public interface InstanceApi {
*/
@Named("Instances:setMetadata")
@POST
- @Path("/zones/{zone}/instances/{instance}/setMetadata")
+ @Path("/{instance}/setMetadata")
@OAuthScopes(COMPUTE_SCOPE)
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@MapBinder(MetadataBinder.class)
- Operation setMetadataInZone(@PathParam("zone") String zone,
- @PathParam("instance") String instanceName,
- @PayloadParam("items") Map<String, String> metadata,
- @PayloadParam("fingerprint") String fingerprint);
+ Operation setMetadata(@PathParam("instance") String instance,
+ @PayloadParam("items") Map<String, String> metadata,
+ @PayloadParam("fingerprint") String fingerprint);
/**
* Lists items for an instance
*
- * @param zone The zone the instance is in
- * @param instanceName the name of the instance
+ * @param instance the name of the instance
* @param items A set of items
* @param fingerprint The current fingerprint for the items
* @return an Operations resource. To check on the status of an operation, poll the Operations resource returned
@@ -324,15 +277,12 @@ public interface InstanceApi {
*/
@Named("Instances:setTags")
@POST
- @Path("/zones/{zone}/instances/{instance}/setTags")
+ @Path("/{instance}/setTags")
@OAuthScopes(COMPUTE_SCOPE)
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@MapBinder(BindToJsonPayload.class)
- Operation setTagsInZone(@PathParam("zone") String zone,
- @PathParam("instance") String instanceName,
- @PayloadParam("items") Iterable<String> items,
- @PayloadParam("fingerprint") String fingerprint);
-
+ Operation setTags(@PathParam("instance") String instance,
+ @PayloadParam("items") Iterable<String> items,
+ @PayloadParam("fingerprint") String fingerprint);
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/functions/internal/ParseInstances.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/functions/internal/ParseInstances.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/functions/internal/ParseInstances.java
index dbf6ff6..e581ec4 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/functions/internal/ParseInstances.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/functions/internal/ParseInstances.java
@@ -44,12 +44,11 @@ public final class ParseInstances extends ParseJson<ListPage<Instance>> {
this.api = api;
}
- @Override
- protected Function<String, ListPage<Instance>> fetchNextPage(final String project, final String zone,
+ @Override protected Function<String, ListPage<Instance>> fetchNextPage(final String project, final String zone,
final ListOptions options) {
return new Function<String, ListPage<Instance>>() {
@Override public ListPage<Instance> apply(String input) {
- return api.getInstanceApi(project).listAtMarkerInZone(zone, input, options);
+ return api.getInstanceApi(project, zone).listPage(input, options);
}
};
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/options/ListOptions.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/options/ListOptions.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/options/ListOptions.java
index 08b4367..3944486 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/options/ListOptions.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/options/ListOptions.java
@@ -70,35 +70,20 @@ public class ListOptions extends BaseHttpRequestOptions {
return this;
}
- /**
- * Marks the beginning of the next list page
- */
- public ListOptions marker(String marker) {
- this.queryParameters.put("pageToken", checkNotNull(marker, "marker"));
- return this;
- }
-
public static class Builder {
/**
* @see ListOptions#filter(String)
*/
- public ListOptions filter(String filter) {
+ public static ListOptions filter(String filter) {
return new ListOptions().filter(filter);
}
/**
* @see ListOptions#maxResults(Integer)
*/
- public ListOptions maxResults(Integer maxResults) {
+ public static ListOptions maxResults(Integer maxResults) {
return new ListOptions().maxResults(maxResults);
}
-
- /**
- * @see ListOptions#marker(String)
- */
- public ListOptions marker(String marker) {
- return new ListOptions().marker(marker);
- }
}
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadataTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadataTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadataTest.java
index a0229ed..7d5b4fb 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadataTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/compute/functions/InstanceInZoneToNodeMetadataTest.java
@@ -218,7 +218,7 @@ public class InstanceInZoneToNodeMetadataTest {
@Test
public final void testTagFilteringWorks() {
- InstanceInZone instanceInZone = new InstanceInZone(instance, "zoneId");
+ InstanceInZone instanceInZone = InstanceInZone.create(instance, "zoneId");
NodeMetadata nodeMetadata = groupGroupNodeParser.apply(instanceInZone);
assertEquals(nodeMetadata.getId(), "id/test-0");
assertEquals(nodeMetadata.getTags(), ImmutableSet.<String>of(
@@ -229,7 +229,7 @@ public class InstanceInZoneToNodeMetadataTest {
@Test
public final void testInstanceWithGroupNull() {
- InstanceInZone instanceInZone = new InstanceInZone(instance, "zoneId");
+ InstanceInZone instanceInZone = InstanceInZone.create(instance, "zoneId");
NodeMetadata nodeMetadata = groupNullNodeParser.apply(instanceInZone);
assertEquals(nodeMetadata.getId(), "id/test-0");
assertEquals(nodeMetadata.getTags(), ImmutableSet.<String>of("aTag", "Group-port-42"));
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
index 17d7d92..03c6876 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
@@ -88,9 +88,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
InstanceApi api = requestsSendResponses(
requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE,
- GET_INSTANCE_REQUEST, GET_INSTANCE_RESPONSE).getInstanceApi("myproject");
+ GET_INSTANCE_REQUEST, GET_INSTANCE_RESPONSE).getInstanceApi("myproject", "us-central1-a");
- assertEquals(api.getInZone("us-central1-a", "test-1"), new ParseInstanceTest().expected());
+ assertEquals(api.get("test-1"), new ParseInstanceTest().expected());
}
public void testGetInstanceResponseIs4xx() throws Exception {
@@ -98,9 +98,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, GET_INSTANCE_REQUEST, operationResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, GET_INSTANCE_REQUEST, operationResponse).getInstanceApi("myproject", "us-central1-a");
- assertNull(api.getInZone("us-central1-a", "test-1"));
+ assertNull(api.get("test-1"));
}
public void testGetInstanceSerialPortOutput() throws Exception {
@@ -116,9 +116,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, get, operationResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, get, operationResponse).getInstanceApi("myproject", "us-central1-a");
- assertEquals(api.getSerialPortOutputInZone("us-central1-a", "test-1"), new ParseInstanceSerialOutputTest().expected());
+ assertEquals(api.getSerialPortOutput("test-1"), new ParseInstanceSerialOutputTest().expected());
}
public void testInsertInstanceResponseIs2xxNoOptions() {
@@ -135,12 +135,12 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
TOKEN_RESPONSE, GET_PROJECT_REQUEST, GET_PROJECT_RESPONSE,
requestForScopes(COMPUTE_SCOPE),
TOKEN_RESPONSE, insert,
- CREATE_INSTANCE_RESPONSE)).getInstanceApi("myproject");
+ CREATE_INSTANCE_RESPONSE)).getInstanceApi("myproject", "us-central1-a");
InstanceTemplate options = new InstanceTemplate().machineTypeName("us-central1-a/n1-standard-1")
.addNetworkInterface(URI.create(BASE_URL + "/myproject/global/networks/default"));
- assertEquals(api.createInZone("test-1", "us-central1-a", options), new ParseZoneOperationTest().expected());
+ assertEquals(api.create("test-1", options), new ParseZoneOperationTest().expected());
}
public void testInsertInstanceResponseIs2xxAllOptions() {
@@ -159,7 +159,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
InstanceApi api = requestsSendResponses(ImmutableMap.of(requestForScopes(COMPUTE_READONLY_SCOPE),
TOKEN_RESPONSE, GET_PROJECT_REQUEST, GET_PROJECT_RESPONSE,
requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, insert, insertInstanceResponse)).getInstanceApi("myproject");
+ TOKEN_RESPONSE, insert, insertInstanceResponse)).getInstanceApi("myproject", "us-central1-a");
InstanceTemplate options = new InstanceTemplate().machineTypeName("us-central1-a/n1-standard-1")
.addNetworkInterface(
@@ -172,8 +172,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
.addServiceAccount(Instance.ServiceAccount.create("default", ImmutableList.of("myscope")))
.addMetadata("aKey", "aValue");
- assertEquals(api.createInZone("test-0", "us-central1-a", options),
- new ParseZoneOperationTest().expected());
+ assertEquals(api.create("test-0", options), new ParseZoneOperationTest().expected());
}
public void testDeleteInstanceResponseIs2xx() {
@@ -188,9 +187,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
.payload(payloadFromResource("/zone_operation.json")).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, delete, deleteResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, delete, deleteResponse).getInstanceApi("myproject", "us-central1-a");
- assertEquals(api.deleteInZone("us-central1-a", "test-1"),
+ assertEquals(api.delete("test-1"),
new ParseZoneOperationTest().expected());
}
@@ -205,19 +204,18 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
HttpResponse deleteResponse = HttpResponse.builder().statusCode(404).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, delete, deleteResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, delete, deleteResponse).getInstanceApi("myproject", "us-central1-a");
- assertNull(api.deleteInZone("us-central1-a", "test-1"));
+ assertNull(api.delete("test-1"));
}
public void testListInstancesResponseIs2xx() {
InstanceApi api = requestsSendResponses(
requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE,
- LIST_INSTANCES_REQUEST, LIST_INSTANCES_RESPONSE).getInstanceApi("myproject");
+ LIST_INSTANCES_REQUEST, LIST_INSTANCES_RESPONSE).getInstanceApi("myproject", "us-central1-a");
- assertEquals(api.listInZone("us-central1-a").next().toString(),
- new ParseInstanceListTest().expected().toString());
+ assertEquals(api.list().next().toString(), new ParseInstanceListTest().expected().toString());
}
public void testListInstancesResponseIs4xx() {
@@ -231,9 +229,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, list, operationResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, list, operationResponse).getInstanceApi("myproject", "us-central1-a");
- assertFalse(api.listInZone("us-central1-a").hasNext());
+ assertFalse(api.list().hasNext());
}
public void testSetInstanceMetadataResponseIs2xx() {
@@ -250,9 +248,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
.payload(payloadFromResource("/zone_operation.json")).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, setMetadata, setMetadataResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, setMetadata, setMetadataResponse).getInstanceApi("myproject", "us-central1-a");
- assertEquals(api.setMetadataInZone("us-central1-a", "test-1", ImmutableMap.of("foo", "bar"), "efgh"),
+ assertEquals(api.setMetadata("test-1", ImmutableMap.of("foo", "bar"), "efgh"),
new ParseZoneOperationTest().expected());
}
@@ -270,9 +268,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
HttpResponse setMetadataResponse = HttpResponse.builder().statusCode(404).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, setMetadata, setMetadataResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, setMetadata, setMetadataResponse).getInstanceApi("myproject", "us-central1-a");
- api.setMetadataInZone("us-central1-a", "test-1", ImmutableMap.of("foo", "bar"), "efgh");
+ api.setMetadata("test-1", ImmutableMap.of("foo", "bar"), "efgh");
}
public void testSetInstanceTagsResponseIs2xx() {
@@ -289,9 +287,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
.payload(payloadFromResource("/zone_operation.json")).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, setTags, setTagsResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, setTags, setTagsResponse).getInstanceApi("myproject", "us-central1-a");
- assertEquals(api.setTagsInZone("us-central1-a", "test-1", ImmutableList.of("foo", "bar"), "efgh"),
+ assertEquals(api.setTags("test-1", ImmutableList.of("foo", "bar"), "efgh"),
new ParseZoneOperationTest().expected());
}
@@ -309,9 +307,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
HttpResponse setTagsResponse = HttpResponse.builder().statusCode(404).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, setTags, setTagsResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, setTags, setTagsResponse).getInstanceApi("myproject", "us-central1-a");
- api.setTagsInZone("us-central1-a", "test-1", ImmutableList.of("foo", "bar"), "efgh");
+ api.setTags("test-1", ImmutableList.of("foo", "bar"), "efgh");
}
public void testResetInstanceResponseIs2xx() {
@@ -326,9 +324,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
.payload(payloadFromResource("/zone_operation.json")).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, reset, resetResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, reset, resetResponse).getInstanceApi("myproject", "us-central1-a");
- assertEquals(api.resetInZone("us-central1-a", "test-1"),
+ assertEquals(api.reset("test-1"),
new ParseZoneOperationTest().expected());
}
@@ -344,9 +342,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
HttpResponse resetResponse = HttpResponse.builder().statusCode(404).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, reset, resetResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, reset, resetResponse).getInstanceApi("myproject", "us-central1-a");
- api.resetInZone("us-central1-a", "test-1");
+ api.reset("test-1");
}
public void testAttachDiskResponseIs2xx() {
@@ -363,9 +361,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
.payload(payloadFromResource("/zone_operation.json")).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, attach, attachResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, attach, attachResponse).getInstanceApi("myproject", "us-central1-a");
- assertEquals(api.attachDiskInZone("us-central1-a", "test-1",
+ assertEquals(api.attachDisk("test-1",
new AttachDiskOptions()
.mode(DiskMode.READ_ONLY)
.source(URI.create(BASE_URL + "/myproject/zones/us-central1-a/disks/testimage1"))
@@ -387,9 +385,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
HttpResponse attachResponse = HttpResponse.builder().statusCode(404).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, attach, attachResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, attach, attachResponse).getInstanceApi("myproject", "us-central1-a");
- api.attachDiskInZone("us-central1-a", "test-1",
+ api.attachDisk("test-1",
new AttachDiskOptions()
.mode(DiskMode.READ_ONLY)
.source(URI.create(BASE_URL + "/myproject/zones/us-central1-a/disks/testimage1"))
@@ -410,9 +408,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
.payload(payloadFromResource("/zone_operation.json")).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, detach, detachResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, detach, detachResponse).getInstanceApi("myproject", "us-central1-a");
- assertEquals(api.detachDiskInZone("us-central1-a", "test-1", "test-disk-1"),
+ assertEquals(api.detachDisk("test-1", "test-disk-1"),
new ParseZoneOperationTest().expected());
}
@@ -429,9 +427,9 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineApiExpectTest
HttpResponse detachResponse = HttpResponse.builder().statusCode(404).build();
InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
- TOKEN_RESPONSE, detach, detachResponse).getInstanceApi("myproject");
+ TOKEN_RESPONSE, detach, detachResponse).getInstanceApi("myproject", "us-central1-a");
- api.detachDiskInZone("us-central1-a", "test-1", "test-disk-1");
+ api.detachDisk("test-1", "test-disk-1");
}
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiLiveTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiLiveTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiLiveTest.java
index 11f4915..4fcdfa9 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiLiveTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiLiveTest.java
@@ -16,6 +16,7 @@
*/
package org.jclouds.googlecomputeengine.features;
+import static org.jclouds.googlecomputeengine.options.ListOptions.Builder.filter;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
@@ -97,7 +98,7 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
}
private InstanceApi api() {
- return api.getInstanceApi(userProject.get());
+ return api.getInstanceApi(userProject.get(), DEFAULT_ZONE_NAME);
}
private DiskApi diskApi() {
@@ -120,26 +121,26 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
assertZoneOperationDoneSuccessfully(
diskApi().createInZone("instance-live-test-disk", DEFAULT_DISK_SIZE_GB, DEFAULT_ZONE_NAME), TIME_WAIT);
- assertZoneOperationDoneSuccessfully(api().createInZone(INSTANCE_NAME, DEFAULT_ZONE_NAME, instance), TIME_WAIT);
+ assertZoneOperationDoneSuccessfully(api().create(INSTANCE_NAME, instance), TIME_WAIT);
}
@Test(groups = "live", dependsOnMethods = "testInsertInstance")
public void testGetInstance() {
- Instance instance = api().getInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME);
+ Instance instance = api().get(INSTANCE_NAME);
assertNotNull(instance);
assertInstanceEquals(instance, this.instance);
}
@Test(groups = "live", dependsOnMethods = "testListInstance")
public void testSetMetadataForInstance() {
- Instance originalInstance = api().getInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME);
- assertZoneOperationDoneSuccessfully(api().setMetadataInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME,
+ Instance originalInstance = api().get(INSTANCE_NAME);
+ assertZoneOperationDoneSuccessfully(api().setMetadata(INSTANCE_NAME,
ImmutableMap.of(METADATA_ITEM_KEY, METADATA_ITEM_VALUE), originalInstance.metadata().fingerprint()),
TIME_WAIT);
- Instance modifiedInstance = api().getInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME);
+ Instance modifiedInstance = api().get(INSTANCE_NAME);
assertTrue(modifiedInstance.metadata().items().containsKey(METADATA_ITEM_KEY));
assertEquals(modifiedInstance.metadata().items().get(METADATA_ITEM_KEY),
@@ -149,12 +150,11 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
@Test(groups = "live", dependsOnMethods = "testListInstance")
public void testSetTagsForInstance() {
- Instance originalInstance = api().getInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME);
+ Instance originalInstance = api().get(INSTANCE_NAME);
assertZoneOperationDoneSuccessfully(
- api().setTagsInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME, TAGS, originalInstance.tags().fingerprint()),
- TIME_WAIT);
+ api().setTags(INSTANCE_NAME, TAGS, originalInstance.tags().fingerprint()), TIME_WAIT);
- Instance modifiedInstance = api().getInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME);
+ Instance modifiedInstance = api().get(INSTANCE_NAME);
assertTrue(modifiedInstance.tags().items().containsAll(TAGS));
assertNotNull(modifiedInstance.tags().fingerprint());
@@ -164,13 +164,13 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
public void testAttachDiskToInstance() {
assertZoneOperationDoneSuccessfully(diskApi().createInZone(ATTACH_DISK_NAME, 1, DEFAULT_ZONE_NAME), TIME_WAIT);
- Instance originalInstance = api().getInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME);
- assertZoneOperationDoneSuccessfully(api().attachDiskInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME,
+ Instance originalInstance = api().get(INSTANCE_NAME);
+ assertZoneOperationDoneSuccessfully(api().attachDisk(INSTANCE_NAME,
new AttachDiskOptions().type(DiskType.PERSISTENT)
.source(getDiskUrl(userProject.get(), ATTACH_DISK_NAME)).mode(DiskMode.READ_ONLY)
.deviceName(ATTACH_DISK_DEVICE_NAME)), TIME_WAIT);
- Instance modifiedInstance = api().getInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME);
+ Instance modifiedInstance = api().get(INSTANCE_NAME);
assertTrue(modifiedInstance.disks().size() > originalInstance.disks().size());
assertTrue(Iterables.any(modifiedInstance.disks(), new Predicate<AttachedDisk>() {
@@ -185,11 +185,10 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
@Test(groups = "live", dependsOnMethods = "testAttachDiskToInstance")
public void testDetachDiskFromInstance() {
- Instance originalInstance = api().getInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME);
- assertZoneOperationDoneSuccessfully(
- api().detachDiskInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME, ATTACH_DISK_DEVICE_NAME), TIME_WAIT);
+ Instance originalInstance = api().get(INSTANCE_NAME);
+ assertZoneOperationDoneSuccessfully(api().detachDisk(INSTANCE_NAME, ATTACH_DISK_DEVICE_NAME), TIME_WAIT);
- Instance modifiedInstance = api().getInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME);
+ Instance modifiedInstance = api().get(INSTANCE_NAME);
assertTrue(modifiedInstance.disks().size() < originalInstance.disks().size());
@@ -199,8 +198,7 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
@Test(groups = "live", dependsOnMethods = "testInsertInstance")
public void testListInstance() {
- Iterator<ListPage<Instance>> instances = api().listInZone(DEFAULT_ZONE_NAME, new ListOptions.Builder()
- .filter("name eq " + INSTANCE_NAME));
+ Iterator<ListPage<Instance>> instances = api().list(filter("name eq " + INSTANCE_NAME));
List<Instance> instancesAsList = instances.next();
@@ -212,12 +210,12 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
@Test(groups = "live", dependsOnMethods = "testDetachDiskFromInstance")
public void testResetInstance() {
- assertZoneOperationDoneSuccessfully(api().resetInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME), TIME_WAIT);
+ assertZoneOperationDoneSuccessfully(api().reset(INSTANCE_NAME), TIME_WAIT);
}
@Test(groups = "live", dependsOnMethods = "testResetInstance")
public void testDeleteInstance() {
- assertZoneOperationDoneSuccessfully(api().deleteInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME), TIME_WAIT);
+ assertZoneOperationDoneSuccessfully(api().delete(INSTANCE_NAME), TIME_WAIT);
assertZoneOperationDoneSuccessfully(api.getDiskApi(userProject.get()).deleteInZone(DEFAULT_ZONE_NAME, DISK_NAME),
TIME_WAIT);
assertZoneOperationDoneSuccessfully(
@@ -234,7 +232,7 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
@AfterClass(groups = { "integration", "live" })
protected void tearDownContext() {
try {
- waitZoneOperationDone(api().deleteInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME), TIME_WAIT);
+ waitZoneOperationDone(api().delete(INSTANCE_NAME), TIME_WAIT);
waitZoneOperationDone(api.getDiskApi(userProject.get()).deleteInZone(DEFAULT_ZONE_NAME, DISK_NAME),
TIME_WAIT);
waitZoneOperationDone(api.getDiskApi(userProject.get()).deleteInZone(DEFAULT_ZONE_NAME, BOOT_DISK_NAME),
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/3a2ae5e9/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiLiveTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiLiveTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiLiveTest.java
index 172a153..41d5fa3 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiLiveTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiLiveTest.java
@@ -70,7 +70,7 @@ public class TargetPoolApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
@Test(groups = "live")
public void testCreateInstanceAndHealthCheck(){
- InstanceApi instanceApi = api.getInstanceApi(userProject.get());
+ InstanceApi instanceApi = api.getInstanceApi(userProject.get(), DEFAULT_ZONE_NAME);
HttpHealthCheckApi httpHealthCheckApi = api.getHttpHealthCheckApi(userProject.get());
ListPage<Image> list = api.getImageApi("centos-cloud").list(new ListOptions.Builder().filter("name eq centos.*"))
@@ -109,9 +109,9 @@ public class TargetPoolApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
TIME_WAIT_LONG);
// Create an instance.
- assertZoneOperationDoneSuccessfully(instanceApi.createInZone(INSTANCE_NAME, DEFAULT_ZONE_NAME, instanceTemplate),
+ assertZoneOperationDoneSuccessfully(instanceApi.create(INSTANCE_NAME, instanceTemplate),
TIME_WAIT_LONG);
- Instance instance = instanceApi.getInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME);
+ Instance instance = instanceApi.get(INSTANCE_NAME);
instances = new ArrayList<URI>();
instances.add(instance.selfLink());
@@ -244,11 +244,11 @@ public class TargetPoolApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
@AfterClass(groups = { "integration", "live" })
public void testCleanup(){
- InstanceApi instanceApi = api.getInstanceApi(userProject.get());
+ InstanceApi instanceApi = api.getInstanceApi(userProject.get(), DEFAULT_ZONE_NAME);
HttpHealthCheckApi httpHealthCheckApi = api.getHttpHealthCheckApi(userProject.get());
try {
- waitZoneOperationDone(instanceApi.deleteInZone(DEFAULT_ZONE_NAME, INSTANCE_NAME), TIME_WAIT_LONG);
+ waitZoneOperationDone(instanceApi.delete(INSTANCE_NAME), TIME_WAIT_LONG);
waitZoneOperationDone(api.getDiskApi(userProject.get()).deleteInZone(DEFAULT_ZONE_NAME, BOOT_DISK_NAME),
TIME_WAIT);