You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by an...@apache.org on 2014/10/03 16:27:23 UTC

[07/50] [abbrv] git commit: JCLOUDS-699: Properly deprecate OpenStack Nova zonescoped package

JCLOUDS-699: Properly deprecate OpenStack Nova zonescoped package


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/15d81667
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/15d81667
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/15d81667

Branch: refs/heads/fix-jclouds-538
Commit: 15d816670156677e8e99706b5e671e2c7e971462
Parents: 58438d7
Author: Jeremy Daggett <je...@rackspace.com>
Authored: Tue Sep 2 10:36:17 2014 -0700
Committer: Jeremy Daggett <jd...@apache.org>
Committed: Fri Sep 5 08:04:44 2014 -0700

----------------------------------------------------------------------
 apis/openstack-nova/pom.xml                     |   2 +-
 .../nova/v2_0/compute/NovaComputeService.java   |   3 +-
 .../config/NovaComputeServiceContextModule.java |  16 +--
 .../AllocateAndAddFloatingIpToNode.java         |   1 +
 .../functions/CreateSecurityGroupIfNeeded.java  |   2 +-
 ...ovaSecurityGroupInRegionToSecurityGroup.java |   1 -
 .../NovaSecurityGroupToSecurityGroup.java       |   5 +-
 .../SecurityGroupRuleToIpPermission.java        |   3 +-
 .../loaders/FindSecurityGroupOrCreate.java      |   3 +-
 ...desWithGroupEncodedIntoNameThenAddToSet.java |   2 +-
 .../domain/regionscoped/AvailabilityZone.java   |  69 -----------
 .../domain/regionscoped/FlavorInRegion.java     |  20 +++-
 .../v2_0/domain/regionscoped/ImageInRegion.java |  10 +-
 .../v2_0/domain/regionscoped/RegionAndId.java   |  21 ++--
 .../v2_0/domain/regionscoped/RegionAndName.java |  11 +-
 .../RegionSecurityGroupNameAndPorts.java        |  10 +-
 .../regionscoped/SecurityGroupInRegion.java     |  11 +-
 .../domain/regionscoped/ServerInRegion.java     |   9 +-
 .../v2_0/domain/regionscoped/ZoneState.java     |  57 ---------
 .../domain/zonescoped/AvailabilityZone.java     |  69 +++++++++++
 .../v2_0/domain/zonescoped/FlavorInRegion.java  |  49 ++++++++
 .../v2_0/domain/zonescoped/ImageInRegion.java   |  49 ++++++++
 .../v2_0/domain/zonescoped/RegionAndId.java     |  89 ++++++++++++++
 .../v2_0/domain/zonescoped/RegionAndName.java   | 115 +++++++++++++++++++
 .../RegionSecurityGroupNameAndPorts.java        |  65 +++++++++++
 .../zonescoped/SecurityGroupInRegion.java       |  49 ++++++++
 .../v2_0/domain/zonescoped/ServerInRegion.java  |  49 ++++++++
 .../nova/v2_0/domain/zonescoped/ZoneState.java  |  57 +++++++++
 .../v2_0/extensions/AvailabilityZoneApi.java    |   2 +-
 .../FindSecurityGroupWithNameAndReturnTrue.java |   2 +-
 .../NovaComputeServiceAdapterExpectTest.java    |   2 +-
 .../functions/OrphanedGroupsByRegionIdTest.java |   2 +-
 .../loaders/FindSecurityGroupOrCreateTest.java  |   2 +-
 .../AvailabilityZoneApiExpectTest.java          |   2 +-
 .../AvailabilityZonesApiLiveTest.java           |  10 +-
 35 files changed, 687 insertions(+), 182 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/pom.xml
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/pom.xml b/apis/openstack-nova/pom.xml
index 75a8095..1a3de0e 100644
--- a/apis/openstack-nova/pom.xml
+++ b/apis/openstack-nova/pom.xml
@@ -27,7 +27,7 @@
   </parent>
   <groupId>org.apache.jclouds.api</groupId>
   <artifactId>openstack-nova</artifactId>
-  <name>jclouds openstack-nova api</name>
+  <name>Apache jclouds :: OpenStack :: Nova API</name>
   <description>jclouds components to access an implementation of OpenStack Nova</description>
   <packaging>bundle</packaging>
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeService.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeService.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeService.java
index 6586395..c2161b9 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeService.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeService.java
@@ -15,6 +15,7 @@
  * limitations under the License.
  */
 package org.jclouds.openstack.nova.v2_0.compute;
+
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_RUNNING;
 import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_SUSPENDED;
@@ -61,8 +62,8 @@ import org.jclouds.openstack.nova.v2_0.NovaApi;
 import org.jclouds.openstack.nova.v2_0.compute.options.NovaTemplateOptions;
 import org.jclouds.openstack.nova.v2_0.domain.KeyPair;
 import org.jclouds.openstack.nova.v2_0.domain.SecurityGroup;
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndName;
+import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 import org.jclouds.openstack.nova.v2_0.extensions.KeyPairApi;
 import org.jclouds.openstack.nova.v2_0.extensions.SecurityGroupApi;
 import org.jclouds.openstack.nova.v2_0.predicates.SecurityGroupPredicates;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/config/NovaComputeServiceContextModule.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/config/NovaComputeServiceContextModule.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/config/NovaComputeServiceContextModule.java
index cabca59..029c374 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/config/NovaComputeServiceContextModule.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/config/NovaComputeServiceContextModule.java
@@ -71,11 +71,11 @@ import org.jclouds.openstack.nova.v2_0.domain.SecurityGroupRule;
 import org.jclouds.openstack.nova.v2_0.domain.Server;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.FlavorInRegion;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.ImageInRegion;
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.ServerInRegion;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndId;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndName;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionSecurityGroupNameAndPorts;
+import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
+import org.jclouds.openstack.nova.v2_0.domain.regionscoped.ServerInRegion;
 import org.jclouds.openstack.nova.v2_0.predicates.FindSecurityGroupWithNameAndReturnTrue;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -108,9 +108,9 @@ public class NovaComputeServiceContextModule extends
       super.configure();
       bind(new TypeLiteral<ComputeServiceAdapter<ServerInRegion, FlavorInRegion, ImageInRegion, Location>>() {
       }).to(NovaComputeServiceAdapter.class);
-     
+
       bind(ComputeService.class).to(NovaComputeService.class);
-      
+
       bind(new TypeLiteral<Function<ServerInRegion, NodeMetadata>>() {
       }).to(ServerInRegionToNodeMetadata.class);
 
@@ -154,7 +154,7 @@ public class NovaComputeServiceContextModule extends
 
       bind(new TypeLiteral<CacheLoader<RegionAndName, KeyPair>>() {
       }).to(CreateUniqueKeyPair.class);
-      
+
       bind(new TypeLiteral<ImageExtension>() {
       }).to(NovaImageExtension.class);
 
@@ -185,7 +185,7 @@ public class NovaComputeServiceContextModule extends
             CacheLoader<RegionAndName, SecurityGroupInRegion> in) {
       return CacheBuilder.newBuilder().build(in);
    }
-   
+
    @Override
    protected Map<OsFamily, LoginCredentials> osFamilyToCredentials(Injector injector) {
       return ImmutableMap.of(OsFamily.WINDOWS, LoginCredentials.builder().user("Administrator").build(),
@@ -264,7 +264,7 @@ public class NovaComputeServiceContextModule extends
    protected Map<Server.Status, NodeMetadata.Status> toPortableNodeStatus() {
       return toPortableNodeStatus;
    }
-   
+
    @VisibleForTesting
    public static final Map<org.jclouds.openstack.nova.v2_0.domain.Image.Status, Image.Status> toPortableImageStatus = ImmutableMap
             .<org.jclouds.openstack.nova.v2_0.domain.Image.Status, Image.Status> builder()
@@ -280,7 +280,7 @@ public class NovaComputeServiceContextModule extends
    protected Map<org.jclouds.openstack.nova.v2_0.domain.Image.Status, Image.Status> toPortableImageStatus() {
       return toPortableImageStatus;
    }
-   
+
    @Override
    protected Optional<ImageExtension> provideImageExtension(Injector i) {
       return Optional.of(i.getInstance(ImageExtension.class));

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNode.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNode.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNode.java
index 1de8fd8..12b6b91 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNode.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNode.java
@@ -15,6 +15,7 @@
  * limitations under the License.
  */
 package org.jclouds.openstack.nova.v2_0.compute.functions;
+
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_RUNNING;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/CreateSecurityGroupIfNeeded.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/CreateSecurityGroupIfNeeded.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/CreateSecurityGroupIfNeeded.java
index 4c2c8cc..4e9b11c 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/CreateSecurityGroupIfNeeded.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/CreateSecurityGroupIfNeeded.java
@@ -32,8 +32,8 @@ import org.jclouds.net.domain.IpProtocol;
 import org.jclouds.openstack.nova.v2_0.NovaApi;
 import org.jclouds.openstack.nova.v2_0.domain.Ingress;
 import org.jclouds.openstack.nova.v2_0.domain.SecurityGroup;
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionSecurityGroupNameAndPorts;
+import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 import org.jclouds.openstack.nova.v2_0.extensions.SecurityGroupApi;
 
 import com.google.common.base.Function;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupInRegionToSecurityGroup.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupInRegionToSecurityGroup.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupInRegionToSecurityGroup.java
index 08b4e2d..33b641e 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupInRegionToSecurityGroup.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupInRegionToSecurityGroup.java
@@ -36,7 +36,6 @@ import com.google.common.base.Function;
 import com.google.common.base.Supplier;
 import com.google.inject.Inject;
 
-
 /**
  * A function for transforming a Nova-specific SecurityGroup into a generic
  * SecurityGroup object.

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupToSecurityGroup.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupToSecurityGroup.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupToSecurityGroup.java
index 6bd2e64..bdb7ba6 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupToSecurityGroup.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupToSecurityGroup.java
@@ -32,7 +32,6 @@ import org.jclouds.openstack.nova.v2_0.domain.SecurityGroupRule;
 import com.google.common.base.Function;
 import com.google.inject.Inject;
 
-
 /**
  * A function for transforming a Nova-specific SecurityGroup into a generic
  * SecurityGroup object.
@@ -44,7 +43,7 @@ public class NovaSecurityGroupToSecurityGroup implements Function<org.jclouds.op
    protected Logger logger = Logger.NULL;
 
    protected Function<SecurityGroupRule, IpPermission> ruleToPermission;
-   
+
    @Inject
    public NovaSecurityGroupToSecurityGroup(Function<SecurityGroupRule, IpPermission> ruleToPermission) {
       this.ruleToPermission = ruleToPermission;
@@ -53,7 +52,7 @@ public class NovaSecurityGroupToSecurityGroup implements Function<org.jclouds.op
    @Override
    public SecurityGroup apply(org.jclouds.openstack.nova.v2_0.domain.SecurityGroup group) {
       SecurityGroupBuilder builder = new SecurityGroupBuilder();
-      
+
       builder.id(group.getId());
       builder.providerId(group.getId());
       builder.ownerId(group.getTenantId());

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/SecurityGroupRuleToIpPermission.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/SecurityGroupRuleToIpPermission.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/SecurityGroupRuleToIpPermission.java
index 4f80b7b..6dddcc8 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/SecurityGroupRuleToIpPermission.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/SecurityGroupRuleToIpPermission.java
@@ -32,8 +32,8 @@ import org.jclouds.domain.Location;
 import org.jclouds.logging.Logger;
 import org.jclouds.net.domain.IpPermission;
 import org.jclouds.openstack.nova.v2_0.domain.SecurityGroupRule;
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndName;
+import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 
 import com.google.common.base.Function;
 import com.google.common.base.Predicate;
@@ -41,7 +41,6 @@ import com.google.common.base.Supplier;
 import com.google.common.cache.LoadingCache;
 import com.google.common.util.concurrent.Atomics;
 
-
 /**
  * A function for transforming a nova-specific SecurityGroupRule into a generic
  * IpPermission object.

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/loaders/FindSecurityGroupOrCreate.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/loaders/FindSecurityGroupOrCreate.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/loaders/FindSecurityGroupOrCreate.java
index 23ee514..1a980e5 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/loaders/FindSecurityGroupOrCreate.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/loaders/FindSecurityGroupOrCreate.java
@@ -15,6 +15,7 @@
  * limitations under the License.
  */
 package org.jclouds.openstack.nova.v2_0.compute.loaders;
+
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 
@@ -23,9 +24,9 @@ import java.util.concurrent.atomic.AtomicReference;
 import javax.inject.Inject;
 import javax.inject.Named;
 
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndName;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionSecurityGroupNameAndPorts;
+import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 
 import com.google.common.base.Function;
 import com.google.common.base.Predicate;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/strategy/ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/strategy/ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/strategy/ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.java
index 9361999..8085c6c 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/strategy/ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/strategy/ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddToSet.java
@@ -45,9 +45,9 @@ import org.jclouds.openstack.nova.v2_0.compute.functions.AllocateAndAddFloatingI
 import org.jclouds.openstack.nova.v2_0.compute.options.NodeAndNovaTemplateOptions;
 import org.jclouds.openstack.nova.v2_0.compute.options.NovaTemplateOptions;
 import org.jclouds.openstack.nova.v2_0.domain.KeyPair;
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndName;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionSecurityGroupNameAndPorts;
+import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 
 import com.google.common.base.Function;
 import com.google.common.base.Throwables;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/AvailabilityZone.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/AvailabilityZone.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/AvailabilityZone.java
deleted file mode 100644
index e59e4dd..0000000
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/AvailabilityZone.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.openstack.nova.v2_0.domain.regionscoped;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Objects;
-import com.google.gson.annotations.SerializedName;
-
-import java.beans.ConstructorProperties;
-
-public class AvailabilityZone {
-
-   @SerializedName("zoneName")
-   private final String name;
-   private final ZoneState state;
-
-   @ConstructorProperties({"zoneName" , "zoneState"})
-   protected AvailabilityZone(String name, ZoneState state) {
-      this.name = name;
-      this.state = state;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public ZoneState getState() {
-      return state;
-   }
-
-   @Override
-   public int hashCode() {
-      return Objects.hashCode(name, state);
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this != obj) return false;
-      if (obj == null || getClass() != obj.getClass()) return false;
-      AvailabilityZone that = AvailabilityZone.class.cast(obj);
-      return Objects.equal(this.name, that.name) && Objects.equal(this.state, that.state);
-   }
-
-   protected MoreObjects.ToStringHelper string() {
-      return MoreObjects.toStringHelper(this)
-            .add("name", name)
-            .add("state", state);
-   }
-
-   @Override
-   public String toString() {
-      return string().toString();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/FlavorInRegion.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/FlavorInRegion.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/FlavorInRegion.java
index 5617673..ec69213 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/FlavorInRegion.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/FlavorInRegion.java
@@ -20,24 +20,32 @@ import static com.google.common.base.Preconditions.checkNotNull;
 
 import org.jclouds.openstack.nova.v2_0.domain.Flavor;
 
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
+
 public class FlavorInRegion extends RegionAndId {
-   protected final Flavor image;
+   protected final Flavor flavor;
 
-   public FlavorInRegion(Flavor image, String regionId) {
-      super(regionId, checkNotNull(image, "image").getId());
-      this.image = image;
+   public FlavorInRegion(Flavor flavor, String regionId) {
+      super(regionId, checkNotNull(flavor, "flavor").getId());
+      this.flavor = flavor;
    }
 
    public Flavor getFlavor() {
-      return image;
+      return flavor;
    }
 
    // superclass hashCode/equals are good enough, and help us use RegionAndId and FlavorInRegion
    // interchangeably as Map keys
 
    @Override
+   protected ToStringHelper string() {
+      return super.string().add("flavor", flavor);
+   }
+
+   @Override
    public String toString() {
-      return "[image=" + image + ", regionId=" + regionId + "]";
+      return string().toString();
    }
 
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ImageInRegion.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ImageInRegion.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ImageInRegion.java
index e1bf68e..bc58130 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ImageInRegion.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ImageInRegion.java
@@ -20,6 +20,9 @@ import static com.google.common.base.Preconditions.checkNotNull;
 
 import org.jclouds.openstack.nova.v2_0.domain.Image;
 
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
+
 public class ImageInRegion extends RegionAndId {
    protected final Image image;
 
@@ -36,8 +39,13 @@ public class ImageInRegion extends RegionAndId {
    // interchangeably as Map keys
 
    @Override
+   protected ToStringHelper string() {
+      return super.string().add("image", image);
+   }
+
+   @Override
    public String toString() {
-      return "[image=" + image + ", regionId=" + regionId + "]";
+      return string().toString();
    }
 
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionAndId.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionAndId.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionAndId.java
index b8602e2..dab5b69 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionAndId.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionAndId.java
@@ -19,11 +19,14 @@ package org.jclouds.openstack.nova.v2_0.domain.regionscoped;
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
 
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.base.Objects;
 import com.google.common.base.Splitter;
 import com.google.common.collect.Iterables;
 
 public class RegionAndId {
+
    public static RegionAndId fromSlashEncoded(String id) {
       Iterable<String> parts = Splitter.on('/').split(checkNotNull(id, "id"));
       checkArgument(Iterables.size(parts) == 2, "id must be in format regionId/id");
@@ -50,6 +53,14 @@ public class RegionAndId {
       this.id = checkNotNull(id, "id");
    }
 
+   public String getRegion() {
+      return regionId;
+   }
+
+   public String getId() {
+      return id;
+   }
+
    @Override
    public int hashCode() {
       return Objects.hashCode(regionId, id);
@@ -67,17 +78,13 @@ public class RegionAndId {
       return Objects.equal(regionId, other.regionId) && Objects.equal(id, other.id);
    }
 
-   public String getRegion() {
-      return regionId;
-   }
-
-   public String getId() {
-      return id;
+   protected ToStringHelper string() {
+      return MoreObjects.toStringHelper(this).add("regionId", regionId).add("id", id);
    }
 
    @Override
    public String toString() {
-      return "[regionId=" + regionId + ", id=" + id + "]";
+      return string().toString();
    }
 
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionAndName.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionAndName.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionAndName.java
index e91d1fa..13a666b 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionAndName.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionAndName.java
@@ -33,21 +33,17 @@ import com.google.common.collect.Iterables;
 public class RegionAndName {
 
    public static final Function<RegionAndName, String> NAME_FUNCTION = new Function<RegionAndName, String>() {
-
       @Override
       public String apply(RegionAndName input) {
          return input.getName();
       }
-
    };
 
    public static final Function<RegionAndName, String> REGION_FUNCTION = new Function<RegionAndName, String>() {
-
       @Override
       public String apply(RegionAndName input) {
          return input.getRegion();
       }
-
    };
 
    public static RegionAndName fromSlashEncoded(String name) {
@@ -99,12 +95,13 @@ public class RegionAndName {
       return Objects.hashCode(regionId, name);
    }
 
+   protected ToStringHelper string() {
+      return MoreObjects.toStringHelper(this).add("regionId", regionId).add("name", name);
+   }
+
    @Override
    public String toString() {
       return string().toString();
    }
 
-   protected ToStringHelper string() {
-      return MoreObjects.toStringHelper("").add("regionId", regionId).add("name", name);
-   }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionSecurityGroupNameAndPorts.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionSecurityGroupNameAndPorts.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionSecurityGroupNameAndPorts.java
index f7866e0..789b49c 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionSecurityGroupNameAndPorts.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/RegionSecurityGroupNameAndPorts.java
@@ -21,8 +21,8 @@ import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.util.Set;
 
-import com.google.common.base.Objects;
 import com.google.common.base.MoreObjects.ToStringHelper;
+import com.google.common.base.Objects;
 import com.google.common.collect.ImmutableSet;
 
 public class RegionSecurityGroupNameAndPorts extends RegionAndName {
@@ -53,7 +53,13 @@ public class RegionSecurityGroupNameAndPorts extends RegionAndName {
    }
 
    @Override
-   public ToStringHelper string() {
+   protected ToStringHelper string() {
       return super.string().add("ports", ports);
    }
+
+   @Override
+   public String toString() {
+      return string().toString();
+   }
+
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/SecurityGroupInRegion.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/SecurityGroupInRegion.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/SecurityGroupInRegion.java
index a3898af..5f33b68 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/SecurityGroupInRegion.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/SecurityGroupInRegion.java
@@ -20,6 +20,8 @@ import static com.google.common.base.Preconditions.checkNotNull;
 
 import org.jclouds.openstack.nova.v2_0.domain.SecurityGroup;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
+
 public class SecurityGroupInRegion extends RegionAndName {
    protected final SecurityGroup securityGroup;
 
@@ -32,12 +34,17 @@ public class SecurityGroupInRegion extends RegionAndName {
       return securityGroup;
    }
 
-   // superclass hashCode/equals are good enough, and help us use RegionAndName and ServerInRegion
+   // superclass hashCode/equals are good enough, and help us use RegionAndName and SecurityGroupInRegion
    // interchangeably as Map keys
 
    @Override
+   protected ToStringHelper string() {
+      return super.string().add("securityGroup", securityGroup);
+   }
+
+   @Override
    public String toString() {
-      return "[securityGroup=" + securityGroup + ", regionId=" + regionId + "]";
+      return string().toString();
    }
 
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ServerInRegion.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ServerInRegion.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ServerInRegion.java
index a5c1803..18c3071 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ServerInRegion.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ServerInRegion.java
@@ -20,6 +20,8 @@ import static com.google.common.base.Preconditions.checkNotNull;
 
 import org.jclouds.openstack.nova.v2_0.domain.Server;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
+
 public class ServerInRegion extends RegionAndId {
    protected final Server server;
 
@@ -36,8 +38,13 @@ public class ServerInRegion extends RegionAndId {
    // interchangeably as Map keys
 
    @Override
+   protected ToStringHelper string() {
+      return super.string().add("server", server);
+   }
+
+   @Override
    public String toString() {
-      return "[server=" + server + ", regionId=" + regionId + "]";
+      return string().toString();
    }
 
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ZoneState.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ZoneState.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ZoneState.java
deleted file mode 100644
index 814800a..0000000
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/regionscoped/ZoneState.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.openstack.nova.v2_0.domain.regionscoped;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Objects;
-
-public class ZoneState {
-
-   private final boolean available;
-
-   protected ZoneState(boolean available) {
-      this.available = available;
-   }
-
-   public boolean available() {
-      return this.available;
-   }
-
-   @Override
-   public int hashCode() {
-      return Objects.hashCode(available);
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this != obj) return false;
-      if (obj == null || getClass() != obj.getClass()) return false;
-      ZoneState that = ZoneState.class.cast(obj);
-      return Objects.equal(this.available, that.available);
-   }
-
-   protected MoreObjects.ToStringHelper string() {
-      return MoreObjects.toStringHelper(this)
-            .add("available", available);
-   }
-
-   @Override
-   public String toString() {
-      return string().toString();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/AvailabilityZone.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/AvailabilityZone.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/AvailabilityZone.java
new file mode 100644
index 0000000..a963dcd
--- /dev/null
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/AvailabilityZone.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.openstack.nova.v2_0.domain.zonescoped;
+
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Objects;
+import com.google.gson.annotations.SerializedName;
+
+import java.beans.ConstructorProperties;
+
+public class AvailabilityZone {
+
+   @SerializedName("zoneName")
+   private final String name;
+   private final ZoneState state;
+
+   @ConstructorProperties({"zoneName" , "zoneState"})
+   protected AvailabilityZone(String name, ZoneState state) {
+      this.name = name;
+      this.state = state;
+   }
+
+   public String getName() {
+      return name;
+   }
+
+   public ZoneState getState() {
+      return state;
+   }
+
+   @Override
+   public int hashCode() {
+      return Objects.hashCode(name, state);
+   }
+
+   @Override
+   public boolean equals(Object obj) {
+      if (this != obj) return false;
+      if (obj == null || getClass() != obj.getClass()) return false;
+      AvailabilityZone that = AvailabilityZone.class.cast(obj);
+      return Objects.equal(this.name, that.name) && Objects.equal(this.state, that.state);
+   }
+
+   protected MoreObjects.ToStringHelper string() {
+      return MoreObjects.toStringHelper(this)
+            .add("name", name)
+            .add("state", state);
+   }
+
+   @Override
+   public String toString() {
+      return string().toString();
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/FlavorInRegion.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/FlavorInRegion.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/FlavorInRegion.java
new file mode 100644
index 0000000..b547f96
--- /dev/null
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/FlavorInRegion.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.openstack.nova.v2_0.domain.zonescoped;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import org.jclouds.openstack.nova.v2_0.domain.Flavor;
+
+/**
+ * @deprecated This package has been replaced with {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped}.
+ *             Please use {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped.FlavorInRegion FlavorInRegion},
+ *             as this class will be removed in jclouds 2.1.0.
+ */
+@Deprecated
+public class FlavorInRegion extends RegionAndId {
+   protected final Flavor flavor;
+
+   public FlavorInRegion(Flavor flavor, String regionId) {
+      super(regionId, checkNotNull(flavor, "image").getId());
+      this.flavor = flavor;
+   }
+
+   public Flavor getFlavor() {
+      return flavor;
+   }
+
+   // superclass hashCode/equals are good enough, and help us use RegionAndId and FlavorInRegion
+   // interchangeably as Map keys
+
+   @Override
+   public String toString() {
+      return "[flavor=" + flavor + ", regionId=" + regionId + "]";
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ImageInRegion.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ImageInRegion.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ImageInRegion.java
new file mode 100644
index 0000000..cf818ff
--- /dev/null
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ImageInRegion.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.openstack.nova.v2_0.domain.zonescoped;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import org.jclouds.openstack.nova.v2_0.domain.Image;
+
+/**
+ * @deprecated This package has been replaced with {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped}.
+ *             Please use {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped.ImageInRegion ImageInRegion},
+ *             as this class will be removed in jclouds 2.1.0.
+ */
+@Deprecated
+public class ImageInRegion extends RegionAndId {
+   protected final Image image;
+
+   public ImageInRegion(Image image, String regionId) {
+      super(regionId, checkNotNull(image, "image").getId());
+      this.image = image;
+   }
+
+   public Image getImage() {
+      return image;
+   }
+
+   // superclass hashCode/equals are good enough, and help us use RegionAndId and ImageInRegion
+   // interchangeably as Map keys
+
+   @Override
+   public String toString() {
+      return "[image=" + image + ", regionId=" + regionId + "]";
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionAndId.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionAndId.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionAndId.java
new file mode 100644
index 0000000..7d45bff
--- /dev/null
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionAndId.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.openstack.nova.v2_0.domain.zonescoped;
+
+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.common.base.Splitter;
+import com.google.common.collect.Iterables;
+
+/**
+ * @deprecated This package has been replaced with {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped}.
+ *             Please use {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndId RegionAndId},
+ *             as this class will be removed in jclouds 2.1.0.
+ */
+@Deprecated
+public class RegionAndId {
+   public static RegionAndId fromSlashEncoded(String id) {
+      Iterable<String> parts = Splitter.on('/').split(checkNotNull(id, "id"));
+      checkArgument(Iterables.size(parts) == 2, "id must be in format regionId/id");
+      return new RegionAndId(Iterables.get(parts, 0), Iterables.get(parts, 1));
+   }
+
+   public static RegionAndId fromRegionAndId(String regionId, String id) {
+      return new RegionAndId(regionId, id);
+   }
+
+   private static String slashEncodeRegionAndId(String regionId, String id) {
+      return checkNotNull(regionId, "regionId") + "/" + checkNotNull(id, "id");
+   }
+
+   public String slashEncode() {
+      return slashEncodeRegionAndId(regionId, id);
+   }
+
+   protected final String regionId;
+   protected final String id;
+
+   protected RegionAndId(String regionId, String id) {
+      this.regionId = checkNotNull(regionId, "regionId");
+      this.id = checkNotNull(id, "id");
+   }
+
+   @Override
+   public int hashCode() {
+      return Objects.hashCode(regionId, id);
+   }
+
+   @Override
+   public boolean equals(Object obj) {
+      if (this == obj)
+         return true;
+      if (obj == null)
+         return false;
+      if (getClass() != obj.getClass())
+         return false;
+      RegionAndId other = (RegionAndId) obj;
+      return Objects.equal(regionId, other.regionId) && Objects.equal(id, other.id);
+   }
+
+   public String getRegion() {
+      return regionId;
+   }
+
+   public String getId() {
+      return id;
+   }
+
+   @Override
+   public String toString() {
+      return "[regionId=" + regionId + ", id=" + id + "]";
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionAndName.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionAndName.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionAndName.java
new file mode 100644
index 0000000..c7d07e2
--- /dev/null
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionAndName.java
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.openstack.nova.v2_0.domain.zonescoped;
+
+import static com.google.common.base.Objects.equal;
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import com.google.common.base.Function;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
+import com.google.common.base.Objects;
+import com.google.common.base.Splitter;
+import com.google.common.collect.Iterables;
+
+/**
+ * Helpful when looking for resources by region and name
+ *
+ * @deprecated This package has been replaced with {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped}.
+ *             Please use {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndName RegionAndName},
+ *             as this class will be removed in jclouds 2.1.0.
+ */
+@Deprecated
+public class RegionAndName {
+
+   public static final Function<RegionAndName, String> NAME_FUNCTION = new Function<RegionAndName, String>() {
+
+      @Override
+      public String apply(RegionAndName input) {
+         return input.getName();
+      }
+
+   };
+
+   public static final Function<RegionAndName, String> REGION_FUNCTION = new Function<RegionAndName, String>() {
+
+      @Override
+      public String apply(RegionAndName input) {
+         return input.getRegion();
+      }
+
+   };
+
+   public static RegionAndName fromSlashEncoded(String name) {
+      Iterable<String> parts = Splitter.on('/').split(checkNotNull(name, "name"));
+      checkArgument(Iterables.size(parts) == 2, "name must be in format regionId/name");
+      return new RegionAndName(Iterables.get(parts, 0), Iterables.get(parts, 1));
+   }
+
+   public static RegionAndName fromRegionAndName(String regionId, String name) {
+      return new RegionAndName(regionId, name);
+   }
+
+   private static String slashEncodeRegionAndName(String regionId, String name) {
+      return checkNotNull(regionId, "regionId") + "/" + checkNotNull(name, "name");
+   }
+
+   public String slashEncode() {
+      return slashEncodeRegionAndName(regionId, name);
+   }
+
+   protected final String regionId;
+   protected final String name;
+
+   protected RegionAndName(String regionId, String name) {
+      this.regionId = checkNotNull(regionId, "regionId");
+      this.name = checkNotNull(name, "name");
+   }
+
+   public String getRegion() {
+      return regionId;
+   }
+
+   public String getName() {
+      return name;
+   }
+
+   @Override
+   public boolean equals(Object o) {
+      if (this == o)
+         return true;
+      if (o == null || getClass() != o.getClass())
+         return false;
+      RegionAndName that = RegionAndName.class.cast(o);
+      return equal(this.regionId, that.regionId) && equal(this.name, that.name);
+   }
+
+   @Override
+   public int hashCode() {
+      return Objects.hashCode(regionId, name);
+   }
+
+   @Override
+   public String toString() {
+      return string().toString();
+   }
+
+   protected ToStringHelper string() {
+      return MoreObjects.toStringHelper("").add("regionId", regionId).add("name", name);
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionSecurityGroupNameAndPorts.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionSecurityGroupNameAndPorts.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionSecurityGroupNameAndPorts.java
new file mode 100644
index 0000000..b464925
--- /dev/null
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/RegionSecurityGroupNameAndPorts.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.openstack.nova.v2_0.domain.zonescoped;
+
+import static com.google.common.base.Objects.equal;
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.util.Set;
+
+import com.google.common.base.Objects;
+import com.google.common.base.MoreObjects.ToStringHelper;
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * @deprecated This package has been replaced with {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped}.
+ *             Please use {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionSecurityGroupNameAndPorts RegionSecurityGroupNameAndPorts},
+ *             as this class will be removed in jclouds 2.1.0.
+ */
+@Deprecated
+public class RegionSecurityGroupNameAndPorts extends RegionAndName {
+   protected final Set<Integer> ports;
+
+   public RegionSecurityGroupNameAndPorts(String regionId, String name, Iterable<Integer> ports) {
+      super(regionId, name);
+      this.ports = ImmutableSet.<Integer> copyOf(checkNotNull(ports, "ports"));
+   }
+
+   public Set<Integer> getPorts() {
+      return ports;
+   }
+
+   @Override
+   public boolean equals(Object o) {
+      if (this == o)
+         return true;
+      if (o == null || getClass() != o.getClass())
+         return false;
+      RegionSecurityGroupNameAndPorts that = RegionSecurityGroupNameAndPorts.class.cast(o);
+      return super.equals(that) && equal(this.ports, that.ports);
+   }
+
+   @Override
+   public int hashCode() {
+      return Objects.hashCode(super.hashCode(), ports);
+   }
+
+   @Override
+   public ToStringHelper string() {
+      return super.string().add("ports", ports);
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/SecurityGroupInRegion.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/SecurityGroupInRegion.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/SecurityGroupInRegion.java
new file mode 100644
index 0000000..fb2793b
--- /dev/null
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/SecurityGroupInRegion.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.openstack.nova.v2_0.domain.zonescoped;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import org.jclouds.openstack.nova.v2_0.domain.SecurityGroup;
+
+/**
+ * @deprecated This package has been replaced with {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped}.
+ *             Please use {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion SecurityGroupInRegion},
+ *             as this class will be removed in jclouds 2.1.0.
+ */
+@Deprecated
+public class SecurityGroupInRegion extends RegionAndName {
+   protected final SecurityGroup securityGroup;
+
+   public SecurityGroupInRegion(SecurityGroup securityGroup, String regionId) {
+      super(regionId, checkNotNull(securityGroup, "securityGroup").getName());
+      this.securityGroup = securityGroup;
+   }
+
+   public SecurityGroup getSecurityGroup() {
+      return securityGroup;
+   }
+
+   // superclass hashCode/equals are good enough, and help us use RegionAndName and ServerInRegion
+   // interchangeably as Map keys
+
+   @Override
+   public String toString() {
+      return "[securityGroup=" + securityGroup + ", regionId=" + regionId + "]";
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ServerInRegion.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ServerInRegion.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ServerInRegion.java
new file mode 100644
index 0000000..9e7c405
--- /dev/null
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ServerInRegion.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.openstack.nova.v2_0.domain.zonescoped;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import org.jclouds.openstack.nova.v2_0.domain.Server;
+
+/**
+ * @deprecated This package has been replaced with {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped}.
+ *             Please use {@link org.jclouds.openstack.nova.v2_0.domain.regionscoped.ServerInRegion ServerInRegion},
+ *             as this class will be removed in jclouds 2.1.0.
+ */
+@Deprecated
+public class ServerInRegion extends RegionAndId {
+   protected final Server server;
+
+   public ServerInRegion(Server server, String regionId) {
+      super(regionId, checkNotNull(server, "server").getId());
+      this.server = server;
+   }
+
+   public Server getServer() {
+      return server;
+   }
+
+   // superclass hashCode/equals are good enough, and help us use RegionAndId and ServerInRegion
+   // interchangeably as Map keys
+
+   @Override
+   public String toString() {
+      return "[server=" + server + ", regionId=" + regionId + "]";
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneState.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneState.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneState.java
new file mode 100644
index 0000000..6beea92
--- /dev/null
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneState.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.openstack.nova.v2_0.domain.zonescoped;
+
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Objects;
+
+public class ZoneState {
+
+   private final boolean available;
+
+   protected ZoneState(boolean available) {
+      this.available = available;
+   }
+
+   public boolean available() {
+      return this.available;
+   }
+
+   @Override
+   public int hashCode() {
+      return Objects.hashCode(available);
+   }
+
+   @Override
+   public boolean equals(Object obj) {
+      if (this != obj) return false;
+      if (obj == null || getClass() != obj.getClass()) return false;
+      ZoneState that = ZoneState.class.cast(obj);
+      return Objects.equal(this.available, that.available);
+   }
+
+   protected MoreObjects.ToStringHelper string() {
+      return MoreObjects.toStringHelper(this)
+            .add("available", available);
+   }
+
+   @Override
+   public String toString() {
+      return string().toString();
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApi.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApi.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApi.java
index 7624e69..7b894fb 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApi.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApi.java
@@ -24,7 +24,7 @@ import javax.ws.rs.core.MediaType;
 
 import org.jclouds.Fallbacks.EmptyFluentIterableOnNotFoundOr404;
 import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.AvailabilityZone;
+import org.jclouds.openstack.nova.v2_0.domain.zonescoped.AvailabilityZone;
 import org.jclouds.openstack.v2_0.ServiceType;
 import org.jclouds.openstack.v2_0.services.Extension;
 import org.jclouds.rest.annotations.Fallback;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/predicates/FindSecurityGroupWithNameAndReturnTrue.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/predicates/FindSecurityGroupWithNameAndReturnTrue.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/predicates/FindSecurityGroupWithNameAndReturnTrue.java
index 578a484..b7b7f0d 100644
--- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/predicates/FindSecurityGroupWithNameAndReturnTrue.java
+++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/predicates/FindSecurityGroupWithNameAndReturnTrue.java
@@ -28,8 +28,8 @@ import javax.inject.Singleton;
 import org.jclouds.logging.Logger;
 import org.jclouds.openstack.nova.v2_0.NovaApi;
 import org.jclouds.openstack.nova.v2_0.domain.SecurityGroup;
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndName;
+import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 import org.jclouds.openstack.nova.v2_0.extensions.SecurityGroupApi;
 import org.jclouds.rest.ResourceNotFoundException;
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
index 35c5b39..5cb02a7 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
@@ -35,8 +35,8 @@ import org.jclouds.openstack.nova.v2_0.compute.options.NovaTemplateOptions;
 import org.jclouds.openstack.nova.v2_0.domain.KeyPair;
 import org.jclouds.openstack.nova.v2_0.domain.Network;
 import org.jclouds.openstack.nova.v2_0.domain.Server;
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.ServerInRegion;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndName;
+import org.jclouds.openstack.nova.v2_0.domain.regionscoped.ServerInRegion;
 import org.jclouds.openstack.nova.v2_0.internal.BaseNovaComputeServiceContextExpectTest;
 import org.testng.annotations.Test;
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/OrphanedGroupsByRegionIdTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/OrphanedGroupsByRegionIdTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/OrphanedGroupsByRegionIdTest.java
index 27b976d..0398fab 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/OrphanedGroupsByRegionIdTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/OrphanedGroupsByRegionIdTest.java
@@ -29,8 +29,8 @@ import org.jclouds.domain.Location;
 import org.jclouds.domain.LocationBuilder;
 import org.jclouds.domain.LocationScope;
 import org.jclouds.openstack.nova.v2_0.compute.config.NovaComputeServiceContextModule;
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.ServerInRegion;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndName;
+import org.jclouds.openstack.nova.v2_0.domain.regionscoped.ServerInRegion;
 import org.jclouds.openstack.nova.v2_0.parse.ParseServerTest;
 import org.testng.annotations.Test;
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/loaders/FindSecurityGroupOrCreateTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/loaders/FindSecurityGroupOrCreateTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/loaders/FindSecurityGroupOrCreateTest.java
index 83585bc..9e3182f 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/loaders/FindSecurityGroupOrCreateTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/loaders/FindSecurityGroupOrCreateTest.java
@@ -22,9 +22,9 @@ import static org.testng.Assert.fail;
 
 import java.util.concurrent.atomic.AtomicReference;
 
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionAndName;
 import org.jclouds.openstack.nova.v2_0.domain.regionscoped.RegionSecurityGroupNameAndPorts;
+import org.jclouds.openstack.nova.v2_0.domain.regionscoped.SecurityGroupInRegion;
 import org.testng.annotations.Test;
 
 import com.google.common.base.Function;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApiExpectTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApiExpectTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApiExpectTest.java
index fd60811..e2e31bd 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApiExpectTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApiExpectTest.java
@@ -23,7 +23,7 @@ import com.google.common.collect.ImmutableSet;
 import org.jclouds.http.HttpRequest;
 import org.jclouds.http.HttpResponse;
 import org.jclouds.openstack.nova.v2_0.NovaApi;
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.AvailabilityZone;
+import org.jclouds.openstack.nova.v2_0.domain.zonescoped.AvailabilityZone;
 import org.jclouds.openstack.nova.v2_0.internal.BaseNovaApiExpectTest;
 import org.testng.annotations.Test;
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/15d81667/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZonesApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZonesApiLiveTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZonesApiLiveTest.java
index 1c0a93b..25ff002 100644
--- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZonesApiLiveTest.java
+++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZonesApiLiveTest.java
@@ -16,15 +16,15 @@
  */
 package org.jclouds.openstack.nova.v2_0.extensions;
 
-import com.google.common.base.Optional;
-import com.google.common.collect.FluentIterable;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
 
-import org.jclouds.openstack.nova.v2_0.domain.regionscoped.AvailabilityZone;
+import org.jclouds.openstack.nova.v2_0.domain.zonescoped.AvailabilityZone;
 import org.jclouds.openstack.nova.v2_0.internal.BaseNovaApiLiveTest;
 import org.testng.annotations.Test;
 
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
+import com.google.common.base.Optional;
+import com.google.common.collect.FluentIterable;
 
 @Test(groups = "live", testName = "AvailabilityZonesApiLiveTest")
 public class AvailabilityZonesApiLiveTest extends BaseNovaApiLiveTest {