You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by jd...@apache.org on 2014/08/13 18:59:43 UTC

[04/12] Prefer Regions to Zones in OpenStack APIs

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/predicates/InstancePredicates.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/predicates/InstancePredicates.java b/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/predicates/InstancePredicates.java
index 0508abf..9eaf763 100644
--- a/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/predicates/InstancePredicates.java
+++ b/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/predicates/InstancePredicates.java
@@ -33,24 +33,24 @@ import com.google.common.base.Predicate;
  * <pre>
  * {@code
  * Instance instance = instanceApi.create(100);
- * 
+ *
  * RetryablePredicate<String> awaitAvailable = RetryablePredicate.create(
  *    InstancePredicates.available(instanceApi), 600, 10, 10, TimeUnit.SECONDS);
- * 
+ *
  * if (!awaitAvailable.apply(instance.getId())) {
- *    throw new TimeoutException("Timeout on instance: " + instance); 
- * }    
+ *    throw new TimeoutException("Timeout on instance: " + instance);
+ * }
  * }
  * </pre>
- * 
+ *
  * You can also use the static convenience methods as follows.
- * 
+ *
  * <pre>
  * {@code
  * Instance instance = instanceApi.create(100);
- * 
+ *
  * if (!InstancePredicates.awaitAvailable(instanceApi).apply(instance.getId())) {
- *    throw new TimeoutException("Timeout on instance: " + instance);     
+ *    throw new TimeoutException("Timeout on instance: " + instance);
  * }
  * }
  * </pre>
@@ -58,8 +58,8 @@ import com.google.common.base.Predicate;
 public class InstancePredicates {
    /**
     * Wait until an Instance is Available.
-    * 
-    * @param instanceApi The InstanceApi in the zone where your Instance resides.
+    *
+    * @param instanceApi The InstanceApi in the region where your Instance resides.
     * @return RetryablePredicate That will check the status every 5 seconds for a maxiumum of 10 minutes.
     */
    public static Predicate<Instance> awaitAvailable(InstanceApi instanceApi) {
@@ -69,8 +69,8 @@ public class InstancePredicates {
 
    /**
     * Wait until an Instance no longer exists.
-    * 
-    * @param instanceApi The InstanceApi in the zone where your Instance resides.
+    *
+    * @param instanceApi The InstanceApi in the region where your Instance resides.
     * @return RetryablePredicate That will check whether the Instance exists.
     * every 5 seconds for a maxiumum of 10 minutes.
     */
@@ -78,11 +78,11 @@ public class InstancePredicates {
       DeletedPredicate deletedPredicate = new DeletedPredicate(instanceApi);
       return retry(deletedPredicate, 600, 5, 5, SECONDS);
    }
-   
+
    /**
     * Wait until instance is in the status specified.
-    * 
-    * @param instanceApi The InstanceApi in the zone where your Instance resides.
+    *
+    * @param instanceApi The InstanceApi in the region where your Instance resides.
     * @param status Wait until instance in in this status.
     * @param maxWaitInSec Maximum time to wait.
     * @param periodInSec Interval between retries.
@@ -93,7 +93,7 @@ public class InstancePredicates {
       StatusUpdatedPredicate statusPredicate = new StatusUpdatedPredicate(instanceApi, status);
       return retry(statusPredicate, maxWaitInSec, periodInSec, periodInSec, SECONDS);
    }
-   
+
    private static class StatusUpdatedPredicate implements Predicate<Instance> {
       private InstanceApi instanceApi;
       private Status status;
@@ -109,14 +109,14 @@ public class InstancePredicates {
       @Override
       public boolean apply(Instance instance) {
          checkNotNull(instance, "instance must be defined");
-         
+
          if (status.equals(instance.getStatus())) {
             return true;
          }
          else {
             Instance instanceUpdated = instanceApi.get(instance.getId());
             checkNotNull(instanceUpdated, "Instance %s not found.", instance.getId());
-            
+
             return status.equals(instanceUpdated.getStatus());
          }
       }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/utils/TroveUtils.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/utils/TroveUtils.java b/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/utils/TroveUtils.java
index c64b84c..c8de096 100644
--- a/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/utils/TroveUtils.java
+++ b/apis/openstack-trove/src/main/java/org/jclouds/openstack/trove/v1/utils/TroveUtils.java
@@ -31,7 +31,7 @@ import org.jclouds.logging.Logger;
 import com.google.common.util.concurrent.Uninterruptibles;
 
 /**
- * 
+ *
  * Helper methods for dealing with instances that get created with errors.
  */
 public class TroveUtils {
@@ -45,11 +45,11 @@ public class TroveUtils {
 
    /**
     * Create an ACTIVE operational instance.
-    * 
+    *
     * @see InstanceApi#create(String, int, String)
-    * 
-    * @param zone
-    *           The instance zone or region.
+    *
+    * @param region
+    *           The instance region.
     * @param name
     *           Instance name.
     * @param flavorId
@@ -58,8 +58,8 @@ public class TroveUtils {
     *           Size of the instance.
     * @return Instance object in active state or NULL.
     */
-   public Instance getWorkingInstance(String zone, String name, String flavorId, int size) {
-      InstanceApi instanceApi = api.getInstanceApiForZone(zone);
+   public Instance getWorkingInstance(String region, String name, String flavorId, int size) {
+      InstanceApi instanceApi = api.getInstanceApi(region);
       for (int retries = 0; retries < 10; retries++) {
          Instance instance = null;
          try {
@@ -78,19 +78,19 @@ public class TroveUtils {
          }
          instanceApi.delete(instance.getId());
          InstancePredicates.awaitDeleted(instanceApi).apply(instance);
-         
+
       }
       return null;
    }
 
    /**
     * This will return a small working instance.
-    * 
-    * @param zone The zone where the instance should be created.
+    *
+    * @param region The region where the instance should be created.
     * @return A working database instance.
     */
-   public Instance getWorkingInstance(String zone) {
-      return getWorkingInstance(zone, UUID.randomUUID().toString(), "1", 1);
+   public Instance getWorkingInstance(String region) {
+      return getWorkingInstance(region, UUID.randomUUID().toString(), "1", 1);
    }
 
    private Instance awaitAvailable(Instance instance, InstanceApi iapi) {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/FlavorTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/FlavorTest.java b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/FlavorTest.java
index 0b9d1b1..240f53c 100644
--- a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/FlavorTest.java
+++ b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/FlavorTest.java
@@ -33,20 +33,20 @@ public class FlavorTest {
       assertEquals(flavor1.getName(), "small");
       assertFalse(flavor1.equals(flavor2));
    }
-   
+
    /**
-    * Creates a dummy Flavor when you need a Flavor with just the flavorId. 
-    * 
+    * Creates a dummy Flavor when you need a Flavor with just the flavorId.
+    *
     * 1. name  = small
     * 2. ram   = 512
     * 3. links = self, bookmark
     */
-   public static Flavor forId(int flavorId) {       
+   public static Flavor forId(int flavorId) {
        return Flavor.builder()
                .id(flavorId)
                .name("small")
                .ram(512)
-               .links( 
+               .links(
                        ImmutableList.of(
                                Link.create(Relation.SELF, Uris.uriBuilder("http://test1").build() ),
                                Link.create(Relation.BOOKMARK, Uris.uriBuilder("http://test2").build() )

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/InstanceTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/InstanceTest.java b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/InstanceTest.java
index d0cf6f2..65d3263 100644
--- a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/InstanceTest.java
+++ b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/InstanceTest.java
@@ -33,18 +33,18 @@ public class InstanceTest {
       assertEquals(instance1.getName(), "json");
       assertFalse(instance1.equals(instance2));
    }
-   
+
    /**
     * Creates a dummy Instance when you need an Instance with just the instanceId.
     */
-   public static Instance forId(String instanceId) {       
+   public static Instance forId(String instanceId) {
        return Instance.builder()
                .id(instanceId)
                .name("json")
                .status(Instance.Status.ACTIVE)
                .size(2)
                .flavor( FlavorTest.forId(1) )
-               .links( 
+               .links(
                        ImmutableList.of(
                                Link.create(Relation.SELF, Uris.uriBuilder("http://test1").build() ),
                                Link.create(Relation.BOOKMARK, Uris.uriBuilder("http://test2").build() )

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/UserTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/UserTest.java b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/UserTest.java
index 9edd6f8..3ed488d 100644
--- a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/UserTest.java
+++ b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/domain/UserTest.java
@@ -30,15 +30,15 @@ public class UserTest {
       assertEquals(user2.getName(), "2");
       assertFalse(user1.equals(user2));
    }
-   
+
    /**
     * Creates a dummy User when you need an User with just the userName.
     */
-   public static User forName(String userName) {       
+   public static User forName(String userName) {
        return User.builder()
                .name(userName)
                .password("password")
-               .databases( 
+               .databases(
                        ImmutableSet.of(
                                "db1",
                                "db2"

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/DatabaseApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/DatabaseApiExpectTest.java b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/DatabaseApiExpectTest.java
index b23e1c0..e165afc 100644
--- a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/DatabaseApiExpectTest.java
+++ b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/DatabaseApiExpectTest.java
@@ -46,7 +46,7 @@ public class DatabaseApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/database_create_simple_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(202).build() // response
-            ).getDatabaseApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getDatabaseApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.create("testingdb");
       assertTrue(result);
@@ -62,7 +62,7 @@ public class DatabaseApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/database_create_simple_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(404).build() // response
-            ).getDatabaseApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getDatabaseApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.create("testingdb");
       assertFalse(result);
@@ -78,7 +78,7 @@ public class DatabaseApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/database_create_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(202).build() // response
-            ).getDatabaseApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getDatabaseApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.create("testingdb", "utf8", "utf8_general_ci");
       assertTrue(result);
@@ -94,7 +94,7 @@ public class DatabaseApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/database_create_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(404).build() // response
-            ).getDatabaseApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getDatabaseApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.create("testingdb", "utf8", "utf8_general_ci");
       assertFalse(result);
@@ -109,7 +109,7 @@ public class DatabaseApiExpectTest extends BaseTroveApiExpectTest {
             .method("DELETE")
             .build(),
             HttpResponse.builder().statusCode(202).build() // response
-            ).getDatabaseApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getDatabaseApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.delete("db1");
       assertTrue(result);
@@ -124,7 +124,7 @@ public class DatabaseApiExpectTest extends BaseTroveApiExpectTest {
             .method("DELETE")
             .build(),
             HttpResponse.builder().statusCode(404).build() // response
-            ).getDatabaseApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getDatabaseApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.delete("db1");
       assertFalse(result);
@@ -137,7 +137,7 @@ public class DatabaseApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(200).payload(payloadFromResource("/database_list.json")).build()
-      ).getDatabaseApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+      ).getDatabaseApi("RegionOne", "instanceId-1234-5678");
 
       List<String> databases = api.list().toList();
       assertEquals(databases.size(), 5);
@@ -151,7 +151,7 @@ public class DatabaseApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(404).payload(payloadFromResource("/database_list.json")).build()
-      ).getDatabaseApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+      ).getDatabaseApi("RegionOne", "instanceId-1234-5678");
 
       Set<String> databases = api.list().toSet();
       assertTrue(databases.isEmpty());

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/DatabaseApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/DatabaseApiLiveTest.java b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/DatabaseApiLiveTest.java
index b18e86a..57ef1a5 100644
--- a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/DatabaseApiLiveTest.java
+++ b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/DatabaseApiLiveTest.java
@@ -35,7 +35,7 @@ import com.google.common.collect.Maps;
 @Test(groups = "live", testName = "DatabaseApiLiveTest")
 public class DatabaseApiLiveTest extends BaseTroveApiLiveTest {
 
-   // zone to instance
+   // region to instance
    private static Map<String, List<Instance>> instancesToDelete = Maps.newHashMap();
    // not deleting databases. they will be deleted when instances are deleted
 
@@ -44,17 +44,17 @@ public class DatabaseApiLiveTest extends BaseTroveApiLiveTest {
    public void setup() {
       super.setup();
       TroveUtils utils = new TroveUtils(api);
-      for (String zone : api.getConfiguredZones()) {
+      for (String region : api.getConfiguredRegions()) {
          // create instances
          List<Instance> instanceList = Lists.newArrayList();
-         Instance first = utils.getWorkingInstance(zone, "first_database_testing_" + zone, "1", 1);
-         Instance second = utils.getWorkingInstance(zone, "second_database_testing_" + zone, "1", 1);
+         Instance first = utils.getWorkingInstance(region, "first_database_testing_" + region, "1", 1);
+         Instance second = utils.getWorkingInstance(region, "second_database_testing_" + region, "1", 1);
          instanceList.add(first);
          instanceList.add(second);
-         instancesToDelete.put(zone, instanceList);
+         instancesToDelete.put(region, instanceList);
 
-         DatabaseApi databaseApiFirst = api.getDatabaseApiForZoneAndInstance(zone, first.getId());
-         DatabaseApi databaseApiSecond = api.getDatabaseApiForZoneAndInstance(zone, second.getId());
+         DatabaseApi databaseApiFirst = api.getDatabaseApi(region, first.getId());
+         DatabaseApi databaseApiSecond = api.getDatabaseApi(region, second.getId());
          databaseApiFirst.create("livetest_db1");
          databaseApiFirst.create("livetest_db2");
          databaseApiSecond.create("livetest_db3");
@@ -64,9 +64,9 @@ public class DatabaseApiLiveTest extends BaseTroveApiLiveTest {
    @Override
    @AfterClass(groups = { "integration", "live" })
    public void tearDown(){
-      for (String zone : api.getConfiguredZones()) {
-         InstanceApi instanceApi = api.getInstanceApiForZone(zone);
-         for (Instance instance : instancesToDelete.get(zone)) {
+      for (String region : api.getConfiguredRegions()) {
+         InstanceApi instanceApi = api.getInstanceApi(region);
+         for (Instance instance : instancesToDelete.get(region)) {
             if (!instanceApi.delete(instance.getId()))
                throw new RuntimeException("Could not delete a database instance after tests!");
          }
@@ -76,28 +76,28 @@ public class DatabaseApiLiveTest extends BaseTroveApiLiveTest {
 
    @Test
    public void testListDatabases() {
-      for (String zone : api.getConfiguredZones()) {
-         InstanceApi instanceApi = api.getInstanceApiForZone(zone);
+      for (String region : api.getConfiguredRegions()) {
+         InstanceApi instanceApi = api.getInstanceApi(region);
          assertTrue(instanceApi.list().size() >= 2);
-         for (Instance instance : instancesToDelete.get(zone)) {
-            DatabaseApi databaseApi = api.getDatabaseApiForZoneAndInstance(zone, instance.getId());
+         for (Instance instance : instancesToDelete.get(region)) {
+            DatabaseApi databaseApi = api.getDatabaseApi(region, instance.getId());
             if (!instance.getName().contains("database_testing"))
                continue;
             assertTrue(databaseApi.list().size() >= 1);
             for (String database : databaseApi.list()) {
-               assertNotNull(database);      
+               assertNotNull(database);
             }
-         }  
-      }   
+         }
+      }
    }
 
    @Test
    public void testDeleteDatabases() {
-      for (String zone : api.getConfiguredZones()) {
-         InstanceApi instanceApi = api.getInstanceApiForZone(zone);
+      for (String region : api.getConfiguredRegions()) {
+         InstanceApi instanceApi = api.getInstanceApi(region);
          assertTrue(instanceApi.list().size() >= 2);
-         for (Instance instance : instancesToDelete.get(zone)) {
-            DatabaseApi databaseApi = api.getDatabaseApiForZoneAndInstance(zone, instance.getId());
+         for (Instance instance : instancesToDelete.get(region)) {
+            DatabaseApi databaseApi = api.getDatabaseApi(region, instance.getId());
             if (!instance.getName().contains("database_testing"))
                continue;
             assertTrue(databaseApi.list().size() >= 1);
@@ -107,7 +107,7 @@ public class DatabaseApiLiveTest extends BaseTroveApiLiveTest {
                assertTrue(databaseApi.delete(database));
                assertTrue(databaseApi.create(database));
             }
-         }  
-      }   
+         }
+      }
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/FlavorApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/FlavorApiExpectTest.java b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/FlavorApiExpectTest.java
index 0acc2f3..dae8dd7 100644
--- a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/FlavorApiExpectTest.java
+++ b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/FlavorApiExpectTest.java
@@ -42,7 +42,7 @@ public class FlavorApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(200).payload(payloadFromResource("/flavor_list.json")).build()
-      ).getFlavorApiForZone("RegionOne");
+      ).getFlavorApi("RegionOne");
 
       Set<? extends Flavor> flavors = api.list().toSet();
       assertEquals(flavors.size(), 6);
@@ -56,11 +56,11 @@ public class FlavorApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(404).build()
-      ).getFlavorApiForZone("RegionOne");
+      ).getFlavorApi("RegionOne");
 
       Set<? extends Flavor> flavors = api.list().toSet();
       assertTrue(flavors.isEmpty());
-   }   
+   }
 
    public void testGetFlavor() {
       URI endpoint = URI.create("http://172.16.0.1:8776/v1/3456/flavors/1");
@@ -69,7 +69,7 @@ public class FlavorApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(200).payload(payloadFromResource("/flavor_get.json")).build()
-      ).getFlavorApiForZone("RegionOne");
+      ).getFlavorApi("RegionOne");
 
       Flavor flavor = api.get(1);
       assertEquals(flavor.getName(), "512MB Instance");
@@ -77,17 +77,17 @@ public class FlavorApiExpectTest extends BaseTroveApiExpectTest {
       assertEquals(flavor.getRam(), 512);
       assertEquals(flavor.getLinks().size(), 2);
    }
-   
+
    public void testGetFlavorByAccountId() {
 	      URI endpoint = URI.create("http://172.16.0.1:8776/v1/3456/flavors/40806637803162");
-	      TroveApi redDwarfApi = requestsSendResponses(
+	      TroveApi troveApi = requestsSendResponses(
                keystoneAuthWithUsernameAndPasswordAndTenantName,
                responseWithKeystoneAccess,
                authenticatedGET().endpoint(endpoint).build(),
-               HttpResponse.builder().statusCode(200).payload(payloadFromResource("/flavor_list.json")).build() ); 
-	      FlavorApi api = redDwarfApi.getFlavorApiForZone("RegionOne");
+               HttpResponse.builder().statusCode(200).payload(payloadFromResource("/flavor_list.json")).build() );
+	      FlavorApi api = troveApi.getFlavorApi("RegionOne");
 
-	      Set<? extends Flavor> flavors = api.list( redDwarfApi.getCurrentTenantId().get().getId() ).toSet();
+	      Set<? extends Flavor> flavors = api.list(troveApi.getCurrentTenantId().get().getId() ).toSet();
 	      Flavor flavor = flavors.iterator().next();
 	      assertEquals(flavor.getName(), "512MB Instance");
 	      assertEquals(flavor.getId(), 1);
@@ -102,8 +102,8 @@ public class FlavorApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(404).build()
-      ).getFlavorApiForZone("RegionOne");
+      ).getFlavorApi("RegionOne");
 
       assertNull(api.get(12312));
-   }   
+   }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/FlavorApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/FlavorApiLiveTest.java b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/FlavorApiLiveTest.java
index 57c0f8b..2f2ec40 100644
--- a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/FlavorApiLiveTest.java
+++ b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/FlavorApiLiveTest.java
@@ -42,28 +42,28 @@ public class FlavorApiLiveTest extends BaseTroveApiLiveTest {
 
     @Test
     public void testListFlavorsByAccount() {
-        for (String zone : api.getConfiguredZones()) {
-            FlavorApi flavorApi = api.getFlavorApiForZone(zone);
+        for (String region : api.getConfiguredRegions()) {
+            FlavorApi flavorApi = api.getFlavorApi(region);
 
-            FluentIterable<Flavor> response = flavorApi.list( api.getCurrentTenantId().get().getId() ); // tenant id, but referred to as account id. 
+            FluentIterable<Flavor> response = flavorApi.list( api.getCurrentTenantId().get().getId() ); // tenant id, but referred to as account id.
             for (Flavor flavor : response) {
                 checkFlavor(flavor);
-            }  
-        }   
+            }
+        }
     }
 
     @Test
     public void testListFlavorsByAccountWhenAccountIdNotFound() {
-        for (String zone : api.getConfiguredZones()) {
-            FlavorApi flavorApi = api.getFlavorApiForZone(zone);
+        for (String region : api.getConfiguredRegions()) {
+            FlavorApi flavorApi = api.getFlavorApi(region);
             assertTrue(flavorApi.list("9999").isEmpty());
         }
     }
 
     @Test
     public void testGetFlavor() {
-        for (String zone : api.getConfiguredZones()) {
-            FlavorApi flavorApi = api.getFlavorApiForZone(zone);           
+        for (String region : api.getConfiguredRegions()) {
+            FlavorApi flavorApi = api.getFlavorApi(region);
             for (Flavor flavor : flavorApi.list()) {
                 Flavor flavorFromGet = flavorApi.get(flavor.getId());
                 assertEquals(flavorFromGet.getId(), flavor.getId());
@@ -76,9 +76,9 @@ public class FlavorApiLiveTest extends BaseTroveApiLiveTest {
 
     @Test
     public void testGetFlavorWhenNotFound() {
-        for (String zone : api.getConfiguredZones()) {
-            FlavorApi flavorApi = api.getFlavorApiForZone(zone);
+        for (String region : api.getConfiguredRegions()) {
+            FlavorApi flavorApi = api.getFlavorApi(region);
             assertNull(flavorApi.get(9999));
         }
-    }   
+    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/InstanceApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/InstanceApiExpectTest.java b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/InstanceApiExpectTest.java
index 8f562e9..e7c2f04 100644
--- a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/InstanceApiExpectTest.java
+++ b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/InstanceApiExpectTest.java
@@ -44,7 +44,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
                 .payload(payloadFromResourceWithContentType("/instance_create_request.json", MediaType.APPLICATION_JSON))
                 .build(),
                 HttpResponse.builder().statusCode(200).payload(payloadFromResource("/instance_create.json")).build() // response
-                ).getInstanceApiForZone("RegionOne");
+                ).getInstanceApi("RegionOne");
 
         Instance instance = api.create("1", 2, "json_rack_instance");
         assertEquals(instance.getSize(), 2);
@@ -62,7 +62,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
                 .payload(payloadFromResourceWithContentType("/instance_create_request.json", MediaType.APPLICATION_JSON))
                 .build(),
                 HttpResponse.builder().statusCode(404).payload(payloadFromResource("/instance_create.json")).build() // response
-                ).getInstanceApiForZone("RegionOne");
+                ).getInstanceApi("RegionOne");
 
         api.create("1", 2, "json_rack_instance");
     }
@@ -74,7 +74,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
                 responseWithKeystoneAccess,
                 authenticatedGET().endpoint(endpoint).method("DELETE").build(),
                 HttpResponse.builder().statusCode(202).build() // response
-                ).getInstanceApiForZone("RegionOne");
+                ).getInstanceApi("RegionOne");
 
         assertTrue( api.delete("098653ba-218b-47ce-936a-e0b749101f81") );
     }
@@ -86,7 +86,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
                 responseWithKeystoneAccess,
                 authenticatedGET().endpoint(endpoint).method("DELETE").build(),
                 HttpResponse.builder().statusCode(404).build() // response
-                ).getInstanceApiForZone("RegionOne");
+                ).getInstanceApi("RegionOne");
 
         assertTrue( !api.delete("098653ba-218b-47ce-936a-e0b749101f81") );
     }
@@ -99,7 +99,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(200).payload(payloadFromResource("/instance_list.json")).build()
-      ).getInstanceApiForZone("RegionOne");
+      ).getInstanceApi("RegionOne");
 
       Set<? extends Instance> instances = api.list().toSet();
       assertEquals(instances.size(), 2);
@@ -113,7 +113,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(404).build()
-      ).getInstanceApiForZone("RegionOne");
+      ).getInstanceApi("RegionOne");
 
       Set<? extends Instance> instances = api.list().toSet();
       assertTrue(instances.isEmpty());
@@ -126,7 +126,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(200).payload(payloadFromResource("/instance_get.json")).build()
-      ).getInstanceApiForZone("RegionOne");
+      ).getInstanceApi("RegionOne");
 
       Instance instance = api.get("44b277eb-39be-4921-be31-3d61b43651d7");
       assertEquals(instance.getName(), "json_rack_instance");
@@ -142,7 +142,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(404).build()
-      ).getInstanceApiForZone("RegionOne");
+      ).getInstanceApi("RegionOne");
 
       assertNull(api.get("12312"));
    }  
@@ -154,7 +154,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
              responseWithKeystoneAccess,
              authenticatedGET().method("POST").endpoint(endpoint).build(),
              HttpResponse.builder().statusCode(200).payload(payloadFromResource("/instance_root.json")).build()
-       ).getInstanceApiForZone("RegionOne");
+       ).getInstanceApi("RegionOne");
 
        String password = api.enableRoot("44b277eb-39be-4921-be31-3d61b43651d7");
        assertEquals(password, "12345");
@@ -167,7 +167,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
              responseWithKeystoneAccess,
              authenticatedGET().method("POST").endpoint(endpoint).build(),
              HttpResponse.builder().statusCode(404).payload(payloadFromResource("/instance_root.json")).build()
-       ).getInstanceApiForZone("RegionOne");
+       ).getInstanceApi("RegionOne");
 
        String password = api.enableRoot("44b277eb-39be-4921-be31-3d61b43651d7");
        assertEquals(password, null);
@@ -180,7 +180,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
              responseWithKeystoneAccess,
              authenticatedGET().endpoint(endpoint).build(),
              HttpResponse.builder().statusCode(200).payload(payloadFromResource("/instance_is_rooted.json")).build()
-       ).getInstanceApiForZone("RegionOne");
+       ).getInstanceApi("RegionOne");
 
        boolean rooted = api.isRooted("44b277eb-39be-4921-be31-3d61b43651d7");
        assertEquals(rooted, true);
@@ -193,7 +193,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
              responseWithKeystoneAccess,
              authenticatedGET().endpoint(endpoint).build(),
              HttpResponse.builder().statusCode(200).payload(payloadFromResource("/instance_is_rooted_false.json")).build()
-       ).getInstanceApiForZone("RegionOne");
+       ).getInstanceApi("RegionOne");
 
        Boolean rooted = api.isRooted("44b277eb-39be-4921-be31-3d61b43651d7");
        assertEquals(rooted.booleanValue(), false);
@@ -207,7 +207,7 @@ public class InstanceApiExpectTest extends BaseTroveApiExpectTest {
              responseWithKeystoneAccess,
              authenticatedGET().endpoint(endpoint).build(),
              HttpResponse.builder().statusCode(404).payload(payloadFromResource("/instance_is_rooted.json")).build()
-       ).getInstanceApiForZone("RegionOne");
+       ).getInstanceApi("RegionOne");
 
        Boolean rooted = api.isRooted("44b277eb-39be-4921-be31-3d61b43651d7");
        assertNull(rooted);

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/InstanceApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/InstanceApiLiveTest.java b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/InstanceApiLiveTest.java
index 0078076..e31393d 100644
--- a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/InstanceApiLiveTest.java
+++ b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/InstanceApiLiveTest.java
@@ -42,29 +42,29 @@ import com.google.common.collect.Maps;
 public class InstanceApiLiveTest extends BaseTroveApiLiveTest {
 
     private static Map<String, List<Instance>> created = Maps.newHashMap();
-    
+
     @Override
     @BeforeClass(groups = { "integration", "live" })
     public void setup() {
         super.setup();
         TroveUtils utils = new TroveUtils(api);
-        for (String zone : api.getConfiguredZones()) {
-            List<Instance> zoneList = Lists.newArrayList();
-            InstanceApi instanceApi = api.getInstanceApiForZone(zone);
-            zoneList.add(utils.getWorkingInstance(zone, "first_instance_testing_" + zone, "1", 1));
-            Instance second = utils.getWorkingInstance(zone, "second_instance_testing_" + zone, "1", 1);
+        for (String region : api.getConfiguredRegions()) {
+            List<Instance> regionList = Lists.newArrayList();
+            InstanceApi instanceApi = api.getInstanceApi(region);
+            regionList.add(utils.getWorkingInstance(region, "first_instance_testing_" + region, "1", 1));
+            Instance second = utils.getWorkingInstance(region, "second_instance_testing_" + region, "1", 1);
             instanceApi.enableRoot(second.getId());
-            zoneList.add(second);            
-            created.put(zone, zoneList);
+            regionList.add(second);
+            created.put(region, regionList);
         }
     }
-    
+
     @Override
     @AfterClass(groups = { "integration", "live" })
     public void tearDown(){
-        for (String zone : api.getConfiguredZones()) {
-            InstanceApi instanceApi = api.getInstanceApiForZone(zone);
-            for (Instance instance : created.get(zone)){
+        for (String region : api.getConfiguredRegions()) {
+            InstanceApi instanceApi = api.getInstanceApi(region);
+            for (Instance instance : created.get(region)){
                 if (!instanceApi.delete(instance.getId()))
                     throw new RuntimeException("Could not delete a database instance after tests!");
             }
@@ -79,20 +79,20 @@ public class InstanceApiLiveTest extends BaseTroveApiLiveTest {
 
     @Test
     public void testListInstances() {
-        for (String zone : api.getConfiguredZones()) {
-            InstanceApi instanceApi = api.getInstanceApiForZone(zone);
-            FluentIterable<Instance> response = instanceApi.list(); 
+        for (String region : api.getConfiguredRegions()) {
+            InstanceApi instanceApi = api.getInstanceApi(region);
+            FluentIterable<Instance> response = instanceApi.list();
             assertFalse(response.isEmpty());
             for (Instance instance : response) {
                 checkInstance(instance);
-            }  
-        }   
-    }    
+            }
+        }
+    }
 
     @Test
     public void testGetInstance() {
-        for (String zone : api.getConfiguredZones()) {
-            InstanceApi instanceApi = api.getInstanceApiForZone(zone);           
+        for (String region : api.getConfiguredRegions()) {
+            InstanceApi instanceApi = api.getInstanceApi(region);
             for (Instance instance : instanceApi.list()) {
                 Instance instanceFromGet = instanceApi.get(instance.getId());
                 assertNotNull(instanceFromGet.getHostname());
@@ -109,24 +109,24 @@ public class InstanceApiLiveTest extends BaseTroveApiLiveTest {
 
     @Test
     public void testGetInstanceWhenNotFound() {
-        for (String zone : api.getConfiguredZones()) {
-            InstanceApi instanceApi = api.getInstanceApiForZone(zone);
+        for (String region : api.getConfiguredRegions()) {
+            InstanceApi instanceApi = api.getInstanceApi(region);
             assertNull(instanceApi.get("9999"));
         }
-    }   
-    
+    }
+
     @Test
     public void testGetRootStatus() {
-        for (String zone : api.getConfiguredZones()) {
-            InstanceApi instanceApi = api.getInstanceApiForZone(zone);
+        for (String region : api.getConfiguredRegions()) {
+            InstanceApi instanceApi = api.getInstanceApi(region);
             Iterator<Instance> iterator = instanceApi.list().iterator();
             Instance first;
             Instance second;
             do {
-               first = iterator.next(); 
+               first = iterator.next();
             } while(!first.getName().contains("instance_testing"));
             do {
-               second = iterator.next(); 
+               second = iterator.next();
             } while(!second.getName().contains("instance_testing"));
             assertTrue(instanceApi.isRooted(first.getId()) || instanceApi.isRooted(second.getId()));
         }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/UserApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/UserApiExpectTest.java b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/UserApiExpectTest.java
index b31c70b..8db4348 100644
--- a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/UserApiExpectTest.java
+++ b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/UserApiExpectTest.java
@@ -53,7 +53,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/user_create_simple_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(202).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.create("dbuser1", "password", "databaseA");
       assertTrue(result);
@@ -69,7 +69,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/user_create_simple_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(404).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.create("dbuser1", "password", "databaseA");
       assertFalse(result);
@@ -85,7 +85,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/user_create_with_host_simple_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(202).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.create("dbuser1", "password", "192.168.64.64", "databaseA");
       assertTrue(result);
@@ -101,7 +101,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/user_create_with_host_simple_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(404).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.create("dbuser1", "password", "192.168.64.64", "databaseA");
       assertFalse(result);
@@ -117,7 +117,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/user_create_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(202).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       Set<String> databases1 = Sets.newHashSet();
       databases1.add( "databaseA" );      
@@ -149,7 +149,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/user_create_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(404).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       Set<String> databases1 = Sets.newHashSet();
       databases1.add( "databaseA" );
@@ -181,7 +181,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/user_grant_simple_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(202).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.grant("dbuser1", "databaseZ");
       assertTrue(result);
@@ -197,7 +197,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/user_grant_simple_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(404).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       boolean result = api.grant("dbuser1", "databaseZ");
       assertFalse(result);
@@ -213,7 +213,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/user_grant_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(202).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       List<String> databases = Lists.newArrayList();
       databases.add( "databaseC" );
@@ -233,7 +233,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .payload(payloadFromResourceWithContentType("/user_grant_request.json", MediaType.APPLICATION_JSON))
             .build(),
             HttpResponse.builder().statusCode(404).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       List<String> databases = Lists.newArrayList();
       databases.add( "databaseC" );
@@ -252,7 +252,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .method("DELETE")
             .build(),
             HttpResponse.builder().statusCode(202).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       Set<String> databases = Sets.newHashSet();
       databases.add( "database" );
@@ -270,7 +270,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .method("DELETE")
             .build(),
             HttpResponse.builder().statusCode(404).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       Set<String> databases = Sets.newHashSet();
       databases.add( "database" );
@@ -288,7 +288,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .method("DELETE")
             .build(),
             HttpResponse.builder().statusCode(202).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       Set<String> databases = Sets.newHashSet();
       databases.add( "database" );
@@ -306,7 +306,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             .method("DELETE")
             .build(),
             HttpResponse.builder().statusCode(404).build() // response
-            ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+            ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       Set<String> databases = Sets.newHashSet();
       databases.add( "database" );
@@ -322,7 +322,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(200).payload(payloadFromResource("/trove_user_list.json")).build()
-      ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+      ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       Set<User> users = api.list().toSet();
       assertEquals(users.size(), 4);
@@ -337,7 +337,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(404).payload(payloadFromResource("/trove_user_list.json")).build()
-      ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+      ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       Set<User> users = api.list().toSet();
       assertTrue(users.isEmpty());
@@ -350,7 +350,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(200).payload(payloadFromResource("/user_list_access.json")).build()
-      ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+      ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       List<String> databases = api.getDatabaseList("dbuser1").toList();
       assertEquals(databases.size(), 2);
@@ -364,7 +364,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(404).payload(payloadFromResource("/user_list_access.json")).build()
-      ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+      ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       Set<String> databases = api.getDatabaseList("dbuser1").toSet();
       assertTrue(databases.isEmpty());
@@ -377,7 +377,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(200).payload(payloadFromResource("/user_get.json")).build()
-      ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+      ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       User user = api.get("exampleuser");
       assertEquals(user.getName(), "exampleuser");
@@ -393,7 +393,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(404).payload(payloadFromResource("/user_get.json")).build()
-      ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+      ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       User user = api.get("exampleuser");
       assertNull(user);
@@ -406,7 +406,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(200).payload(payloadFromResource("/user_get_withhost.json")).build()
-      ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+      ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       User user = api.get("example.user", "192.168.64.64");
       assertEquals(user.getName(), "example.user");
@@ -423,7 +423,7 @@ public class UserApiExpectTest extends BaseTroveApiExpectTest {
             responseWithKeystoneAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(404).payload(payloadFromResource("/user_get_withhost.json")).build()
-      ).getUserApiForZoneAndInstance("RegionOne", "instanceId-1234-5678");
+      ).getUserApi("RegionOne", "instanceId-1234-5678");
 
       User user = api.get("example.user", "192.168.64.64");
       assertNull(user);

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/UserApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/UserApiLiveTest.java b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/UserApiLiveTest.java
index 4731ff7..cf485b9 100644
--- a/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/UserApiLiveTest.java
+++ b/apis/openstack-trove/src/test/java/org/jclouds/openstack/trove/v1/features/UserApiLiveTest.java
@@ -44,7 +44,7 @@ import com.google.common.collect.Maps;
 @Test(groups = "live", testName = "UserApiLiveTest")
 public class UserApiLiveTest extends BaseTroveApiLiveTest {
 
-   // zone to instance
+   // region to instance
    private static Map<String, List<Instance>> instancesToDelete = Maps.newHashMap();
    // not deleting users. they will be deleted when instances are deleted
 
@@ -53,36 +53,36 @@ public class UserApiLiveTest extends BaseTroveApiLiveTest {
    public void setup() {
       super.setup();
       TroveUtils utils = new TroveUtils(api);
-      for (String zone : api.getConfiguredZones()) {
+      for (String region : api.getConfiguredRegions()) {
          // create instances
          List<Instance> instanceList = Lists.newArrayList();
-         Instance first = utils.getWorkingInstance(zone, "first_user_trove_live_testing_" + zone, "1", 1);
-         Instance second = utils.getWorkingInstance(zone, "second_user_trove_live_testing_" + zone, "1", 1);
+         Instance first = utils.getWorkingInstance(region, "first_user_trove_live_testing_" + region, "1", 1);
+         Instance second = utils.getWorkingInstance(region, "second_user_trove_live_testing_" + region, "1", 1);
          instanceList.add(first);
          instanceList.add(second);
-         instancesToDelete.put(zone, instanceList);
+         instancesToDelete.put(region, instanceList);
          // create users
          User user1 = User.builder()
                .name("user1")
                .password(UUID.randomUUID().toString())
                .databases(ImmutableSet.of(
-                     "u1db1", 
+                     "u1db1",
                      "u1db2")).build();
          User user2 = User.builder()
                .name("user2")
                .password(UUID.randomUUID().toString())
                .databases(ImmutableSet.of(
-                     "u2db1", 
+                     "u2db1",
                      "u2db2")).build();
          User user3 = User.builder()
                .name("user3")
                .password(UUID.randomUUID().toString())
                .host("173.203.44.122")
                .databases(ImmutableSet.of(
-                     "u3db1", 
+                     "u3db1",
                      "u3db2")).build();
-         UserApi userApiFirst = api.getUserApiForZoneAndInstance(zone, first.getId());
-         UserApi userApiSecond = api.getUserApiForZoneAndInstance(zone, second.getId());
+         UserApi userApiFirst = api.getUserApi(region, first.getId());
+         UserApi userApiSecond = api.getUserApi(region, second.getId());
          userApiFirst.create(ImmutableSet.of(user1, user2));
          userApiSecond.create(ImmutableSet.of(user3));
       }
@@ -91,9 +91,9 @@ public class UserApiLiveTest extends BaseTroveApiLiveTest {
    @Override
    @AfterClass(groups = { "integration", "live" })
    public void tearDown(){
-      for (String zone : api.getConfiguredZones()) {
-         InstanceApi instanceApi = api.getInstanceApiForZone(zone);
-         for (Instance instance : instancesToDelete.get(zone)) {
+      for (String region : api.getConfiguredRegions()) {
+         InstanceApi instanceApi = api.getInstanceApi(region);
+         for (Instance instance : instancesToDelete.get(region)) {
             if (!instanceApi.delete(instance.getId()))
                throw new RuntimeException("Could not delete a database instance after tests!");
          }
@@ -109,28 +109,28 @@ public class UserApiLiveTest extends BaseTroveApiLiveTest {
 
    @Test
    public void testListUsers() {
-      for (String zone : api.getConfiguredZones()) {
-         InstanceApi instanceApi = api.getInstanceApiForZone(zone);
+      for (String region : api.getConfiguredRegions()) {
+         InstanceApi instanceApi = api.getInstanceApi(region);
          assertTrue(instanceApi.list().size() >= 2);
-         for (Instance instance : instancesToDelete.get(zone)) {
-            UserApi userApi = api.getUserApiForZoneAndInstance(zone, instance.getId());
+         for (Instance instance : instancesToDelete.get(region)) {
+            UserApi userApi = api.getUserApi(region, instance.getId());
             if (!instance.getName().contains("user_trove_live_testing"))
                continue;
             assertTrue(userApi.list().size() >= 1);
             for (User user : userApi.list()) {
-               checkUser(user);      
+               checkUser(user);
             }
-         }  
-      }   
-   }    
+         }
+      }
+   }
 
    @Test
    public void testGetUser() {
-      for (String zone : api.getConfiguredZones()) {
-         InstanceApi instanceApi = api.getInstanceApiForZone(zone);
+      for (String region : api.getConfiguredRegions()) {
+         InstanceApi instanceApi = api.getInstanceApi(region);
          assertTrue(instanceApi.list().size() >= 2);
-         for (Instance instance : instancesToDelete.get(zone)) {
-            UserApi userApi = api.getUserApiForZoneAndInstance(zone, instance.getId());
+         for (Instance instance : instancesToDelete.get(region)) {
+            UserApi userApi = api.getUserApi(region, instance.getId());
             if (!instance.getName().contains("user_trove_live_testing"))
                continue;
             assertTrue(userApi.list().size() >= 1);
@@ -142,41 +142,41 @@ public class UserApiLiveTest extends BaseTroveApiLiveTest {
                assertEquals(userFromGet.getDatabases(), user.getDatabases());
                assertEquals(userFromGet, user);
             }
-         }  
-      } 
+         }
+      }
    }
 
    @Test
    public void testGetDatabaseListForUser() {
-      for (String zone : api.getConfiguredZones()) {
-         InstanceApi instanceApi = api.getInstanceApiForZone(zone);
+      for (String region : api.getConfiguredRegions()) {
+         InstanceApi instanceApi = api.getInstanceApi(region);
          assertTrue(instanceApi.list().size() >= 2 );
-         for (Instance instance : instancesToDelete.get(zone)) {
-            UserApi userApi = api.getUserApiForZoneAndInstance(zone, instance.getId());
+         for (Instance instance : instancesToDelete.get(region)) {
+            UserApi userApi = api.getUserApi(region, instance.getId());
             if (!instance.getName().contains("user_trove_live_testing"))
                continue;
             assertTrue(userApi.list().size() >= 1);
             for (User user : userApi.list()) {
                assertFalse(userApi.getDatabaseList(user.getIdentifier()).isEmpty());
             }
-         }  
-      } 
+         }
+      }
    }
 
    @Test
    public void testGrantAndRevokeAcccessForUser() {
-      for (String zone : api.getConfiguredZones()) {
-         InstanceApi instanceApi = api.getInstanceApiForZone(zone);
+      for (String region : api.getConfiguredRegions()) {
+         InstanceApi instanceApi = api.getInstanceApi(region);
          assertTrue(instanceApi.list().size() >= 2);
-         for (Instance instance : instancesToDelete.get(zone)) {
-            UserApi userApi = api.getUserApiForZoneAndInstance(zone, instance.getId());
+         for (Instance instance : instancesToDelete.get(region)) {
+            UserApi userApi = api.getUserApi(region, instance.getId());
             if (!instance.getName().contains("user_trove_live_testing"))
                continue;
             assertTrue(userApi.list().size() >= 1);
             for (User user : userApi.list()) {
                userApi.grant(user.getIdentifier(), "dbA");
                userApi.grant(user.getIdentifier(), ImmutableList.of(
-                     "dbB", 
+                     "dbB",
                      "dbC"));
 
                Set<String> databases = userApi.getDatabaseList(user.getIdentifier()).toSet();
@@ -193,15 +193,15 @@ public class UserApiLiveTest extends BaseTroveApiLiveTest {
                assertFalse(databases.contains("dbB"));
                assertFalse(databases.contains("dbC"));
             }
-         }  
-      } 
+         }
+      }
    }
 
    @Test
    public void testGetUserWhenNotFound() {
-      for (String zone : api.getConfiguredZones()) {
-         String instanceId = instancesToDelete.get(zone).iterator().next().getId();
-         UserApi userApi = api.getUserApiForZoneAndInstance(zone, instanceId);
+      for (String region : api.getConfiguredRegions()) {
+         String instanceId = instancesToDelete.get(region).iterator().next().getId();
+         UserApi userApi = api.getUserApi(region, instanceId);
          assertNull(userApi.get("9999"));
       }
    }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/rackspace-clouddns/src/main/java/org/jclouds/rackspace/clouddns/v1/CloudDNSApi.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-clouddns/src/main/java/org/jclouds/rackspace/clouddns/v1/CloudDNSApi.java b/apis/rackspace-clouddns/src/main/java/org/jclouds/rackspace/clouddns/v1/CloudDNSApi.java
index be38d53..2b3bc55 100644
--- a/apis/rackspace-clouddns/src/main/java/org/jclouds/rackspace/clouddns/v1/CloudDNSApi.java
+++ b/apis/rackspace-clouddns/src/main/java/org/jclouds/rackspace/clouddns/v1/CloudDNSApi.java
@@ -54,11 +54,11 @@ public interface CloudDNSApi extends Closeable {
    /**
     * Returns the current status of a job.
     * </p>
-    * Operations that create, update, or delete resources may take some time to process. Therefore they return 
-    * a Job containing information, which allows the status and response information of the job to be 
+    * Operations that create, update, or delete resources may take some time to process. Therefore they return
+    * a Job containing information, which allows the status and response information of the job to be
     * retrieved at a later point in time.
     * </p>
-    * You likely won't need to use this method directly. Use {@link JobPredicates#awaitComplete(CloudDNSApi, Job)}. 
+    * You likely won't need to use this method directly. Use {@link JobPredicates#awaitComplete(CloudDNSApi, Job)}.
     *
     * @return null, if not found.
     */
@@ -91,11 +91,29 @@ public interface CloudDNSApi extends Closeable {
     */
    @Delegate
    @Path("/domains/{domainId}")
+   RecordApi getRecordApi(@PathParam("domainId") int domainId);
+
+   /**
+    * Provides access to Reverse DNS features.
+    */
+   @Delegate
+   ReverseDNSApi getReverseDNSApi(@PayloadParam("serviceName") @PathParam("serviceName") String serviceName);
+
+   /**
+    * Provides access to Record features.
+    * @deprecated Please use {@link #getRecordApi(int)} as this method will be removed in jclouds 3.0.
+    */
+   @Deprecated
+   @Delegate
+   @Path("/domains/{domainId}")
    RecordApi getRecordApiForDomain(@PathParam("domainId") int domainId);
 
    /**
     * Provides access to Reverse DNS features.
+    * @deprecated Please use {@link #getReverseDNSApi(String)} as this method will be removed in jclouds 3.0.
     */
+   @Deprecated
    @Delegate
    ReverseDNSApi getReverseDNSApiForService(@PayloadParam("serviceName") @PathParam("serviceName") String serviceName);
+
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/rackspace-clouddns/src/main/java/org/jclouds/rackspace/clouddns/v1/functions/RecordsToPagedIterable.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-clouddns/src/main/java/org/jclouds/rackspace/clouddns/v1/functions/RecordsToPagedIterable.java b/apis/rackspace-clouddns/src/main/java/org/jclouds/rackspace/clouddns/v1/functions/RecordsToPagedIterable.java
index dcdd069..fbe7edf 100644
--- a/apis/rackspace-clouddns/src/main/java/org/jclouds/rackspace/clouddns/v1/functions/RecordsToPagedIterable.java
+++ b/apis/rackspace-clouddns/src/main/java/org/jclouds/rackspace/clouddns/v1/functions/RecordsToPagedIterable.java
@@ -45,7 +45,7 @@ public class RecordsToPagedIterable extends Arg0ToPagedIterable.FromCaller<Recor
    @Override
    protected Function<Object, IterableWithMarker<RecordDetail>> markerToNextForArg0(Optional<Object> arg0) {
       int domainId = Integer.class.cast(arg0.get());
-      return new ListRecordsAtMarker(api.getRecordApiForDomain(domainId));
+      return new ListRecordsAtMarker(api.getRecordApi(domainId));
    }
 
    private static class ListRecordsAtMarker implements Function<Object, IterableWithMarker<RecordDetail>> {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/RecordApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/RecordApiExpectTest.java b/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/RecordApiExpectTest.java
index 46c7d30..067e01d 100644
--- a/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/RecordApiExpectTest.java
+++ b/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/RecordApiExpectTest.java
@@ -58,7 +58,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
                .endpoint(endpoint)
                .build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-create-response.json")).build())
-            .getRecordApiForDomain(3650908);
+            .getRecordApi(3650908);
 
       Record createMXRecord = Record.builder()
             .type("MX")
@@ -118,7 +118,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
             responseWithAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-list.json")).build())
-            .getRecordApiForDomain(3650908);
+            .getRecordApi(3650908);
 
       ImmutableList<RecordDetail> records = api.list().concat().toList();
       assertEquals(records.size(), 4); // 2 created above + 2 nameserver (NS) records
@@ -138,7 +138,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-list-page1.json")).build(),
             authenticatedGET().endpoint(endpointPage2).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-list-page2.json")).build())
-         .getRecordApiForDomain(3650908);
+         .getRecordApi(3650908);
 
       ImmutableList<RecordDetail> records = api.list().concat().toList();
       assertEquals(records.size(), 8);
@@ -155,7 +155,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
             responseWithAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-list-with-filter.json")).build())
-            .getRecordApiForDomain(3650908);
+            .getRecordApi(3650908);
 
       ImmutableList<RecordDetail> records = api.listByType("A").concat().toList();
       Date now = new Date();
@@ -177,7 +177,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
             responseWithAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-list-with-filter.json")).build())
-            .getRecordApiForDomain(3650908);
+            .getRecordApi(3650908);
 
       ImmutableList<RecordDetail> records = api.listByTypeAndData("A", "10.0.1.0").concat().toList();
       Date now = new Date();
@@ -199,7 +199,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
             responseWithAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-list-with-filter.json")).build())
-            .getRecordApiForDomain(3650908);
+            .getRecordApi(3650908);
 
       ImmutableList<RecordDetail> records = api.listByNameAndType(JCLOUDS_EXAMPLE, "A").concat().toList();
       Date now = new Date();
@@ -221,7 +221,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
             responseWithAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-list-with-filter.json")).build())
-            .getRecordApiForDomain(3650908);
+            .getRecordApi(3650908);
 
       RecordDetail record = api.getByNameAndTypeAndData(JCLOUDS_EXAMPLE, "A", "10.0.1.0");
       Date now = new Date();
@@ -242,7 +242,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
             responseWithAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-get.json")).build())
-            .getRecordApiForDomain(3650908);
+            .getRecordApi(3650908);
 
       RecordDetail record = api.get("A-9846146");
       Date now = new Date();
@@ -267,7 +267,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
                .endpoint(endpoint)
                .build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-update-response.json")).build())
-            .getRecordApiForDomain(3650908);
+            .getRecordApi(3650908);
 
       Record record = Record.builder()
             .name("_sip._udp." + JCLOUDS_EXAMPLE)
@@ -293,7 +293,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
                .endpoint(endpoint)
                .build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/records-update-response.json")).build())
-            .getRecordApiForDomain(3650908);
+            .getRecordApi(3650908);
 
       Record updateARecord = Record.builder()
             .comment("Multi-record Update")
@@ -319,7 +319,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
             responseWithAccess,
             authenticatedGET().method("DELETE").replaceHeader("Accept", MediaType.WILDCARD).endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-delete.json")).build())
-            .getRecordApiForDomain(3650908);
+            .getRecordApi(3650908);
 
       Job<?> job = api.delete("A-9846146");
 
@@ -333,7 +333,7 @@ public class RecordApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSApi>
             responseWithAccess,
             authenticatedGET().method("DELETE").replaceHeader("Accept", MediaType.WILDCARD).endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/records-delete.json")).build())
-            .getRecordApiForDomain(3650908);
+            .getRecordApi(3650908);
 
       List<String> recordIds = ImmutableList.<String> of("A-9846146", "MX-9846146");      
       Job<?> job = api.delete(recordIds);

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/RecordApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/RecordApiLiveTest.java b/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/RecordApiLiveTest.java
index 8a0b95b..dbeb1d4 100644
--- a/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/RecordApiLiveTest.java
+++ b/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/RecordApiLiveTest.java
@@ -96,7 +96,7 @@ public class RecordApiLiveTest extends BaseCloudDNSApiLiveTest {
             .build();
 
       List<Record> createRecords = ImmutableList.of(createMXRecord, createARecord, createSRVRecord);
-      Set<RecordDetail> records = awaitComplete(api, api.getRecordApiForDomain(domainId).create(createRecords));
+      Set<RecordDetail> records = awaitComplete(api, api.getRecordApi(domainId).create(createRecords));
 
       Thread.sleep(1000);
       Date now = new Date();
@@ -145,23 +145,23 @@ public class RecordApiLiveTest extends BaseCloudDNSApiLiveTest {
 
    @Test(dependsOnMethods = "testCreateRecords")
    public void testListRecords() throws Exception {
-      Set<RecordDetail> records = api.getRecordApiForDomain(domainId).list().concat().toSet();
+      Set<RecordDetail> records = api.getRecordApi(domainId).list().concat().toSet();
       assertEquals(records.size(), 5); // 3 created above + 2 nameserver (NS) records
    }
 
    @Test(dependsOnMethods = "testListRecords")
    public void testListRecordsByCriteriaMethods() throws Exception {
-      List<RecordDetail> records = api.getRecordApiForDomain(domainId).listByType("SRV").concat().toList();
+      List<RecordDetail> records = api.getRecordApi(domainId).listByType("SRV").concat().toList();
       assertEquals(records.size(), 1);
       
       srvRecordId = records.get(0).getId();
 
-      records = api.getRecordApiForDomain(domainId).listByTypeAndData("A", "10.0.0.1").concat().toList();
+      records = api.getRecordApi(domainId).listByTypeAndData("A", "10.0.0.1").concat().toList();
       assertEquals(records.size(), 1);
       
       aRecordId = records.get(0).getId();
 
-      records = api.getRecordApiForDomain(domainId).listByNameAndType(JCLOUDS_EXAMPLE, "MX").concat().toList();
+      records = api.getRecordApi(domainId).listByNameAndType(JCLOUDS_EXAMPLE, "MX").concat().toList();
       assertEquals(records.size(), 1);
       
       mxRecordId = records.get(0).getId();
@@ -169,7 +169,7 @@ public class RecordApiLiveTest extends BaseCloudDNSApiLiveTest {
 
    @Test(dependsOnMethods = "testListRecordsByCriteriaMethods")
    public void testGetRecordByNameAndTypeAndData() throws Exception {
-      RecordDetail record = api.getRecordApiForDomain(domainId).getByNameAndTypeAndData(JCLOUDS_EXAMPLE, "A", "10.0.0.1");
+      RecordDetail record = api.getRecordApi(domainId).getByNameAndTypeAndData(JCLOUDS_EXAMPLE, "A", "10.0.0.1");
       Date now = new Date();
       
       assertNotNull(record.getId());
@@ -183,7 +183,7 @@ public class RecordApiLiveTest extends BaseCloudDNSApiLiveTest {
 
    @Test(dependsOnMethods = "testGetRecordByNameAndTypeAndData")
    public void testGetRecord() throws Exception {
-      RecordDetail record = api.getRecordApiForDomain(domainId).get(aRecordId);
+      RecordDetail record = api.getRecordApi(domainId).get(aRecordId);
       Date now = new Date();
       
       assertNotNull(record.getId());
@@ -205,9 +205,9 @@ public class RecordApiLiveTest extends BaseCloudDNSApiLiveTest {
             .comment("Updated Protocol to UDP")
             .build();
 
-      awaitComplete(api, api.getRecordApiForDomain(domainId).update(srvRecordId, record));
+      awaitComplete(api, api.getRecordApi(domainId).update(srvRecordId, record));
 
-      RecordDetail srvRecord = api.getRecordApiForDomain(domainId).get(srvRecordId);
+      RecordDetail srvRecord = api.getRecordApi(domainId).get(srvRecordId);
       Date now = new Date();
       
       assertNotNull(srvRecord.getId());
@@ -223,13 +223,13 @@ public class RecordApiLiveTest extends BaseCloudDNSApiLiveTest {
 
    @Test(dependsOnMethods = "testUpdateRecord")
    public void testUpdateRecords() throws Exception {      
-      Set<RecordDetail> recordDetails = api.getRecordApiForDomain(domainId).list().concat().toSet();
+      Set<RecordDetail> recordDetails = api.getRecordApi(domainId).list().concat().toSet();
       Map<String, Record> idsToRecords = RecordFunctions.toRecordMap(recordDetails);
       Map<String, Record> updateRecords = Maps.transformValues(idsToRecords, updateTTLAndComment(35813, "New TTL")); 
             
-      awaitComplete(api, api.getRecordApiForDomain(domainId).update(updateRecords));
+      awaitComplete(api, api.getRecordApi(domainId).update(updateRecords));
 
-      RecordDetail record = api.getRecordApiForDomain(domainId).get(aRecordId);
+      RecordDetail record = api.getRecordApi(domainId).get(aRecordId);
       Date now = new Date();
       
       assertNotNull(record.getId());
@@ -241,7 +241,7 @@ public class RecordApiLiveTest extends BaseCloudDNSApiLiveTest {
       assertTrue(record.getCreated().before(now));
       assertTrue(record.getUpdated().before(now));
       
-      recordDetails = api.getRecordApiForDomain(domainId).list().concat().toSet();
+      recordDetails = api.getRecordApi(domainId).list().concat().toSet();
       
       for (RecordDetail recordDetail : recordDetails) {
          assertEquals(recordDetail.getTTL(), 35813);
@@ -259,19 +259,19 @@ public class RecordApiLiveTest extends BaseCloudDNSApiLiveTest {
 
    @Test(dependsOnMethods = "testUpdateRecords")
    public void testDeleteRecord() throws Exception {      
-      awaitComplete(api, api.getRecordApiForDomain(domainId).delete(aRecordId));
+      awaitComplete(api, api.getRecordApi(domainId).delete(aRecordId));
       
-      assertNull(api.getRecordApiForDomain(domainId).get(aRecordId));
+      assertNull(api.getRecordApi(domainId).get(aRecordId));
    }
 
    @Test(dependsOnMethods = "testDeleteRecord")
    public void testDeleteRecords() throws Exception {      
       List<String> recordIds = ImmutableList.<String> of(srvRecordId, mxRecordId);
       
-      awaitComplete(api, api.getRecordApiForDomain(domainId).delete(recordIds));
+      awaitComplete(api, api.getRecordApi(domainId).delete(recordIds));
       
-      assertNull(api.getRecordApiForDomain(domainId).get(srvRecordId));
-      assertNull(api.getRecordApiForDomain(domainId).get(mxRecordId));
+      assertNull(api.getRecordApi(domainId).get(srvRecordId));
+      assertNull(api.getRecordApi(domainId).get(mxRecordId));
    }
 
    @Override

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/ReverseDNSApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/ReverseDNSApiExpectTest.java b/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/ReverseDNSApiExpectTest.java
index ae33a16..9014b98 100644
--- a/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/ReverseDNSApiExpectTest.java
+++ b/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/ReverseDNSApiExpectTest.java
@@ -62,7 +62,7 @@ public class ReverseDNSApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSA
                .endpoint(endpoint)
                .build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-ptr-create-response.json")).build())
-            .getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK);
+            .getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK);
 
       Record createPTRRecordIPv4 = Record.builder()
             .type("PTR")
@@ -125,7 +125,7 @@ public class ReverseDNSApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSA
             responseWithAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-ptr-list.json")).build())
-            .getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK);
+            .getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK);
 
       ImmutableList<RecordDetail> records = api.list(SERVER_URI).concat().toList();
       assertEquals(records.size(), 2);
@@ -143,7 +143,7 @@ public class ReverseDNSApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSA
             responseWithAccess,
             authenticatedGET().endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-ptr-get.json")).build())
-            .getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK);
+            .getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK);
 
       RecordDetail record = api.get(SERVER_URI, "PTR-557437");
       Date now = new Date();
@@ -170,7 +170,7 @@ public class ReverseDNSApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSA
                .endpoint(endpoint)
                .build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-ptr-update-response.json")).build())
-            .getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK);
+            .getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK);
 
       Record updatePTRRecordIPv4 = Record.builder()
             .type("PTR")
@@ -193,7 +193,7 @@ public class ReverseDNSApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSA
             responseWithAccess,
             authenticatedGET().method(DELETE).replaceHeader(HttpHeaders.ACCEPT, MediaType.WILDCARD).endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/record-ptr-delete.json")).build())
-            .getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK);
+            .getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK);
 
       Job<Void> job = api.delete(SERVER_URI, "166.78.146.80");
 
@@ -207,7 +207,7 @@ public class ReverseDNSApiExpectTest extends BaseCloudDNSApiExpectTest<CloudDNSA
             responseWithAccess,
             authenticatedGET().method(DELETE).replaceHeader("Accept", MediaType.WILDCARD).endpoint(endpoint).build(),
             HttpResponse.builder().statusCode(OK.getStatusCode()).payload(payloadFromResource("/records-ptr-delete.json")).build())
-            .getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK);
+            .getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK);
 
       Job<Void> job = api.deleteAll(SERVER_URI);
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/744cd5d7/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/ReverseDNSApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/ReverseDNSApiLiveTest.java b/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/ReverseDNSApiLiveTest.java
index 8d430ea..ee23db7 100644
--- a/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/ReverseDNSApiLiveTest.java
+++ b/apis/rackspace-clouddns/src/test/java/org/jclouds/rackspace/clouddns/v1/features/ReverseDNSApiLiveTest.java
@@ -87,11 +87,11 @@ public class ReverseDNSApiLiveTest extends BaseCloudDNSApiLiveTest {
       serverId = nodeMetadata.getId();
       serverURI = nodeMetadata.getUri();
 
-      ServerApi serverApi = nova.getServerApiForZone(nodeMetadata.getLocation().getParent().getId());
+      ServerApi serverApi = nova.getServerApi(nodeMetadata.getLocation().getParent().getId());
       Server server = serverApi.get(nodeMetadata.getProviderId());
       serverIPv4 = server.getAccessIPv4();
       serverIPv6 = server.getAccessIPv6();
-      
+
       System.out.println("serverURI = " + serverURI);
       System.out.println("serverIPv4 = " + serverIPv4);
       System.out.println("serverIPv6 = " + serverIPv6);
@@ -122,7 +122,7 @@ public class ReverseDNSApiLiveTest extends BaseCloudDNSApiLiveTest {
 
       List<Record> createRecords = ImmutableList.of(createPTRRecordIPv4, createPTRRecordIPv6);
       Set<RecordDetail> records = awaitComplete(api,
-            api.getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK).create(serverURI, createRecords));
+            api.getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK).create(serverURI, createRecords));
 
       Date now = new Date();
       RecordDetail ptrRecordIPv4 = null;
@@ -163,7 +163,7 @@ public class ReverseDNSApiLiveTest extends BaseCloudDNSApiLiveTest {
 
    @Test(dependsOnMethods = "testCreateReverseDNSRecords")
    public void testListReverseDNSRecords() throws Exception {
-      Set<RecordDetail> records = api.getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK).list(serverURI).concat()
+      Set<RecordDetail> records = api.getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK).list(serverURI).concat()
             .toSet();
       assertEquals(records.size(), 2);
    }
@@ -175,9 +175,9 @@ public class ReverseDNSApiLiveTest extends BaseCloudDNSApiLiveTest {
 
       Map<String, Record> idsToRecords = ImmutableMap.<String, Record> of(ptrRecordIPv4Id, updatePTRRecordIPv4);
 
-      awaitComplete(api, api.getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK).update(serverURI, idsToRecords));
+      awaitComplete(api, api.getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK).update(serverURI, idsToRecords));
 
-      RecordDetail record = api.getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK).get(serverURI, ptrRecordIPv4Id);
+      RecordDetail record = api.getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK).get(serverURI, ptrRecordIPv4Id);
       Date now = new Date();
 
       assertNotNull(record.getId());
@@ -193,16 +193,16 @@ public class ReverseDNSApiLiveTest extends BaseCloudDNSApiLiveTest {
 
    @Test(dependsOnMethods = "testUpdateAndGetReverseDNSRecords")
    public void testDeleteReverseDNSRecord() throws Exception {
-      awaitComplete(api, api.getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK).delete(serverURI, serverIPv4));
+      awaitComplete(api, api.getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK).delete(serverURI, serverIPv4));
 
-      assertNull(api.getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK).get(serverURI, ptrRecordIPv4Id));
+      assertNull(api.getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK).get(serverURI, ptrRecordIPv4Id));
    }
 
    @Test(dependsOnMethods = "testUpdateAndGetReverseDNSRecords")
    public void testDeleteReverseDNSRecords() throws Exception {
-      awaitComplete(api, api.getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK).deleteAll(serverURI));
+      awaitComplete(api, api.getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK).deleteAll(serverURI));
 
-      assertNull(api.getReverseDNSApiForService(CLOUD_SERVERS_OPEN_STACK).get(serverURI, ptrRecordIPv6Id));
+      assertNull(api.getReverseDNSApi(CLOUD_SERVERS_OPEN_STACK).get(serverURI, ptrRecordIPv6Id));
    }
 
    @Override