You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2018/01/17 08:11:30 UTC

[10/12] jclouds-labs-openstack git commit: OpenStack Neutron promoted to the main repo

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Router.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Router.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Router.java
deleted file mode 100644
index 7330c9b..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Router.java
+++ /dev/null
@@ -1,286 +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.neutron.v2.domain;
-
-import java.beans.ConstructorProperties;
-
-import javax.inject.Named;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Objects;
-
-/**
- * A Neutron Router
- *
- * @see <a
- *      href="http://docs.openstack.org/api/openstack-network/2.0/content/router_ext_concepts.html">api
- *      doc</a>
- */
-public class Router {
-
-   private String id;
-   private NetworkStatus status;
-
-   private String name;
-   @Named("tenant_id")
-   private String tenantId;
-   @Named("admin_state_up")
-   private Boolean adminStateUp;
-   @Named("external_gateway_info")
-   private ExternalGatewayInfo externalGatewayInfo;
-
-   /**
-    * @param id
-    * @param status
-    * @param name
-    * @param tenantId
-    * @param adminStateUp
-    * @param externalGatewayInfo
-    */
-   @ConstructorProperties({"id", "status", "name", "tenant_id", "admin_state_up", "external_gateway_info"})
-   private Router(String id, NetworkStatus status, String name, String tenantId, Boolean adminStateUp, ExternalGatewayInfo externalGatewayInfo) {
-      this.id = id;
-      this.status = status;
-      this.name = name;
-      this.tenantId = tenantId;
-      this.adminStateUp = adminStateUp;
-      this.externalGatewayInfo = externalGatewayInfo;
-   }
-
-   /**
-    * Default constructor.
-    */
-   private Router() {}
-
-   /**
-    * Copy constructor
-    * @param router
-    */
-   private Router(Router router) {
-      this(router.id, router.status, router.name, router.tenantId, router.adminStateUp, router.externalGatewayInfo);
-   }
-
-   /**
-    * @return the id of the Router
-    */
-   @Nullable
-   public String getId() {
-      return id;
-   }
-
-   /**
-    * @return the status of the Router
-    */
-   @Nullable
-   public NetworkStatus getStatus() {
-      return status;
-   }
-
-   /**
-    * @return the name of the Router
-    */
-   @Nullable
-   public String getName() {
-      return name;
-   }
-
-   /**
-    * @return the tenantId of the Router
-    */
-   @Nullable
-   public String getTenantId() {
-      return tenantId;
-   }
-
-   /**
-    * @return the adminStateUp of the Router
-    */
-   @Nullable
-   public Boolean getAdminStateUp() {
-      return adminStateUp;
-   }
-
-   /**
-    * @return the externalGatewayInfo of the Router
-    */
-   @Nullable
-   public ExternalGatewayInfo getExternalGatewayInfo() {
-      return externalGatewayInfo;
-   }
-
-   /**
-    * @return the Builder for creating a new Router
-    */
-   public static CreateBuilder createBuilder() {
-      return new CreateBuilder();
-   }
-
-   /**
-    * @return the Builder for updating a Router
-    */
-   public static UpdateBuilder updateBuilder() {
-      return new UpdateBuilder();
-   }
-
-   @Override
-   public boolean equals(Object o) {
-      if (this == o)
-         return true;
-      if (o == null || getClass() != o.getClass())
-         return false;
-
-      Router that = (Router) o;
-
-      return Objects.equal(this.id, that.id) &&
-            Objects.equal(this.status, that.status) &&
-            Objects.equal(this.name, that.name) &&
-            Objects.equal(this.tenantId, that.tenantId) &&
-            Objects.equal(this.adminStateUp, that.adminStateUp) &&
-            Objects.equal(this.externalGatewayInfo, that.externalGatewayInfo);
-   }
-
-   @Override
-   public int hashCode() {
-      return Objects.hashCode(id, status, name, tenantId, adminStateUp, externalGatewayInfo);
-   }
-
-   @Override
-   public String toString() {
-      return MoreObjects.toStringHelper(this)
-            .add("id", id)
-            .add("status", status)
-            .add("name", name)
-            .add("tenantId", tenantId)
-            .add("adminStateUp", adminStateUp)
-            .add("externalGatewayInfo", externalGatewayInfo)
-            .toString();
-   }
-
-   private abstract static class Builder<ParameterizedBuilderType> {
-      protected Router router;
-
-      /**
-       * No-parameters constructor used when updating.
-       * */
-      private Builder() {
-         router = new Router();
-      }
-
-      protected abstract ParameterizedBuilderType self();
-
-      /**
-       * Provide the name to the Router's Builder.
-       *
-       * @return the Builder.
-       * @see Router#getName()
-       */
-      public ParameterizedBuilderType name(String name) {
-         router.name = name;
-         return self();
-      }
-
-      /**
-       * Provide the tenantId to the Router's Builder.
-       *
-       * @return the Builder.
-       * @see Router#getTenantId()
-       */
-      public ParameterizedBuilderType tenantId(String tenantId) {
-         router.tenantId = tenantId;
-         return self();
-      }
-
-      /**
-       * Provide the adminStateUp to the Router's Builder.
-       *
-       * @return the Builder.
-       * @see Router#getAdminStateUp()
-       */
-      public ParameterizedBuilderType adminStateUp(Boolean adminStateUp) {
-         router.adminStateUp = adminStateUp;
-         return self();
-      }
-
-      /**
-       * Provide the externalGatewayInfo to the Router's Builder.
-       *
-       * @return the Builder.
-       * @see Router#getExternalGatewayInfo()
-       */
-      public ParameterizedBuilderType externalGatewayInfo(ExternalGatewayInfo externalGatewayInfo) {
-         router.externalGatewayInfo = externalGatewayInfo;
-         return self();
-      }
-   }
-
-   public static class CreateBuilder extends Builder<CreateBuilder> {
-      /**
-       * Supply required properties for creating a Builder
-       */
-      private CreateBuilder() {
-      }
-
-      /**
-       * @return a CreateRouter constructed with this Builder.
-       */
-      public CreateRouter build() {
-         return new CreateRouter(router);
-      }
-
-      protected CreateBuilder self() {
-         return this;
-      }
-   }
-
-   public static class UpdateBuilder extends Builder<UpdateBuilder> {
-      /**
-       * Supply required properties for updating a Builder
-       */
-      private UpdateBuilder() {
-      }
-
-      /**
-       * @return a UpdateRouter constructed with this Builder.
-       */
-      public UpdateRouter build() {
-         return new UpdateRouter(router);
-      }
-
-      protected UpdateBuilder self() {
-         return this;
-      }
-   }
-
-   public static class CreateRouter extends Router{
-      /**
-       * Copy constructor
-       */
-      private CreateRouter(Router router) {
-         super(router);
-      }
-   }
-   public static class UpdateRouter extends Router{
-      /**
-       * Copy constructor
-       */
-      private UpdateRouter(Router router) {
-         super(router);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RouterInterface.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RouterInterface.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RouterInterface.java
deleted file mode 100644
index 710c0bf..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RouterInterface.java
+++ /dev/null
@@ -1,142 +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.neutron.v2.domain;
-
-import java.beans.ConstructorProperties;
-
-import javax.inject.Named;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Objects;
-
-/**
- * A Neutron Router Interface
- *
- * @see <a
- *      href="http://docs.openstack.org/api/openstack-network/2.0/content/router_add_interface.html">api
- *      doc</a>
- */
-public class RouterInterface {
-
-   @Named("subnet_id")
-   protected final String subnetId;
-   @Named("port_id")
-   protected final String portId;
-
-   @ConstructorProperties({"subnet_id", "port_id"})
-   protected RouterInterface(String subnetId, String portId) {
-      this.subnetId = subnetId;
-      this.portId = portId;
-   }
-
-   /**
-    * @return the subnetId of the RouterInterface
-    */
-   @Nullable
-   public String getSubnetId() {
-      return subnetId;
-   }
-
-   /**
-    * @return the portId of the RouterInterface
-    */
-   @Nullable
-   public String getPortId() {
-      return portId;
-   }
-
-   @Override
-   public int hashCode() {
-      return Objects.hashCode(subnetId, portId);
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null || getClass() != obj.getClass())
-         return false;
-      RouterInterface that = RouterInterface.class.cast(obj);
-      return Objects.equal(this.subnetId, that.subnetId) && Objects.equal(this.portId, that.portId);
-   }
-
-   protected MoreObjects.ToStringHelper string() {
-      return MoreObjects.toStringHelper(this).add("subnetId", subnetId).add("portId", portId);
-   }
-
-   @Override
-   public String toString() {
-      return string().toString();
-   }
-
-   /**
-    * @return the Builder for RouterInterface
-    */
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   /**
-    * Gets a Builder configured as this object.
-    */
-   public Builder toBuilder() {
-      return new Builder().fromRouterInterface(this);
-   }
-
-   public static class Builder {
-      protected String subnetId;
-      protected String portId;
-
-      /**
-       * Provide the subnetId to the RouterInterface's Builder.
-       *
-       * @return the Builder.
-       * @see RouterInterface#getSubnetId()
-       */
-      public Builder subnetId(String subnetId) {
-         this.subnetId = subnetId;
-         return this;
-      }
-
-      /**
-       * Provide the portId to the RouterInterface's Builder.
-       *
-       * @return the Builder.
-       * @see RouterInterface#getPortId()
-       */
-      public Builder portId(String portId) {
-         this.portId = portId;
-         return this;
-      }
-
-      /**
-       * @return a RouterInterface constructed with this Builder.
-       */
-      public RouterInterface build() {
-         return new RouterInterface(subnetId, portId);
-      }
-
-      /**
-       * @return a Builder from another RouterInterface.
-       */
-      public Builder fromRouterInterface(RouterInterface in) {
-         return this.subnetId(in.getSubnetId()).portId(in.getPortId());
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Routers.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Routers.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Routers.java
deleted file mode 100644
index c02c382..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Routers.java
+++ /dev/null
@@ -1,36 +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.neutron.v2.domain;
-
-import java.beans.ConstructorProperties;
-
-import org.jclouds.openstack.v2_0.domain.Link;
-import org.jclouds.openstack.v2_0.domain.PaginatedCollection;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * A collection of Routers
- */
-public class Routers extends PaginatedCollection<Router> {
-   public static final Routers EMPTY = new Routers(ImmutableSet.<Router> of(), ImmutableSet.<Link> of());
-
-   @ConstructorProperties({"routers", "routers_links"})
-   protected Routers(Iterable<Router> routers, Iterable<Link> routersLinks) {
-      super(routers, routersLinks);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Rule.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Rule.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Rule.java
deleted file mode 100644
index ae4b913..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Rule.java
+++ /dev/null
@@ -1,379 +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.neutron.v2.domain;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.beans.ConstructorProperties;
-
-import javax.inject.Named;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Objects;
-
-/**
- * Contains a mapping between a MAC address and an IP address.
- */
-public class Rule {
-
-   private String id;
-   @Named("tenant_id")
-   private String tenantId;
-   private RuleDirection direction;
-   @Named("security_group_id")
-   private String securityGroupId;
-   private RuleEthertype ethertype;
-   @Named("port_range_min")
-   private Integer portRangeMin;
-   @Named("port_range_max")
-   private Integer portRangeMax;
-   private RuleProtocol protocol;
-   @Named("remote_group_id")
-   private String remoteGroupId;
-   @Named("remote_ip_prefix")
-   private String remoteIpPrefix;
-
-   @ConstructorProperties({"id", "tenant_id", "direction", "security_group_id", "ethertype", "port_range_min",
-         "port_range_max", "protocol", "remote_group_id", "remote_ip_prefix"})
-   protected Rule(String id, String tenantId, RuleDirection direction, String securityGroupId,
-         RuleEthertype ethertype, Integer portRangeMin, Integer portRangeMax,
-         RuleProtocol protocol, String remoteGroupId, String remoteIpPrefix) {
-      this.id = id;
-      this.tenantId = tenantId;
-      this.direction = direction;
-      this.securityGroupId = securityGroupId;
-      this.ethertype = ethertype;
-      this.portRangeMin = portRangeMin;
-      this.portRangeMax = portRangeMax;
-      this.protocol = protocol;
-      this.remoteGroupId = remoteGroupId;
-      this.remoteIpPrefix = remoteIpPrefix;
-   }
-
-   private Rule(Rule rule) {
-      this(rule.id,
-            rule.tenantId,
-            rule.direction,
-            rule.securityGroupId,
-            rule.ethertype,
-            rule.portRangeMin,
-            rule.portRangeMax,
-            rule.protocol,
-            rule.remoteGroupId,
-            rule.remoteIpPrefix
-      );
-   }
-
-   private Rule() {}
-
-   /**
-    * @return The identifier for this rule.
-    */
-   @Nullable
-   public String getId() {
-      return id;
-   }
-
-   /**
-    * @return The identifier of the tenant for this rule.
-    */
-   @Nullable
-   public String getTenantId() {
-      return tenantId;
-   }
-
-   /**
-    * @return The direction in which the security group rule is applied.
-    */
-   @Nullable
-   public RuleDirection getDirection() {
-      return direction;
-   }
-
-   /**
-    * @return The security group ID to associate with this security group rule.
-    */
-   @Nullable
-   public String getSecurityGroupId() {
-      return securityGroupId;
-   }
-
-   /**
-    * @return The internet protocol version type of this rule.
-    */
-   @Nullable
-   public RuleEthertype getEthertype() {
-      return ethertype;
-   }
-
-   /**
-    * @return The minimum port number in the range that is matched by the security group rule. If the protocol is TCP
-    * or UDP, this value must be less than or equal to the value of the port_range_max attribute. If the protocol is
-    * ICMP, this value must be an ICMP type.
-    */
-   @Nullable
-   public Integer getPortRangeMin() {
-      return portRangeMin;
-   }
-
-   /**
-    * @return The maximum port number in the range that is matched by the security group rule. The port_range_min
-    * attribute constrains the port_range_max attribute. If the protocol is ICMP, this value must be an ICMP type.
-    */
-   @Nullable
-   public Integer getPortRangeMax() {
-      return portRangeMax;
-   }
-
-   /**
-    * @return The protocol that is matched by the security group rule. Valid values are null, tcp, udp, and icmp.
-    */
-   @Nullable
-   public RuleProtocol getProtocol() {
-      return protocol;
-   }
-
-   /**
-    * @return The remote group ID to be associated with this security group rule.
-    */
-   @Nullable
-   public String getRemoteGroupId() {
-      return remoteGroupId;
-   }
-
-   /**
-    * @return The remote IP prefix to be associated with this security group rule. This attribute matches the specified
-    * IP prefix as the source IP address of the IP packet.
-    */
-   @Nullable
-   public String getRemoteIpPrefix() {
-      return remoteIpPrefix;
-   }
-
-   @Override
-   public boolean equals(Object o) {
-      if (this == o)
-         return true;
-      if (o == null || getClass() != o.getClass())
-         return false;
-
-      Rule that = (Rule) o;
-
-      return Objects.equal(this.id, that.id) &&
-            Objects.equal(this.tenantId, that.tenantId) &&
-            Objects.equal(this.direction, that.direction) &&
-            Objects.equal(this.securityGroupId, that.securityGroupId) &&
-            Objects.equal(this.ethertype, that.ethertype) &&
-            Objects.equal(this.portRangeMin, that.portRangeMin) &&
-            Objects.equal(this.portRangeMax, that.portRangeMax) &&
-            Objects.equal(this.protocol, that.protocol) &&
-            Objects.equal(this.remoteGroupId, that.remoteGroupId) &&
-            Objects.equal(this.remoteIpPrefix, that.remoteIpPrefix);
-   }
-
-   @Override
-   public int hashCode() {
-      return Objects.hashCode(id, tenantId, direction, securityGroupId, ethertype, portRangeMin,
-            portRangeMax, protocol, remoteGroupId, remoteIpPrefix);
-   }
-
-   @Override
-   public String toString() {
-      return MoreObjects.toStringHelper(this)
-            .add("id", id)
-            .add("tenantId", tenantId)
-            .add("direction", direction)
-            .add("securityGroupId", securityGroupId)
-            .add("ethertype", ethertype)
-            .add("portRangeMin", portRangeMin)
-            .add("portRangeMax", portRangeMax)
-            .add("protocol", protocol)
-            .add("remoteGroupId", remoteGroupId)
-            .add("remoteIpPrefix", remoteIpPrefix)
-            .toString();
-   }
-
-
-   /*
-    * Methods to get the Create and Update builders follow
-    */
-
-   /**
-    * @return the Builder for creating a new SecurityGroupRule
-    */
-   public static CreateBuilder createBuilder(RuleDirection direction, String securityGroupId) {
-      return new CreateBuilder(direction, securityGroupId);
-   }
-
-   public abstract static class Builder<ParameterizedBuilderType> {
-      // Keep track of the builder's state.
-      protected Rule rule;
-
-      private Builder() {
-         rule = new Rule();
-      }
-
-      protected abstract ParameterizedBuilderType self();
-
-      /**
-       * The tenant id for this rule. Usually can only be specified by administrators.
-       *
-       * @return the Builder.
-       * @see Rule#getTenantId()
-       */
-      public ParameterizedBuilderType tenantId(String tenantId) {
-         rule.tenantId = tenantId;
-         return self();
-      }
-
-      /**
-       * The direction in which the security group rule is applied.
-       *
-       * @return the Builder.
-       * @see Rule#getDirection()
-       */
-      public ParameterizedBuilderType direction(RuleDirection direction) {
-         rule.direction = direction;
-         return self();
-      }
-
-      /**
-       * The security group ID to associate with this security group rule.
-       *
-       * @return the Builder.
-       * @see Rule#getSecurityGroupId()
-       */
-      public ParameterizedBuilderType securityGroupId(String securityGroupId) {
-         rule.securityGroupId = securityGroupId;
-         return self();
-      }
-
-      /**
-       * The internet protocol version for this rule.
-       *
-       * @return the Builder.
-       * @see Rule#getEthertype()
-       */
-      public ParameterizedBuilderType ethertype(RuleEthertype ethertype) {
-         rule.ethertype = ethertype;
-         return self();
-      }
-
-      /**
-       * The minimum port number in the range that is matched by the security group rule.
-       *
-       * @return the Builder.
-       * @see Rule#getPortRangeMin()
-       */
-      public ParameterizedBuilderType portRangeMin(Integer portRangeMin) {
-         rule.portRangeMin = portRangeMin;
-         return self();
-      }
-
-      /**
-       * The maximum port number in the range that is matched by the security group rule.
-       *
-       * @return the Builder.
-       * @see Rule#getPortRangeMax()
-       */
-      public ParameterizedBuilderType portRangeMax(Integer portRangeMax) {
-         rule.portRangeMax = portRangeMax;
-         return self();
-      }
-
-      /**
-       * The protocol that is matched by the security group rule. Valid values are null, tcp, udp, and icmp.
-       *
-       * @return the Builder.
-       * @see Rule#getProtocol()
-       */
-      public ParameterizedBuilderType protocol(RuleProtocol protocol) {
-         rule.protocol = protocol;
-         return self();
-      }
-
-      /**
-       * The remote group ID to be associated with this security group rule. You can specify either remote_group_id or
-       * remote_ip_prefix in the request body.
-       *
-       * @return the Builder.
-       * @see Rule#getRemoteGroupId()
-       */
-      public ParameterizedBuilderType remoteGroupId(String remoteGroupId) {
-         rule.remoteGroupId = remoteGroupId;
-         return self();
-      }
-
-      /**
-       * The remote IP prefix to be associated with this security group rule. You can specify either remote_group_id
-       * or remote_ip_prefix in the request body. This attribute matches the specified IP prefix as the source IP
-       * address of the IP packet.
-       *
-       * @return the Builder.
-       * @see Rule#getRemoteIpPrefix()
-       */
-      public ParameterizedBuilderType remoteIpPrefix(String remoteIpPrefix) {
-         rule.remoteIpPrefix = remoteIpPrefix;
-         return self();
-      }
-   }
-
-   /**
-    * This is used to build a CreateBuilder object.
-    */
-   public static class CreateBuilder extends Builder<CreateBuilder> {
-      /**
-       * Supply required properties for creating a Builder
-       */
-      private CreateBuilder(RuleDirection direction, String securityGroupId) {
-         rule.direction = direction;
-         rule.securityGroupId = securityGroupId;
-      }
-
-      /**
-       * @return a CreateRule constructed with this Builder.
-       */
-      public CreateRule build() {
-         return new CreateRule(rule);
-      }
-
-      protected CreateBuilder self() {
-         return this;
-      }
-   }
-
-   /**
-    * Create and Update options - extend the domain class, passed to API update and create calls.
-    * Essentially the same as the domain class. Ensure validation and safe typing.
-    */
-   public static class CreateRule extends Rule {
-      private CreateRule(Rule rule) {
-         super(rule);
-         checkNotNull(this.getDirection(), "direction should not be null");
-         checkNotNull(this.getSecurityGroupId(), "security group id should not be null");
-         if (this.getPortRangeMax() != null && this.getPortRangeMin() != null) {
-            checkArgument(this.getPortRangeMax() >= this.getPortRangeMin(),
-                  "port range max should be greater than or equal to port range min");
-         }
-         checkArgument(this.getRemoteGroupId() == null || this.getRemoteIpPrefix() == null,
-               "You can specify either remote_group_id or remote_ip_prefix in the request body.");
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleDirection.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleDirection.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleDirection.java
deleted file mode 100644
index 52e4273..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleDirection.java
+++ /dev/null
@@ -1,61 +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.neutron.v2.domain;
-
-/**
- * The direction in which the security group rule is applied.
- */
-public enum RuleDirection {
-   /**
-    * For a compute instance, an ‘ingress’ security group rule matches traffic that is incoming (ingress) for that instance.
-    */
-   INGRESS("ingress"),
-   /**
-    * An ‘egress’ rule is applied to traffic leaving the instance.
-    */
-   EGRESS("egress"),
-   /**
-    * Used by jclouds when the service returns an unknown value other than null.
-    */
-   UNRECOGNIZED("unrecognized");
-
-   private String name;
-
-   private RuleDirection(String name) {
-      this.name = name;
-   }
-
-   public String toString() {
-      return name;
-   }
-
-   /*
-    * This provides GSON enum support in jclouds.
-    * */
-   public static RuleDirection fromValue(String name){
-      if (name != null) {
-         for (RuleDirection value : RuleDirection.values()) {
-            if (name.equalsIgnoreCase(value.name)) {
-               return value;
-            }
-         }
-         return UNRECOGNIZED;
-      }
-      return null;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleEthertype.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleEthertype.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleEthertype.java
deleted file mode 100644
index dd3aa3f..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleEthertype.java
+++ /dev/null
@@ -1,61 +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.neutron.v2.domain;
-
-/**
- * The direction in which the security group rule is applied.
- */
-public enum RuleEthertype {
-   /**
-    * Internet Protocol version 4
-    */
-   IPV4("IPv4"),
-   /**
-    * Internet Protocol version 6
-    */
-   IPV6("IPv6"),
-   /**
-    * Used by jclouds when the service returns an unknown value other than null.
-    */
-   UNRECOGNIZED("unrecognized");
-
-   private String name;
-
-   private RuleEthertype(String name) {
-      this.name = name;
-   }
-
-   public String toString() {
-      return name;
-   }
-
-   /*
-    * This provides GSON enum support in jclouds.
-    * */
-   public static RuleEthertype fromValue(String name){
-      if (name != null) {
-         for (RuleEthertype value : RuleEthertype.values()) {
-            if (name.equalsIgnoreCase(value.name)) {
-               return value;
-            }
-         }
-         return UNRECOGNIZED;
-      }
-      return null;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleProtocol.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleProtocol.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleProtocol.java
deleted file mode 100644
index f6a4574..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/RuleProtocol.java
+++ /dev/null
@@ -1,65 +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.neutron.v2.domain;
-
-/**
- * The protocol that is matched by the security group rule. Valid values are null, tcp, udp, and icmp.
- */
-public enum RuleProtocol {
-   /**
-    * Transmission Control Protocol
-    */
-   TCP("tcp"),
-   /**
-    * User Datagram Protocol
-    */
-   UDP("udp"),
-   /**
-    * Internet Control Message Protocol
-    */
-   ICMP("icmp"),
-   /**
-    * Used by jclouds when the service returns an unknown value other than null.
-    */
-   UNRECOGNIZED("unrecognized");
-
-   private String name;
-
-   private RuleProtocol(String name) {
-      this.name = name;
-   }
-
-   public String toString() {
-      return name;
-   }
-
-   /*
-    * This provides GSON enum support in jclouds.
-    * */
-   public static RuleProtocol fromValue(String name){
-      if (name != null) {
-         for (RuleProtocol value : RuleProtocol.values()) {
-            if (name.equalsIgnoreCase(value.name)) {
-               return value;
-            }
-         }
-         return UNRECOGNIZED;
-      }
-      return null;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Rules.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Rules.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Rules.java
deleted file mode 100644
index 505ff36..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Rules.java
+++ /dev/null
@@ -1,36 +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.neutron.v2.domain;
-
-import java.beans.ConstructorProperties;
-
-import org.jclouds.openstack.v2_0.domain.Link;
-import org.jclouds.openstack.v2_0.domain.PaginatedCollection;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * A collection of Networks
- */
-public class Rules extends PaginatedCollection<Rule> {
-   public static final Rules EMPTY = new Rules(ImmutableSet.<Rule> of(), ImmutableSet.<Link> of());
-
-   @ConstructorProperties({"security_group_rules", "security_group_rules_links"})
-   protected Rules(Iterable<Rule> securityGroups, Iterable<Link> securityGroupRulesLinks) {
-      super(securityGroups, securityGroupRulesLinks);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/SecurityGroup.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/SecurityGroup.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/SecurityGroup.java
deleted file mode 100644
index 6a1b8b7..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/SecurityGroup.java
+++ /dev/null
@@ -1,220 +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.neutron.v2.domain;
-
-import java.beans.ConstructorProperties;
-
-import javax.inject.Named;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Objects;
-import com.google.common.collect.ImmutableList;
-
-/**
- * Contains a mapping between a MAC address and an IP address.
- */
-public class SecurityGroup {
-
-   private String id;
-   @Named("tenant_id")
-   private String tenantId;
-   private String name;
-   private String description;
-   @Named("security_group_rules")
-   private ImmutableList<Rule> rules;
-
-   @ConstructorProperties({"id", "tenant_id", "name", "description", "security_group_rules"})
-   protected SecurityGroup(String id, String tenantId, String name, String description,
-         ImmutableList<Rule> rules) {
-      this.id = id;
-      this.tenantId = tenantId;
-      this.name = name;
-      this.description = description;
-      this.rules = rules;
-   }
-
-   private SecurityGroup(SecurityGroup securityGroup) {
-      this(securityGroup.id,
-            securityGroup.tenantId,
-            securityGroup.name,
-            securityGroup.description,
-            securityGroup.rules
-      );
-   }
-
-   private SecurityGroup() {}
-
-   /**
-    * @return The identifier for this Security Group.
-    */
-   @Nullable
-   public String getId() {
-      return id;
-   }
-
-   /**
-    * @return The identifier of the tenant for this Security Group.
-    */
-   @Nullable
-   public String getTenantId() {
-      return tenantId;
-   }
-
-   /**
-    * @return The name of the Security Group.
-    */
-   @Nullable
-   public String getName() {
-      return name;
-   }
-
-   /**
-    * @return The description of the Security Group.
-    */
-   @Nullable
-   public String getDescription() {
-      return description;
-   }
-
-   /**
-    * @return The collection of rules for this Security Group.
-    */
-   public ImmutableList<Rule> getRules() {
-      return rules != null ? rules : ImmutableList.<Rule>of();
-   }
-
-   @Override
-   public boolean equals(Object o) {
-      if (this == o)
-         return true;
-      if (o == null || getClass() != o.getClass())
-         return false;
-
-      SecurityGroup that = (SecurityGroup) o;
-
-      return Objects.equal(this.id, that.id) &&
-            Objects.equal(this.tenantId, that.tenantId) &&
-            Objects.equal(this.name, that.name) &&
-            Objects.equal(this.description, that.description) &&
-            Objects.equal(this.rules, that.rules);
-   }
-
-   @Override
-   public int hashCode() {
-      return Objects.hashCode(id, tenantId, name, description, rules);
-   }
-
-   @Override
-   public String toString() {
-      return MoreObjects.toStringHelper(this)
-            .add("id", id)
-            .add("tenantId", tenantId)
-            .add("name", name)
-            .add("description", description)
-            .add("securityGroupRules", rules)
-            .toString();
-   }
-
-   /*
-    * Methods to get the Create and Update builders follow
-    */
-
-   /**
-    * @return the Builder for creating a new SecurityGroup
-    */
-   public static CreateBuilder createBuilder() {
-      return new CreateBuilder();
-   }
-
-   private abstract static class Builder<ParameterizedBuilderType> {
-      // Keep track of the builder's state.
-      protected SecurityGroup securityGroup;
-
-      private Builder() {
-         securityGroup = new SecurityGroup();
-      }
-
-      protected abstract ParameterizedBuilderType self();
-
-      /**
-       * The tenant id for this Security Group. Usually can only be specified by administrators.
-       *
-       * @return the Builder.
-       * @see SecurityGroup#getTenantId()
-       */
-      public ParameterizedBuilderType tenantId(String tenantId) {
-         securityGroup.tenantId = tenantId;
-         return self();
-      }
-
-      /**
-       * The name for this Security Group.
-       *
-       * @return the Builder.
-       * @see SecurityGroup#getName()
-       */
-      public ParameterizedBuilderType name(String name) {
-         securityGroup.name = name;
-         return self();
-      }
-
-      /**
-       * The description for this Security Group.
-       *
-       * @return the Builder.
-       * @see SecurityGroup#getDescription()
-       */
-      public ParameterizedBuilderType description(String description) {
-         securityGroup.description = description;
-         return self();
-      }
-   }
-
-   /**
-    * Create and Update builders (inheriting from Builder)
-    */
-   public static class CreateBuilder extends Builder<CreateBuilder> {
-      /**
-       * Supply required properties for creating a Builder
-       */
-      private CreateBuilder() {
-      }
-
-      /**
-       * @return a CreateSecurityGroup constructed with this Builder.
-       */
-      public CreateSecurityGroup build() {
-         return new CreateSecurityGroup(securityGroup);
-      }
-
-      protected CreateBuilder self() {
-         return this;
-      }
-   }
-
-   /**
-    * Create and Update options - extend the domain class, passed to API update and create calls.
-    * Essentially the same as the domain class. Ensure validation and safe typing.
-    */
-   public static class CreateSecurityGroup extends SecurityGroup {
-      private CreateSecurityGroup(SecurityGroup securityGroup) {
-         super(securityGroup);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/SecurityGroups.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/SecurityGroups.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/SecurityGroups.java
deleted file mode 100644
index 044ce1c..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/SecurityGroups.java
+++ /dev/null
@@ -1,36 +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.neutron.v2.domain;
-
-import java.beans.ConstructorProperties;
-
-import org.jclouds.openstack.v2_0.domain.Link;
-import org.jclouds.openstack.v2_0.domain.PaginatedCollection;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * A collection of Networks
- */
-public class SecurityGroups extends PaginatedCollection<SecurityGroup> {
-   public static final SecurityGroups EMPTY = new SecurityGroups(ImmutableSet.<SecurityGroup> of(), ImmutableSet.<Link> of());
-
-   @ConstructorProperties({"security_groups", "security_groups_links"})
-   protected SecurityGroups(Iterable<SecurityGroup> securityGroups, Iterable<Link> securityGroupsLinks) {
-      super(securityGroups, securityGroupsLinks);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Subnet.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Subnet.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Subnet.java
deleted file mode 100644
index 1f05709..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Subnet.java
+++ /dev/null
@@ -1,467 +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.neutron.v2.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.beans.ConstructorProperties;
-import java.util.Collection;
-
-import javax.inject.Named;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.base.MoreObjects;
-import com.google.common.base.Objects;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * A Neutron subnet
- *
- * @see <a href="http://docs.openstack.org/api/openstack-network/2.0/content/Subnets.html">api doc</a>
- */
-public class Subnet {
-
-   private String id;
-
-   private String name;
-   @Named("network_id")
-   private String networkId;
-   @Named("tenant_id")
-   private String tenantId;
-   // Cannot be used for updates.
-   @Named("allocation_pools")
-   private ImmutableSet<AllocationPool> allocationPools;
-   @Named("gateway_ip")
-   private String gatewayIp;
-   @Named("ip_version")
-   private Integer ipVersion;
-   private String cidr;
-   @Named("enable_dhcp")
-   private Boolean enableDhcp;
-   @Named("dns_nameservers")
-   private ImmutableSet<String> dnsNameServers;
-   @Named("host_routes")
-   private ImmutableSet<HostRoute> hostRoutes;
-   @Named("ipv6_address_mode")
-   private IPv6DHCPMode ipv6AddressMode;
-   @Named("ipv6_ra_mode")
-   private IPv6DHCPMode ipv6RaMode;
-
-   @ConstructorProperties({"id", "name", "network_id", "tenant_id", "allocation_pools", "gateway_ip", "ip_version",
-         "cidr", "enable_dhcp", "dns_nameservers", "host_routes", "ipv6_address_mode", "ipv6_ra_mode"})
-   private Subnet(String id, String name, String networkId, String tenantId, ImmutableSet<AllocationPool> allocationPools,
-         String gatewayIp, Integer ipVersion, String cidr, Boolean enableDhcp, ImmutableSet<String> dnsNameServers, ImmutableSet<HostRoute> hostRoutes,
-         IPv6DHCPMode ipv6AddressMode, IPv6DHCPMode ipv6RaMode) {
-      this.id = id;
-      this.name = name;
-      this.networkId = networkId;
-      this.tenantId = tenantId;
-      this.allocationPools = allocationPools;
-      this.gatewayIp = gatewayIp;
-      this.ipVersion = ipVersion;
-      this.cidr = cidr;
-      this.enableDhcp = enableDhcp;
-      this.dnsNameServers = dnsNameServers;
-      this.hostRoutes = hostRoutes;
-      this.ipv6AddressMode = ipv6AddressMode;
-      this.ipv6RaMode = ipv6RaMode;
-   }
-
-   /**
-    * Default constructor.
-    */
-   private Subnet() {}
-
-   /**
-    * Copy constructor
-    * @param subnet
-    */
-   private Subnet(Subnet subnet) {
-      this(subnet.id,
-            subnet.name,
-            subnet.networkId,
-            subnet.tenantId,
-            subnet.allocationPools,
-            subnet.gatewayIp,
-            subnet.ipVersion,
-            subnet.cidr,
-            subnet.enableDhcp,
-            subnet.dnsNameServers,
-            subnet.hostRoutes,
-            subnet.ipv6AddressMode,
-            subnet.ipv6RaMode);
-   }
-
-   /**
-    * @return the id of the subnet
-    */
-   @Nullable
-   public String getId() {
-      return this.id;
-   }
-
-   /**
-    * @return the name of the subnet
-    */
-   @Nullable
-   public String getName() {
-      return this.name;
-   }
-
-   /**
-    * @return the id of the network this subnet is associated with.
-    */
-   @Nullable
-   public String getNetworkId() {
-      return networkId;
-   }
-
-   /**
-    * @return the id of the tenant where this entity is associated with.
-    */
-   @Nullable
-   public String getTenantId() {
-      return tenantId;
-   }
-
-   /**
-    * @return the sub-ranges of CIDR available for dynamic allocation to ports.
-    */
-   @Nullable
-   public ImmutableSet<AllocationPool> getAllocationPools() {
-      return allocationPools;
-   }
-
-   /**
-    * @return the default gateway used by devices in this subnet.
-    */
-   @Nullable
-   public String getGatewayIp() {
-      return gatewayIp;
-   }
-
-   /**
-    * @return the IP version used by this subnet.
-    */
-   @Nullable
-   public Integer getIpVersion() {
-      return ipVersion;
-   }
-
-   /**
-    * @return the CIDR representing the IP range for this subnet, based on IP version.
-    */
-   @Nullable
-   public String getCidr() {
-      return cidr;
-   }
-
-   /**
-    * @return true if DHCP is enabled for this subnet, false if not.
-    */
-   @Nullable
-   public Boolean getEnableDhcp() {
-      return enableDhcp;
-   }
-
-   /**
-    * @return Configurable maximum amount of name servers per subnet. The default is 5.
-    */
-   @Nullable
-   public ImmutableSet<String> getDnsNameservers() {
-      return dnsNameServers;
-   }
-
-   /**
-    * @return Configurable maximum amount of routes per subnet. The default is 20.
-    */
-   @Nullable
-   public ImmutableSet<HostRoute> getHostRoutes() {
-      return hostRoutes;
-   }
-
-   /**
-    * @return The IP v6 Address Mode.
-    */
-   @Nullable
-   public IPv6DHCPMode getIPv6AddressMode() {
-      return ipv6AddressMode;
-   }
-
-   /**
-    * @return The IP v6 Router Advertisement mode.
-    */
-   @Nullable
-   public IPv6DHCPMode getIPv6RAMode() {
-      return ipv6RaMode;
-   }
-
-   @Override
-   public int hashCode() {
-      return Objects.hashCode(id, name, networkId, tenantId, allocationPools, gatewayIp,
-            ipVersion, cidr, enableDhcp, dnsNameServers, hostRoutes,
-            ipv6AddressMode, ipv6RaMode);
-   }
-
-   @Override
-   public boolean equals(Object o) {
-      if (this == o)
-         return true;
-      if (o == null || getClass() != o.getClass())
-         return false;
-
-      Subnet that = (Subnet) o;
-
-      return Objects.equal(this.id, that.id) &&
-            Objects.equal(this.name, that.name) &&
-            Objects.equal(this.networkId, that.networkId) &&
-            Objects.equal(this.tenantId, that.tenantId) &&
-            Objects.equal(this.allocationPools, that.allocationPools) &&
-            Objects.equal(this.gatewayIp, that.gatewayIp) &&
-            Objects.equal(this.ipVersion, that.ipVersion) &&
-            Objects.equal(this.cidr, that.cidr) &&
-            Objects.equal(this.enableDhcp, that.enableDhcp) &&
-            Objects.equal(this.dnsNameServers, that.dnsNameServers) &&
-            Objects.equal(this.hostRoutes, that.hostRoutes) &&
-            Objects.equal(this.ipv6AddressMode, that.ipv6AddressMode) &&
-            Objects.equal(this.ipv6RaMode, that.ipv6RaMode);
-   }
-
-   @Override
-   public String toString() {
-      return MoreObjects.toStringHelper(this)
-            .add("id", id)
-            .add("name", name)
-            .add("networkId", networkId)
-            .add("tenantId", tenantId)
-            .add("allocationPools", allocationPools)
-            .add("gatewayIp", gatewayIp)
-            .add("ipVersion", ipVersion)
-            .add("cidr", cidr)
-            .add("enableDhcp", enableDhcp)
-            .add("dnsNameServers", dnsNameServers)
-            .add("hostRoutes", hostRoutes)
-            .add("ipv6AddressMode", ipv6AddressMode)
-            .add("ipv6RaMode", ipv6RaMode)
-            .toString();
-   }
-
-   /*
-    * Methods to get the Create and Update builders follow
-    */
-
-   /**
-    * @return the Builder for creating a new Router
-    */
-   public static CreateBuilder createBuilder(String networkId, String cidr) {
-      return new CreateBuilder(networkId, cidr);
-   }
-
-   /**
-    * @return the Builder for updating a Router
-    */
-   public static UpdateBuilder updateBuilder() {
-      return new UpdateBuilder();
-   }
-
-   private abstract static class Builder<ParameterizedBuilderType> {
-      protected Subnet subnet;
-
-      /**
-       * No-parameters constructor used when updating.
-       */
-      private Builder() {
-         subnet = new Subnet();
-      }
-
-      protected abstract ParameterizedBuilderType self();
-
-      /**
-       * @see Subnet#getName()
-       */
-      public ParameterizedBuilderType name(String name) {
-         subnet.name = name;
-         return self();
-      }
-
-      /**
-       * @see Subnet#getNetworkId()
-       */
-      public ParameterizedBuilderType networkId(String networkId) {
-         subnet.networkId = networkId;
-         return self();
-      }
-
-      /**
-       * Only administrators can specify a tenant ID that is not their own.
-       * As it is optional, this is usually omitted in requests.
-       * @see Subnet#getTenantId()
-       */
-      public ParameterizedBuilderType tenantId(String tenantId) {
-         subnet.tenantId = tenantId;
-         return self();
-      }
-
-      /**
-       * @see Subnet#getAllocationPools()
-       */
-      public ParameterizedBuilderType allocationPools(Collection<AllocationPool> allocationPools) {
-         subnet.allocationPools = ImmutableSet.copyOf(allocationPools);
-         return self();
-      }
-
-      /**
-       * @see Subnet#getGatewayIp()
-       */
-      public ParameterizedBuilderType gatewayIp(String gatewayIp) {
-         subnet.gatewayIp = gatewayIp;
-         return self();
-      }
-
-      /**
-       * @see Subnet#getIpVersion()
-       */
-      public ParameterizedBuilderType ipVersion(int ipVersion) {
-         subnet.ipVersion = ipVersion;
-         return self();
-      }
-
-      /**
-       * @see Subnet#getCidr()
-       */
-      public ParameterizedBuilderType cidr(String cidr) {
-         subnet.cidr = cidr;
-         return self();
-      }
-
-      /**
-       * @see Subnet#getEnableDhcp()
-       */
-      public ParameterizedBuilderType enableDhcp(Boolean enableDhcp) {
-         subnet.enableDhcp = enableDhcp;
-         return self();
-      }
-
-      /**
-       * @see Subnet#getDnsNameservers()
-       */
-      public ParameterizedBuilderType dnsNameServers(ImmutableSet<String> dnsNameServers) {
-         subnet.dnsNameServers = dnsNameServers;
-         return self();
-      }
-
-      /**
-       * @see Subnet#getHostRoutes()
-       */
-      public ParameterizedBuilderType hostRoutes(ImmutableSet<HostRoute> hostRoutes) {
-         subnet.hostRoutes = hostRoutes;
-         return self();
-      }
-
-      /**
-       * @see Subnet#getIPv6RAMode()
-       */
-      public ParameterizedBuilderType ipv6RaMode(IPv6DHCPMode ipv6RaMode) {
-         subnet.ipv6RaMode = ipv6RaMode;
-         return self();
-      }
-
-      /**
-       * @see Subnet#getIPv6AddressMode()
-       */
-      public ParameterizedBuilderType ipv6AddressMode(IPv6DHCPMode ipv6AddressMode) {
-         subnet.ipv6AddressMode = ipv6AddressMode;
-         return self();
-      }
-   }
-
-   /**
-    * Create and Update builders (inheriting from Builder)
-    */
-   public static class CreateBuilder extends Builder<CreateBuilder> {
-      /**
-       *
-       * Supply required properties for creating a Builder
-       */
-      private CreateBuilder(String networkId, String cidr) {
-         subnet.networkId = networkId;
-         subnet.cidr = cidr;
-      }
-
-      /**
-       * @return a CreateSubnet constructed with this Builder.
-       */
-      public CreateSubnet build() {
-         return new CreateSubnet(subnet);
-      }
-
-      protected CreateBuilder self() {
-         return this;
-      }
-   }
-
-   /**
-    * Create and Update builders (inheriting from Builder)
-    */
-   public static class UpdateBuilder extends Builder<UpdateBuilder> {
-      /**
-       * Supply required properties for updating a Builder
-       */
-      private UpdateBuilder() {
-      }
-
-      /**
-       * @return a UpdateSubnet constructed with this Builder.
-       */
-      public UpdateSubnet build() {
-         return new UpdateSubnet(subnet);
-      }
-
-      protected UpdateBuilder self() {
-         return this;
-      }
-   }
-
-   /**
-    * Create and Update options - extend the domain class, passed to API update and create calls.
-    * Essentially the same as the domain class. Ensure validation and safe typing.
-    */
-   public static class CreateSubnet extends Subnet {
-      /**
-       * Copy constructor
-       */
-      private CreateSubnet(Subnet subnet) {
-         super(subnet);
-         checkNotNull(subnet.networkId, "networkId should not be null");
-         checkNotNull(subnet.cidr, "cidr should not be null");
-      }
-   }
-
-   /**
-    * Create and Update options - extend the domain class, passed to API update and create calls.
-    * Essentially the same as the domain class. Ensure validation and safe typing.
-    */
-   public static class UpdateSubnet extends Subnet {
-      /**
-       * Copy constructor
-       */
-      private UpdateSubnet(Subnet subnet) {
-         super(subnet);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Subnets.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Subnets.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Subnets.java
deleted file mode 100644
index fb9896e..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/Subnets.java
+++ /dev/null
@@ -1,36 +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.neutron.v2.domain;
-
-import java.beans.ConstructorProperties;
-
-import org.jclouds.openstack.v2_0.domain.Link;
-import org.jclouds.openstack.v2_0.domain.PaginatedCollection;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * A collection of Subnets
- */
-public class Subnets extends PaginatedCollection<Subnet> {
-   public static final Subnets EMPTY = new Subnets(ImmutableSet.<Subnet> of(), ImmutableSet.<Link> of());
-
-   @ConstructorProperties({"subnets", "subnets_links"})
-   protected Subnets(Iterable<Subnet> subnets, Iterable<Link> subnetsLinks) {
-      super(subnets, subnetsLinks);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewall.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewall.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewall.java
deleted file mode 100644
index 10f5cab..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewall.java
+++ /dev/null
@@ -1,68 +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.neutron.v2.domain;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-
-/**
- * Representation of update options for an OpenStack Neutron Firewall.
- *
- * @see <a
- * href="http://docs.openstack.org/admin-guide-cloud/content/fwaas_api_abstractions.html">api
- * doc</a>
- */
-@AutoValue
-public abstract class UpdateFirewall {
-
-   @Nullable public abstract String getTenantId();
-   @Nullable public abstract String getName();
-   @Nullable public abstract String getDescription();
-   @Nullable public abstract Boolean getAdminStateUp();
-   @Nullable public abstract String getFirewallPolicyId();
-
-   @SerializedNames({"tenant_id", "name", "description", "admin_state_up", "firewall_policy_id"})
-   public static UpdateFirewall create(String tenantId, String name, String description, Boolean adminStateUp, String firewallPolicyId) {
-      return builder().tenantId(tenantId).name(name).description(description).adminStateUp(adminStateUp).firewallPolicyId(firewallPolicyId).build();
-   }
-
-   public static Builder builder() {
-      return new AutoValue_UpdateFirewall.Builder();
-   }
-
-   public abstract Builder toBuilder();
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder tenantId(String tenantId);
-      public abstract Builder name(String name);
-      public abstract Builder description(String description);
-      public abstract Builder adminStateUp(Boolean adminStateUp);
-      public abstract Builder firewallPolicyId(String firewallPolicyId);
-
-      @Nullable public abstract String getTenantId();
-      @Nullable public abstract String getName();
-      @Nullable public abstract String getDescription();
-      @Nullable public abstract Boolean getAdminStateUp();
-      @Nullable public abstract String getFirewallPolicyId();
-
-      public abstract UpdateFirewall build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewallPolicy.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewallPolicy.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewallPolicy.java
deleted file mode 100644
index 3791b34..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewallPolicy.java
+++ /dev/null
@@ -1,80 +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.neutron.v2.domain;
-
-import java.util.List;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-
-/**
- * Representation of update options for an OpenStack Neutron Firewall Policy.
- *
- * @see <a
- *      href="http://docs.openstack.org/admin-guide-cloud/content/fwaas_api_abstractions.html">api
- *      doc</a>
- */
-@AutoValue
-public abstract class UpdateFirewallPolicy {
-
-   @Nullable public abstract String getTenantId();
-   @Nullable public abstract String getName();
-   @Nullable public abstract String getDescription();
-   @Nullable public abstract Boolean getShared();
-   @Nullable public abstract List<String> getFirewallRules();
-   @Nullable public abstract Boolean getAudited();
-
-   @SerializedNames({"tenant_id", "name", "description", "shared", "firewall_rules", "audited"})
-   private static UpdateFirewallPolicy create(String tenantId, String name, String description, Boolean shared, List<String> firewallRules, Boolean audited) {
-      return builder().tenantId(tenantId).name(name).description(description).shared(shared).firewallRules(firewallRules).audited(audited).build();
-   }
-
-   public static Builder builder() {
-      return new AutoValue_UpdateFirewallPolicy.Builder().shared(false).audited(false);
-   }
-
-   public abstract Builder toBuilder();
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder tenantId(String tenantId);
-      public abstract Builder name(String name);
-      public abstract Builder description(String description);
-      public abstract Builder shared(Boolean shared);
-      public abstract Builder firewallRules(List<String> firewallRules);
-      public abstract Builder audited(Boolean audited);
-
-      abstract UpdateFirewallPolicy autoBuild();
-
-      @Nullable public abstract String getTenantId();
-      @Nullable public abstract String getName();
-      @Nullable public abstract String getDescription();
-      @Nullable public abstract Boolean getShared();
-      @Nullable public abstract List<String> getFirewallRules();
-      @Nullable public abstract Boolean getAudited();
-
-      public UpdateFirewallPolicy build() {
-         firewallRules(getFirewallRules() != null ? ImmutableList.copyOf(getFirewallRules()) : ImmutableList.<String>of());
-         return autoBuild();
-      }
-
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewallRule.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewallRule.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewallRule.java
deleted file mode 100644
index b66e902..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/UpdateFirewallRule.java
+++ /dev/null
@@ -1,100 +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.neutron.v2.domain;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-/**
- * Representation of update options for an OpenStack Neutron Firewall Rule.
- *
- * @see <a
- *      href="http://docs.openstack.org/admin-guide-cloud/content/fwaas_api_abstractions.html">api
- *      doc</a>
- */
-@AutoValue
-public abstract class UpdateFirewallRule {
-
-   @Nullable public abstract String getTenantId();
-   @Nullable public abstract String getName();
-   @Nullable public abstract String getDescription();
-   @Nullable public abstract String getFirewallPolicyId();
-   @Nullable public abstract Boolean getShared();
-   @Nullable public abstract String getProtocol();
-   @Nullable public abstract IpVersion getIpVersion();
-   @Nullable public abstract String getSourceIpAddress();
-   @Nullable public abstract String getDestinationIpAddress();
-   @Nullable public abstract String getSourcePort();
-   @Nullable public abstract String getDestinationPort();
-   @Nullable public abstract Integer getPosition();
-   @Nullable public abstract String getAction();
-   @Nullable public abstract Boolean getEnabled();
-
-   @SerializedNames({ "tenant_id", "name", "description", "firewall_policy_id", "shared", "protocol", "ip_version", "source_ip_address",
-           "destination_ip_address", "source_port", "destination_port", "position", "action", "enabled"})
-   public static UpdateFirewallRule create(String tenantId, String name, String description, String firewallPolicyId, Boolean shared, String protocol,
-                                           IpVersion ipVersion, String sourceIpAddress, String destinationIpAddress, String sourcePort, String destinationPort, int position,
-                                           String action, Boolean enabled) {
-      return builder().tenantId(tenantId).name(name).description(description).firewallPolicyId(firewallPolicyId).shared(shared)
-              .protocol(protocol).ipVersion(ipVersion).sourceIpAddress(sourceIpAddress).destinationIpAddress(destinationIpAddress).sourcePort(sourcePort)
-              .destinationPort(destinationPort).position(position).action(action).enabled(enabled).build();
-   }
-
-   public static Builder builder() {
-      return new AutoValue_UpdateFirewallRule.Builder().shared(false).enabled(false).position(null);
-   }
-
-   public abstract Builder toBuilder();
-
-   @AutoValue.Builder
-   public abstract static class Builder {
-      public abstract Builder tenantId(String tenantId);
-      public abstract Builder name(String name);
-      public abstract Builder description(String description);
-      public abstract Builder firewallPolicyId(String firewallPolicyId);
-      public abstract Builder shared(Boolean shared);
-      public abstract Builder protocol(String protocol);
-      public abstract Builder ipVersion(IpVersion ipVersion);
-      public abstract Builder sourceIpAddress(String sourceIpAddress);
-      public abstract Builder destinationIpAddress(String destinationIpAddress);
-      public abstract Builder sourcePort(String sourcePort);
-      public abstract Builder destinationPort(String destinationPort);
-      public abstract Builder position(Integer position);
-      public abstract Builder action(String action);
-      public abstract Builder enabled(Boolean enabled);
-
-      @Nullable public abstract String getTenantId();
-      @Nullable public abstract String getName();
-      @Nullable public abstract String getDescription();
-      @Nullable public abstract String getFirewallPolicyId();
-      @Nullable public abstract Boolean getShared();
-      @Nullable public abstract String getProtocol();
-      @Nullable public abstract IpVersion getIpVersion();
-      @Nullable public abstract String getSourceIpAddress();
-      @Nullable public abstract String getDestinationIpAddress();
-      @Nullable public abstract String getSourcePort();
-      @Nullable public abstract String getDestinationPort();
-      @Nullable public abstract Integer getPosition();
-      @Nullable public abstract String getAction();
-      @Nullable public abstract Boolean getEnabled();
-
-      public abstract UpdateFirewallRule build();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/VIFType.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/VIFType.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/VIFType.java
deleted file mode 100644
index 5417065..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/VIFType.java
+++ /dev/null
@@ -1,62 +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.neutron.v2.domain;
-
-public enum VIFType {
-   UNBOUND("unbound"),
-   BINDING_FAILED("binding_failed"),
-   IOVISOR("iovisor"),
-   OVS("ovs"),
-   BRIDGE("bridge"),
-   _802_QBG("802.1qbg"),
-   _802_QBH("802.1qbh"),
-   HYPERV("hyperv"),
-   MIDONET("midonet"),
-   MLNX_DIRECT("mlnx_direct"),
-   MLNX_HOSTDEV("hostdev"),
-   OTHER("other"),
-   /**
-    * Used by jclouds when the service returns an unknown value other than null.
-    */
-   UNRECOGNIZED("unrecognized");
-
-   private String name;
-
-   private VIFType(String name) {
-      this.name = name;
-   }
-
-   public String toString() {
-      return name;
-   }
-
-   /*
-    * This provides GSON enum support in jclouds.
-    * */
-   public static VIFType fromValue(String name){
-      if (name != null) {
-         for (VIFType value : VIFType.values()) {
-            if (name.equalsIgnoreCase(value.name)) {
-               return value;
-            }
-         }
-         return UNRECOGNIZED;
-      }
-      return null;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/35142182/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/VNICType.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/VNICType.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/VNICType.java
deleted file mode 100644
index 80fd4aa..0000000
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/domain/VNICType.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jclouds.openstack.neutron.v2.domain;
-
-/**
- * Enumerates supported VNIC types.
- */
-public enum VNICType {
-   NORMAL("normal"),
-   DIRECT("direct"),
-   MACVTAP("macvtap"),
-   /**
-    * Used by jclouds when the service returns an unknown value other than null.
-    */
-   UNRECOGNIZED("unrecognized");
-
-   private String name;
-
-   private VNICType(String name) {
-      this.name = name;
-   }
-
-   public String toString() {
-      return name;
-   }
-
-   /*
-    * This provides GSON enum support in jclouds.
-    * */
-   public static VNICType fromValue(String name){
-      if (name != null) {
-         for (VNICType value : VNICType.values()) {
-            if (name.equalsIgnoreCase(value.name)) {
-               return value;
-            }
-         }
-         return UNRECOGNIZED;
-      }
-      return null;
-   }
-}