You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2014/03/31 09:13:41 UTC

[28/52] [partial] Moving jclouds dependencies to accurate parent directories

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/NetworkConnection.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/NetworkConnection.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/NetworkConnection.java
new file mode 100755
index 0000000..fed82dc
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/NetworkConnection.java
@@ -0,0 +1,233 @@
+/*
+ * 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.vcloud.domain;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.domain.network.IpAddressAllocationMode;
+
+/**
+ * describes a single network connection.
+ * 
+ * @author Adrian Cole
+ */
+public class NetworkConnection {
+   public static Builder builder() {
+      return new Builder();
+   }
+
+   public static class Builder {
+
+      private String network;
+      private int networkConnectionIndex;
+      private String ipAddress;
+      private String externalIpAddress;
+      private boolean connected;
+      private String MACAddress;
+      private IpAddressAllocationMode ipAddressAllocationMode;
+
+      public Builder network(String network) {
+         this.network = network;
+         return this;
+      }
+
+      public Builder networkConnectionIndex(int networkConnectionIndex) {
+         this.networkConnectionIndex = networkConnectionIndex;
+         return this;
+      }
+
+      public Builder ipAddress(String ipAddress) {
+         this.ipAddress = ipAddress;
+         return this;
+      }
+
+      public Builder externalIpAddress(String externalIpAddress) {
+         this.externalIpAddress = externalIpAddress;
+         return this;
+      }
+
+      public Builder connected(boolean connected) {
+         this.connected = connected;
+         return this;
+      }
+
+      public Builder MACAddress(String MACAddress) {
+         this.MACAddress = MACAddress;
+         return this;
+      }
+
+      public Builder ipAddressAllocationMode(IpAddressAllocationMode ipAddressAllocationMode) {
+         this.ipAddressAllocationMode = ipAddressAllocationMode;
+         return this;
+      }
+
+      public NetworkConnection build() {
+         return new NetworkConnection(network, networkConnectionIndex, ipAddress, externalIpAddress, connected,
+               MACAddress, ipAddressAllocationMode);
+      }
+
+      public static Builder fromNetworkConnection(NetworkConnection in) {
+         return new Builder().network(in.getNetwork()).networkConnectionIndex(in.getNetworkConnectionIndex())
+               .ipAddress(in.getIpAddress()).externalIpAddress(in.getExternalIpAddress()).connected(in.isConnected())
+               .MACAddress(in.getMACAddress()).ipAddressAllocationMode(in.getIpAddressAllocationMode());
+      }
+   }
+
+   private final String network;
+   private final int networkConnectionIndex;
+   @Nullable
+   private final String ipAddress;
+   @Nullable
+   private final String externalIpAddress;
+   private final boolean connected;
+   @Nullable
+   private final String MACAddress;
+   private final IpAddressAllocationMode ipAddressAllocationMode;
+
+   public NetworkConnection(String network, int networkConnectionIndex, @Nullable String ipAddress,
+         @Nullable String externalIpAddress, boolean connected, @Nullable String MACAddress,
+         IpAddressAllocationMode ipAddressAllocationMode) {
+      this.network = network;
+      this.networkConnectionIndex = networkConnectionIndex;
+      this.ipAddress = ipAddress;
+      this.externalIpAddress = externalIpAddress;
+      this.connected = connected;
+      this.MACAddress = MACAddress;
+      this.ipAddressAllocationMode = ipAddressAllocationMode;
+   }
+
+   /**
+    * @return The name of the network to which this connection connects.
+    */
+   public String getNetwork() {
+      return network;
+   }
+
+   /**
+    * @return The value in the rasd:AddressOnParent element of the device supporting this
+    *         connection.
+    */
+   public int getNetworkConnectionIndex() {
+      return networkConnectionIndex;
+   }
+
+   /**
+    * @return IP address of this connection
+    */
+   @Nullable
+   public String getIpAddress() {
+      return ipAddress;
+   }
+
+   /**
+    * @return If the network that the NIC is connected to has NAT or port mapping, the external
+    *         address is populated in this element.
+    */
+   @Nullable
+   public String getExternalIpAddress() {
+      return externalIpAddress;
+   }
+
+   /**
+    * @return If the vApp is deployed, specifies the current state of its connection. If the vApp is
+    *         undeployed, specifies whether this connection should be connected at deployment time.
+    */
+   public boolean isConnected() {
+      return connected;
+   }
+
+   /**
+    * @return MAC address of this connection
+    */
+   @Nullable
+   public String getMACAddress() {
+      return MACAddress;
+   }
+
+   /**
+    * @return specifies how an IP address is allocated to this connection
+    */
+   public IpAddressAllocationMode getIpAddressAllocationMode() {
+      return ipAddressAllocationMode;
+   }
+
+   @Override
+   public int hashCode() {
+      final int prime = 31;
+      int result = 1;
+      result = prime * result + ((MACAddress == null) ? 0 : MACAddress.hashCode());
+      result = prime * result + (connected ? 1231 : 1237);
+      result = prime * result + ((externalIpAddress == null) ? 0 : externalIpAddress.hashCode());
+      result = prime * result + ((ipAddress == null) ? 0 : ipAddress.hashCode());
+      result = prime * result + ((ipAddressAllocationMode == null) ? 0 : ipAddressAllocationMode.hashCode());
+      result = prime * result + ((network == null) ? 0 : network.hashCode());
+      result = prime * result + networkConnectionIndex;
+      return result;
+   }
+
+   @Override
+   public boolean equals(Object obj) {
+      if (this == obj)
+         return true;
+      if (obj == null)
+         return false;
+      if (getClass() != obj.getClass())
+         return false;
+      NetworkConnection other = (NetworkConnection) obj;
+      if (MACAddress == null) {
+         if (other.MACAddress != null)
+            return false;
+      } else if (!MACAddress.equals(other.MACAddress))
+         return false;
+      if (connected != other.connected)
+         return false;
+      if (externalIpAddress == null) {
+         if (other.externalIpAddress != null)
+            return false;
+      } else if (!externalIpAddress.equals(other.externalIpAddress))
+         return false;
+      if (ipAddress == null) {
+         if (other.ipAddress != null)
+            return false;
+      } else if (!ipAddress.equals(other.ipAddress))
+         return false;
+      if (ipAddressAllocationMode == null) {
+         if (other.ipAddressAllocationMode != null)
+            return false;
+      } else if (!ipAddressAllocationMode.equals(other.ipAddressAllocationMode))
+         return false;
+      if (network == null) {
+         if (other.network != null)
+            return false;
+      } else if (!network.equals(other.network))
+         return false;
+      if (networkConnectionIndex != other.networkConnectionIndex)
+         return false;
+      return true;
+   }
+
+   public Builder toBuilder() {
+      return Builder.fromNetworkConnection(this);
+   }
+
+   @Override
+   public String toString() {
+      return "[network=" + network + ", connected=" + connected + ", ipAddress=" + ipAddress + ", externalIpAddress="
+            + externalIpAddress + ", networkConnectionIndex=" + networkConnectionIndex + ", ipAddressAllocationMode="
+            + ipAddressAllocationMode + ", MACAddress=" + MACAddress + "]";
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/NetworkConnectionSection.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/NetworkConnectionSection.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/NetworkConnectionSection.java
new file mode 100755
index 0000000..c6f5f37
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/NetworkConnectionSection.java
@@ -0,0 +1,218 @@
+/*
+ * 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.vcloud.domain;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.net.URI;
+import java.util.Set;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * The NetworkConnectionSection element specifies how a Vm is connected to a vApp network. It
+ * extends the ovf:NetworkConnection element.
+ * <p/>
+ * NOTE The OVF NetworkSection element and the vCloud API NetworkConnectionSection element specify
+ * many of the same parameters for a network connection. If both are present in a Vm body, the
+ * values specified in the NetworkConnectionSection override those specified in the NetworkSection.
+ */
+public class NetworkConnectionSection {
+   public static Builder builder() {
+      return new Builder();
+   }
+
+   public static class Builder {
+      protected String type;
+      protected URI href;
+      protected String info;
+      protected Integer primaryNetworkConnectionIndex;
+      protected Set<NetworkConnection> connections = ImmutableSet.of();
+      protected ReferenceType edit;
+
+      public Builder type(String type) {
+         this.type = type;
+         return this;
+      }
+
+      public Builder href(URI href) {
+         this.href = href;
+         return this;
+      }
+
+      public Builder info(String info) {
+         this.info = info;
+         return this;
+      }
+
+      public Builder primaryNetworkConnectionIndex(Integer primaryNetworkConnectionIndex) {
+         this.primaryNetworkConnectionIndex = primaryNetworkConnectionIndex;
+         return this;
+      }
+
+      public Builder connections(Iterable<NetworkConnection> connections) {
+         this.connections = ImmutableSet.copyOf(checkNotNull(connections, "connections"));
+         return this;
+      }
+
+      public Builder edit(ReferenceType edit) {
+         this.edit = edit;
+         return this;
+      }
+
+      public NetworkConnectionSection build() {
+         return new NetworkConnectionSection(type, href, info, primaryNetworkConnectionIndex, connections, edit);
+      }
+
+      public static Builder fromNetworkConnectionSection(NetworkConnectionSection in) {
+         return new Builder().type(in.getType()).href(in.getHref()).info(in.getInfo())
+               .primaryNetworkConnectionIndex(in.getPrimaryNetworkConnectionIndex()).connections(in.getConnections())
+               .edit(in.getEdit());
+      }
+   }
+
+   protected final String type;
+   protected final URI href;
+   protected final String info;
+   protected final Integer primaryNetworkConnectionIndex;
+   protected final Set<NetworkConnection> connections;
+   protected final ReferenceType edit;
+
+   public NetworkConnectionSection(String type, URI href, String info, Integer primaryNetworkConnectionIndex,
+         Iterable<NetworkConnection> connections, ReferenceType edit) {
+      this.type = type;
+      this.href = href;
+      this.info = info;
+      this.primaryNetworkConnectionIndex = primaryNetworkConnectionIndex;
+      this.connections = ImmutableSet.copyOf(checkNotNull(connections, "connections"));
+      this.edit = edit;
+   }
+
+   /**
+    * 
+    * @return media type of this section
+    */
+   public String getType() {
+      return type;
+   }
+
+   /**
+    * 
+    * @return URL to access this section
+    */
+   public URI getHref() {
+      return href;
+   }
+
+   /**
+    * 
+    * @return
+    */
+   public String getInfo() {
+      return info;
+   }
+
+   /**
+    * 
+    * @return The value of the rasd:AddressOnParent element of the device (NIC) supporting the
+    *         primary network connection to the containing virtual machine.
+    */
+   public Integer getPrimaryNetworkConnectionIndex() {
+      return primaryNetworkConnectionIndex;
+   }
+
+   /**
+    * 
+    */
+   public Set<NetworkConnection> getConnections() {
+      return connections;
+   }
+
+   /**
+    * 
+    */
+   public ReferenceType getEdit() {
+      return edit;
+   }
+
+   @Override
+   public int hashCode() {
+      final int prime = 31;
+      int result = 1;
+      result = prime * result + ((connections == null) ? 0 : connections.hashCode());
+      result = prime * result + ((edit == null) ? 0 : edit.hashCode());
+      result = prime * result + ((href == null) ? 0 : href.hashCode());
+      result = prime * result + ((info == null) ? 0 : info.hashCode());
+      result = prime * result
+            + ((primaryNetworkConnectionIndex == null) ? 0 : primaryNetworkConnectionIndex.hashCode());
+      result = prime * result + ((type == null) ? 0 : type.hashCode());
+      return result;
+   }
+
+   @Override
+   public boolean equals(Object obj) {
+      if (this == obj)
+         return true;
+      if (obj == null)
+         return false;
+      if (getClass() != obj.getClass())
+         return false;
+      NetworkConnectionSection other = (NetworkConnectionSection) obj;
+      if (connections == null) {
+         if (other.connections != null)
+            return false;
+      } else if (!connections.equals(other.connections))
+         return false;
+      if (edit == null) {
+         if (other.edit != null)
+            return false;
+      } else if (!edit.equals(other.edit))
+         return false;
+      if (href == null) {
+         if (other.href != null)
+            return false;
+      } else if (!href.equals(other.href))
+         return false;
+      if (info == null) {
+         if (other.info != null)
+            return false;
+      } else if (!info.equals(other.info))
+         return false;
+      if (primaryNetworkConnectionIndex == null) {
+         if (other.primaryNetworkConnectionIndex != null)
+            return false;
+      } else if (!primaryNetworkConnectionIndex.equals(other.primaryNetworkConnectionIndex))
+         return false;
+      if (type == null) {
+         if (other.type != null)
+            return false;
+      } else if (!type.equals(other.type))
+         return false;
+      return true;
+   }
+
+   public Builder toBuilder() {
+      return Builder.fromNetworkConnectionSection(this);
+   }
+
+   @Override
+   public String toString() {
+      return "[href=" + href + ", connections=" + connections + ", primaryNetworkConnectionIndex="
+            + primaryNetworkConnectionIndex + "]";
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Org.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Org.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Org.java
new file mode 100755
index 0000000..a71ad2f
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Org.java
@@ -0,0 +1,86 @@
+/*
+ * 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.vcloud.domain;
+
+import java.util.List;
+import java.util.Map;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.domain.internal.OrgImpl;
+
+import com.google.inject.ImplementedBy;
+
+/**
+ * A vCloud organization is a high-level abstraction that provides a unit of administration for
+ * objects and resources. As viewed by a user, an organization (represented by an Org element) can
+ * contain Catalog, Network, and vDC elements. If there are any queued, running, or recently
+ * completed tasks owned by a member of the organization, it also contains a TasksList element. As
+ * viewed by an administrator, an organization also contains users, groups, and other information
+ * 
+ * @author Adrian Cole
+ */
+@ImplementedBy(OrgImpl.class)
+public interface Org extends ReferenceType {
+   /**
+    * optional description
+    * 
+    * @since vcloud api 0.8
+    */
+   @Nullable
+   String getDescription();
+
+   /**
+    * full name of the organization
+    * 
+    * @since vcloud api 1.0
+    */
+   @Nullable
+   String getFullName();
+
+   /**
+    * @since vcloud api 0.8
+    */
+   Map<String, ReferenceType> getCatalogs();
+
+   /**
+    * @since vcloud api 0.8
+    */
+   Map<String, ReferenceType> getVDCs();
+
+   /**
+    * If there are any queued, running, or recently completed tasks owned by a member of the
+    * organization, it also contains a TasksList.
+    * 
+    * @since vcloud api 0.8
+    */
+   @Nullable
+   ReferenceType getTasksList();
+
+   /**
+    * @since vcloud api 1.0
+    */
+   Map<String, ReferenceType> getNetworks();
+
+   /**
+    * read‐only container for Task elements. Each element in the container represents a queued,
+    * running, or failed task owned by this object.
+    * 
+    * @since vcloud api 1.0
+    */
+   List<Task> getTasks();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/ReferenceType.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/ReferenceType.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/ReferenceType.java
new file mode 100755
index 0000000..98712f9
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/ReferenceType.java
@@ -0,0 +1,55 @@
+/*
+ * 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.vcloud.domain;
+
+import java.net.URI;
+
+import org.jclouds.vcloud.domain.internal.ReferenceTypeImpl;
+
+import com.google.inject.ImplementedBy;
+
+/**
+ * Many container elements are populated with references to contained objects. Each reference
+ * consists of a hyperlink, an optional media type, and a name.
+ * 
+ * @author Adrian Cole
+ * 
+ */
+@ImplementedBy(ReferenceTypeImpl.class)
+public interface ReferenceType extends Comparable<ReferenceType> {
+   /**
+    * @return hyperlink to the referenced object
+    */
+   URI getHref();
+
+   /**
+    * @return name of the referenced object.
+    * 
+    */
+   String getName();
+
+   /**
+    * @return object type, expressed as the media type of the XML representing of the object
+    * @see VCloudMediaType
+    */
+   String getType();
+   
+   /**
+    * @return relationship to the referenced object.
+    */
+   String getRelationship();
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Status.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Status.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Status.java
new file mode 100755
index 0000000..d215126
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Status.java
@@ -0,0 +1,246 @@
+/*
+ * 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.vcloud.domain;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+/**
+ * Objects such as vAppTemplate, vApp, and Vm have a status attribute whose value indicates the
+ * state of the object. Status for an object, such as a vAppTemplate or vApp, whose Children (Vm
+ * objects) each have a status of their own, is computed from the status of the Children.
+ * 
+ * <h2>NOTE</h2>
+ * <p/>
+ * The deployment status of an object is indicated by the value of its deployed attribute.
+ * 
+ * @since vcloud api 0.8
+ * 
+ * @author Adrian Cole
+ */
+public enum Status {
+   /**
+    * The {@link VAppTemplate}, {@link VApp}, or {@link Vm} could not be created.
+    * 
+    * @since vcloud api 1.0
+    */
+   ERROR,
+   /**
+    * The {@link VAppTemplate}, {@link VApp}, or {@link Vm} is unresolved.
+    * 
+    * @since vcloud api 0.8
+    */
+   UNRESOLVED,
+   /**
+    * The {@link VAppTemplate}, {@link VApp}, or {@link Vm} is resolved.
+    * 
+    * @since vcloud api 0.8
+    */
+   RESOLVED,
+   /**
+    * The object is deployed.
+    * <p/>
+    * note that the documentation does not reference use of this.
+    * 
+    * @since vcloud api 1.0
+    */
+   DEPLOYED,
+   /**
+    * The {@link VApp} or {@link Vm} is suspended.
+    * 
+    * @since vcloud api 0.8
+    */
+   SUSPENDED,
+   /**
+    * The {@link VApp} or {@link Vm} is powered on
+    * 
+    * @since vcloud api 0.8
+    */
+   ON,
+   /**
+    * The {@link VApp} or {@link Vm} waiting for user input.
+    * 
+    * @since vcloud api 1.0
+    */
+   WAITING_FOR_INPUT,
+   /**
+    * The {@link VAppTemplate}, {@link VApp}, or {@link Vm} is in an unknown state.
+    * 
+    * @since vcloud api 1.0
+    */
+   UNKNOWN,
+   /**
+    * The {@link VAppTemplate}, {@link VApp}, or {@link Vm} is in an unrecognized state.
+    * 
+    * @since vcloud api 1.0
+    */
+   UNRECOGNIZED,
+   /**
+    * The {@link VAppTemplate}, {@link VApp}, or {@link Vm} is off.
+    * 
+    * @since vcloud api 0.8
+    */
+   OFF,
+   /**
+    * The {@link VApp} or {@link Vm} is in an inconsistent state.
+    * 
+    * @since vcloud api 1.0
+    */
+   INCONSISTENT,
+   /**
+    * The {@link VAppTemplate} or {@link VApp} have children do not all have the same status.
+    * 
+    * @since vcloud api 1.0
+    */
+   MIXED,
+   /**
+    * The {@link VAppTemplate} Upload initiated, OVF descriptor pending
+    * 
+    * @since vcloud api 1.0
+    */
+   PENDING_DESCRIPTOR,
+   /**
+    * The {@link VAppTemplate} Upload initiated, copying contents
+    * 
+    * @since vcloud api 1.0
+    */
+   COPYING,
+   /**
+    * The {@link VAppTemplate} Upload initiated, disk contents pending
+    * 
+    * @since vcloud api 1.0
+    */
+   PENDING_CONTENTS,
+   /**
+    * The {@link VAppTemplate} Upload has been quarantined
+    * 
+    * @since vcloud api 1.0
+    */
+   QUARANTINED,
+   /**
+    * The {@link VAppTemplate} Upload quarantine period has expired
+    * 
+    * @since vcloud api 1.0
+    */
+   QUARANTINE_EXPIRED, 
+   /**
+    * The {@link VAppTemplate} rejected
+    * 
+    * @since vcloud api 1.0
+    */
+   REJECTED, 
+   /**
+    * The {@link VAppTemplate} transfer timeout
+    * 
+    * @since vcloud api 1.0
+    */
+   TRANSFER_TIMEOUT;
+
+   public String value() {
+      switch (this) {
+         case UNRESOLVED:
+            return "0";
+         case RESOLVED:
+            return "1";
+         case DEPLOYED:
+            return "2";
+         case SUSPENDED:
+            return "3";
+         case ON:
+            return "4";
+         case WAITING_FOR_INPUT:
+            return "5";
+         case UNKNOWN:
+            return "6";
+         case UNRECOGNIZED:
+            return "7";
+         case OFF:
+            return "8";
+         case INCONSISTENT:
+            return "9";
+         case MIXED:
+            return "10";
+         case PENDING_DESCRIPTOR:
+            return "11";
+         case COPYING:
+            return "12";
+         case PENDING_CONTENTS:
+            return "13";
+         case QUARANTINED:
+            return "14";
+         case QUARANTINE_EXPIRED:
+            return "15";
+         case REJECTED:
+            return "16";
+         case TRANSFER_TIMEOUT:
+            return "17";
+         default:
+            return "7";
+      }
+   }
+
+   public static Status fromValue(String status) {
+      try {
+         return fromValue(Integer.parseInt(checkNotNull(status, "status")));
+      } catch (IllegalArgumentException e) {
+         return UNRECOGNIZED;
+      }
+   }
+
+   public static Status fromValue(int v) {
+      switch (v) {
+         case 0:
+            return UNRESOLVED;
+         case 1:
+            return RESOLVED;
+         case 2:
+            return DEPLOYED;
+         case 3:
+            return SUSPENDED;
+         case 4:
+            return ON;
+         case 5:
+            return WAITING_FOR_INPUT;
+         case 6:
+            return UNKNOWN;
+         case 7:
+            return UNRECOGNIZED;
+         case 8:
+            return OFF;
+         case 9:
+            return INCONSISTENT;
+         case 10:
+            return MIXED;
+         case 11:
+            return PENDING_DESCRIPTOR;
+         case 12:
+            return COPYING;
+         case 13:
+            return PENDING_CONTENTS;
+         case 14:
+            return QUARANTINED;
+         case 15:
+            return QUARANTINE_EXPIRED;
+         case 16:
+            return REJECTED;
+         case 17:
+            return TRANSFER_TIMEOUT;
+         default:
+            return UNRECOGNIZED;
+      }
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Task.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Task.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Task.java
new file mode 100755
index 0000000..82585d6
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Task.java
@@ -0,0 +1,72 @@
+/*
+ * 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.vcloud.domain;
+
+import java.util.Date;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.domain.internal.TaskImpl;
+
+import com.google.inject.ImplementedBy;
+
+/**
+ * Whenever the result of a request cannot be returned immediately, the server creates a Task
+ * object. Tasks owned by an object such as a vApp or vDC are contained in the Tasks element of the
+ * object’s XML representation. This element is read‐only.
+ */
+@ImplementedBy(TaskImpl.class)
+public interface Task extends ReferenceType {
+   /**
+    * The current status of the task.
+    */
+   String getOperation();
+
+   /**
+    * The current status of the task.
+    */
+   TaskStatus getStatus();
+
+   /**
+    * date and time when the task was started.
+    */
+   Date getStartTime();
+
+   /**
+    * date and time when the task completed. Does not appear for running tasks.
+    */
+   Date getEndTime();
+
+   /**
+    * date and time at which the task expires. By default, tasks expire 24 hours after their start
+    * time. Expired tasks cannot be queried.
+    */
+   Date getExpiryTime();
+
+   /**
+    * A link to the object that owns the task. For copy operations, the owner is the copy that is
+    * being created. For delete operations, the owner is the deleted object, so this element is not
+    * included. For all other operations, the owner is the object to which the request was made.
+    */
+   ReferenceType getOwner();
+
+   /**
+    * error message or related information returned by the task
+    */
+   @Nullable
+   VCloudError getError();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/TaskStatus.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/TaskStatus.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/TaskStatus.java
new file mode 100755
index 0000000..f2ab975
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/TaskStatus.java
@@ -0,0 +1,71 @@
+/*
+ * 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.vcloud.domain;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+/**
+ * @author Adrian Cole
+ */
+public enum TaskStatus {
+   /**
+    * The task has completed and returned a value indicating success.
+    */
+   SUCCESS,
+   /**
+    * The task is running.
+    */
+   RUNNING,
+
+   /**
+    * The task has been queued for execution.
+    */
+   QUEUED,
+   /**
+    * The task has completed and returned a value indicating an error.
+    */
+   ERROR,
+   /**
+    * not an official status, temporarily in.
+    */
+   CANCELLED, UNRECOGNIZED;
+   public String value() {
+      return name().toLowerCase();
+   }
+
+   @Override
+   public String toString() {
+      return value();
+   }
+
+   public static TaskStatus fromValue(String status) {
+      if ("CANCELED".equals(status.toUpperCase())) {
+         // TODO: ecloud hack
+         status = "CANCELLED";
+      } else if ("FAILED".equals(status.toUpperCase())) {
+         status = "ERROR";
+      } else if ("COMPLETED".equals(status.toUpperCase())) {
+         status = "SUCCESS";
+      }
+      try {
+         return valueOf(checkNotNull(status, "status").toUpperCase());
+      } catch (IllegalArgumentException e) {
+         return UNRECOGNIZED;
+      }
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/TasksList.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/TasksList.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/TasksList.java
new file mode 100755
index 0000000..9d41fbc
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/TasksList.java
@@ -0,0 +1,37 @@
+/*
+ * 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.vcloud.domain;
+
+import java.net.URI;
+import java.util.SortedSet;
+
+import org.jclouds.vcloud.domain.internal.TasksListImpl;
+
+import com.google.inject.ImplementedBy;
+
+/**
+ * @author Adrian Cole
+ */
+@org.jclouds.vcloud.endpoints.TasksList
+@ImplementedBy(TasksListImpl.class)
+public interface TasksList {
+
+   URI getLocation();
+
+   SortedSet<Task> getTasks();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VApp.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VApp.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VApp.java
new file mode 100755
index 0000000..957bfd8
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VApp.java
@@ -0,0 +1,87 @@
+/*
+ * 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.vcloud.domain;
+
+import java.util.List;
+import java.util.Set;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.domain.ovf.VCloudNetworkSection;
+
+/**
+ * A VApp is the result of instantiation of a {@link VAppTemplate}. <h2>note</h2>
+ * <p/>
+ * When the {@link #getStatus} is {@link Status#UNRESOLVED}, there will be a task present for the
+ * instantiation of the VApp.
+ * 
+ * @author Adrian Cole
+ */
+public interface VApp extends ReferenceType {
+   /**
+    * Reference to the vdc containing this vApp.
+    * 
+    * @since vcloud api 1.0
+    * @return vdc, or null if this is a version before 1.0 where the org isn't present
+    */
+   ReferenceType getVDC();
+
+   /**
+    * The creation status of the vDC
+    * 
+    * @since vcloud api 1.0
+    */
+   Status getStatus();
+
+   /**
+    * optional description
+    * 
+    * @since vcloud api 0.8
+    */
+   @Nullable
+   String getDescription();
+
+   /**
+    * 
+    * @return true if the OVF descriptor for the template has been uploaded to the containing vDC.
+    * @since vcloud api 1.0
+    */
+   boolean isOvfDescriptorUploaded();
+
+   /**
+    * read‐only container for Task elements. Each element in the container represents a queued,
+    * running, or failed task owned by this object.
+    * 
+    * @since vcloud api 1.0
+    */
+   List<Task> getTasks();
+
+   /**
+    * container for Vm elements representing virtual machines
+    * 
+    * @since vcloud api 1.0
+    */
+   Set<Vm> getChildren();
+
+   /**
+    * description of the predefined vApp internal networks in this template
+    * 
+    * @return null if the vApp is not yet instantiated
+    * @since vcloud api 1.0
+    */
+   @Nullable
+   VCloudNetworkSection getNetworkSection();
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VAppTemplate.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VAppTemplate.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VAppTemplate.java
new file mode 100755
index 0000000..b290f2c
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VAppTemplate.java
@@ -0,0 +1,97 @@
+/*
+ * 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.vcloud.domain;
+
+import java.util.List;
+import java.util.Set;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.domain.internal.VAppTemplateImpl;
+import org.jclouds.vcloud.domain.ovf.VCloudNetworkSection;
+
+import com.google.inject.ImplementedBy;
+
+/**
+ * A VAppTemplate is an abstract description of a vApp. It is created when you upload an OVF package
+ * to a vDC.
+ * 
+ * @author Adrian Cole
+ */
+@ImplementedBy(VAppTemplateImpl.class)
+public interface VAppTemplate extends ReferenceType {
+   /**
+    * Reference to the VDC containing this template.
+    * 
+    * @since vcloud api 1.0
+    * @return org, or null if this is a version before 1.0 where the vdc isn't present
+    */
+   ReferenceType getVDC();
+
+   /**
+    * @return creation status of the VAppTemplate.
+    * 
+    * @since vcloud api 1.0
+    */
+   Status getStatus();
+
+   /**
+    * optional description
+    * 
+    * @since vcloud api 1.0
+    */
+   @Nullable
+   String getDescription();
+
+   /**
+    * read-only container for Task elements. Each element in the container represents a queued,
+    * running, or failed task owned by this object.
+    * 
+    * @since vcloud api 1.0
+    */
+   List<Task> getTasks();
+
+   /**
+    * 
+    * @return true if the OVF descriptor for the template has been uploaded to the containing vDC.
+    * @since vcloud api 1.0
+    */
+   boolean isOvfDescriptorUploaded();
+
+   /**
+    * read-only identifier created on import
+    * 
+    * @since vcloud api 1.0
+    */
+   @Nullable
+   String getVAppScopedLocalId();
+
+   /**
+    * container for Vm elements representing virtual machines
+    * 
+    * @since vcloud api 1.0
+    */
+   Set<Vm> getChildren();
+
+   /**
+    * description of the predefined vApp internal networks in this template
+    * 
+    * @return null if the vAppTemplate is still copying
+    * @since vcloud api 1.0
+    */
+   @Nullable
+   VCloudNetworkSection getNetworkSection();
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VCloudError.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VCloudError.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VCloudError.java
new file mode 100755
index 0000000..1c8f26d
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VCloudError.java
@@ -0,0 +1,123 @@
+/*
+ * 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.vcloud.domain;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.domain.internal.ErrorImpl;
+
+import com.google.inject.ImplementedBy;
+
+/**
+ * 
+ * 
+ * @author Adrian Cole
+ */
+@ImplementedBy(ErrorImpl.class)
+public interface VCloudError {
+   public static enum MinorCode {
+      /**
+       * The request was made by a user who had insufficient rights to the object or operation.
+       */
+      ACCESS_TO_RESOURCE_IS_FORBIDDEN,
+      /**
+       * The request could not be validated or contained invalid XML.
+       */
+      BAD_REQUEST,
+      /**
+       * A conflict was detected between sections of an OVF descriptor.
+       */
+      CONFLICT,
+      /**
+       * The entity is busy
+       */
+      BUSY_ENTITY,
+      /**
+       * An attempt to instantiate a vAppTemplate or use a vAppTemplate or a Vm in a composition did
+       * not include an AllEULAsAccepted element with a value of true.
+       */
+      EULA_NOT_ACCEPTED,
+      /**
+       * Returned for any failure that cannot be matched to another minor error code.
+       */
+      INTERNAL_SERVER_ERROR,
+      /**
+       * One or more references (href attribute values) supplied in the request could not be
+       * resolved to an object.
+       */
+      INVALID_REFERENCE,
+      /**
+       * The HTTP method (GET, PUT, POST, DELETE) is not allowed for the request.
+       */
+      METHOD_NOT_ALLOWED,
+      /**
+       * One or more references (href attribute values) supplied in the request could not be
+       * resolved to an object, or the Content‐type of the request was incorrect.
+       */
+      RESOURCE_NOT_FOUND,
+      /**
+       * The request raised an exception that did not match any HTTP status code.
+       */
+      UNKNOWN,
+      /**
+       * The wrong content type was specified for the request.
+       */
+      UNSUPPORTED_MEDIA_TYPE, UNRECOGNIZED;
+
+      public static MinorCode fromValue(String minorCode) {
+         try {
+            return valueOf(checkNotNull(minorCode, "minorCode"));
+         } catch (IllegalArgumentException e) {
+            return UNRECOGNIZED;
+         }
+      }
+   }
+
+   /**
+    * 
+    * @return message describing the error
+    */
+   String getMessage();
+
+   /**
+    * 
+    * @return matches the HTTP status code
+    */
+   int getMajorErrorCode();
+
+   /**
+    * 
+    * @return error code specific to the failed operation or null if vcloud <0.9
+    */
+   @Nullable
+   MinorCode getMinorErrorCode();
+
+   /**
+    * 
+    * @return optional additional information about the source of the error
+    */
+   @Nullable
+   String getVendorSpecificErrorCode();
+
+   /**
+    * 
+    * @return stack trace of the error, if available. This attribute is returned only when a request
+    *         is made by the system administrator.
+    */
+   String getStackTrace();
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VCloudSession.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VCloudSession.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VCloudSession.java
new file mode 100755
index 0000000..1ba5699
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VCloudSession.java
@@ -0,0 +1,29 @@
+/*
+ * 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.vcloud.domain;
+
+import java.util.Map;
+
+/**
+ * 
+ * @author Adrian Cole
+ */
+public interface VCloudSession {
+   String getVCloudToken();
+
+   Map<String, ReferenceType> getOrgs();
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VDC.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VDC.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VDC.java
new file mode 100755
index 0000000..205a38a
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VDC.java
@@ -0,0 +1,146 @@
+/*
+ * 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.vcloud.domain;
+
+import java.util.List;
+import java.util.Map;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.domain.internal.VDCImpl;
+
+import com.google.inject.ImplementedBy;
+
+/**
+ * A vDC is a deployment environment for vApps. A Vdc element provides a user view of a vDC.
+ * 
+ * @author Adrian Cole
+ */
+@org.jclouds.vcloud.endpoints.VDC
+@ImplementedBy(VDCImpl.class)
+public interface VDC extends ReferenceType {
+   /**
+    * Reference to the org containing this vDC.
+    * 
+    * @since vcloud api 1.0
+    * @return org, or null if this is a version before 1.0 where the org isn't present
+    */
+   ReferenceType getOrg();
+
+   /**
+    * The creation status of the vDC
+    * 
+    * @since vcloud api 1.0
+    */
+   VDCStatus getStatus();
+
+   /**
+    * optional description
+    * 
+    * @since vcloud api 0.8
+    */
+   @Nullable
+   String getDescription();
+
+   /**
+    * read‐only container for Task elements. Each element in the container represents a queued,
+    * running, or failed task owned by this object.
+    * 
+    * @since vcloud api 1.0
+    */
+   List<Task> getTasks();
+
+   /**
+    * defines how resources are allocated by the vDC. The value of this element is set by the
+    * administrator who created the vDC. It is read‐only to users.
+    * 
+    * @since vcloud api 1.0
+    */
+   AllocationModel getAllocationModel();
+
+   /**
+    * defines the storage capacity available in the vDC
+    * 
+    * @since vcloud api 0.8
+    * @return null if the provider doesn't support storage capacity
+    */
+   @Nullable
+   Capacity getStorageCapacity();
+
+   /**
+    * reports CPU resource consumption in a vDC
+    * 
+    * @since vcloud api 0.8
+    * @return null if the provider doesn't support cpu capacity
+    */
+   @Nullable
+   Capacity getCpuCapacity();
+
+   /**
+    * reports memory resource consumption in a vDC
+    * 
+    * @since vcloud api 0.8
+    * @return null if the provider doesn't support memory capacity
+    */
+   @Nullable
+   Capacity getMemoryCapacity();
+
+   /**
+    * container for ResourceEntity elements
+    * 
+    * @since vcloud api 0.8
+    */
+   Map<String, ReferenceType> getResourceEntities();
+
+   /**
+    * container for OrgNetwork elements that represent organization networks contained by the vDC
+    * 
+    * @since vcloud api 0.8
+    */
+   Map<String, ReferenceType> getAvailableNetworks();
+
+   /**
+    * maximum number of virtual NICs allowed in this vDC. Defaults to 0, which specifies an
+    * unlimited number.
+    * 
+    * @since vcloud api 1.0
+    */
+   int getNicQuota();
+
+   /**
+    * maximum number of OrgNetwork objects that can be deployed in this vDC. Defaults to 0, which
+    * specifies an unlimited number.
+    * 
+    * @since vcloud api 1.0
+    */
+   int getNetworkQuota();
+
+   /**
+    * maximum number of virtual machines that can be deployed in this vDC. Defaults to 0, which
+    * specifies an unlimited number.
+    * 
+    * @since vcloud api 0.8
+    */
+   int getVmQuota();
+
+   /**
+    * true if this vDC is enabled
+    * 
+    * @since vcloud api 1.0
+    */
+   boolean isEnabled();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VDCStatus.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VDCStatus.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VDCStatus.java
new file mode 100755
index 0000000..81b25d9
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/VDCStatus.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.vcloud.domain;
+
+/**
+ * The creation status of the vDC
+ * 
+ * @see VDC#getStatus
+ */
+public enum VDCStatus {
+
+   CREATION_FAILED, NOT_READY, READY, UNKNOWN, UNRECOGNIZED;
+
+   public int value() {
+      switch (this) {
+         case CREATION_FAILED:
+            return -1;
+         case NOT_READY:
+            return 0;
+         case READY:
+            return 1;
+         case UNKNOWN:
+            return 2;
+         default:
+            return 3;
+      }
+   }
+
+   public static VDCStatus fromValue(int status) {
+      switch (status) {
+         case -1:
+            return CREATION_FAILED;
+         case 0:
+            return NOT_READY;
+         case 1:
+            return READY;
+         case 2:
+            return UNKNOWN;
+         default:
+            return UNRECOGNIZED;
+      }
+   }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Vm.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Vm.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Vm.java
new file mode 100755
index 0000000..0fd8f34
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/Vm.java
@@ -0,0 +1,108 @@
+/*
+ * 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.vcloud.domain;
+
+import java.util.List;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.domain.internal.VmImpl;
+import org.jclouds.vcloud.domain.ovf.VCloudOperatingSystemSection;
+import org.jclouds.vcloud.domain.ovf.VCloudVirtualHardwareSection;
+
+import com.google.inject.ImplementedBy;
+
+/**
+ * A Vm represents a virtual machine, a member of a vApp’s Children container. <h2>note</h2>
+ * <p/>
+ * When the {@link #getStatus} is {@link Status#UNRESOLVED}, there will be a task present for the
+ * instantiation of the VApp.
+ * 
+ * @author Adrian Cole
+ */
+@ImplementedBy(VmImpl.class)
+public interface Vm extends ReferenceType {
+   /**
+    * Reference to the {@link VApp} or {@link VAppTemplate} containing this vm.
+    * 
+    * @since vcloud api 1.0
+    */
+   ReferenceType getParent();
+
+   /**
+    * @return creation status of the Vm or null, if a part of a VAppTemplate
+    * 
+    * @since vcloud api 1.0
+    */
+   @Nullable
+   Status getStatus();
+
+   /**
+    * optional description
+    * 
+    * @since vcloud api 0.8
+    */
+   @Nullable
+   String getDescription();
+
+   /**
+    * read‐only container for Task elements. Each element in the container represents a queued,
+    * running, or failed task owned by this object.
+    * 
+    * @since vcloud api 1.0
+    */
+   List<Task> getTasks();
+
+   /**
+    * @return virtual hardware that comprises this VM, or null, if part of a vApp template
+    * 
+    * @since vcloud api 1.0
+    */
+   @Nullable
+   VCloudVirtualHardwareSection getVirtualHardwareSection();
+
+   /**
+    * @return operating system on this VM, or null, if part of a vApp template
+    * 
+    * @since vcloud api 1.0
+    */
+   @Nullable
+   VCloudOperatingSystemSection getOperatingSystemSection();
+
+   /**
+    * @return network connections for this VM, or null if it doesn't exist
+    * 
+    * @since vcloud api 1.0
+    */
+   @Nullable
+   NetworkConnectionSection getNetworkConnectionSection();
+
+   /**
+    * @return guest customization section for this VM, or null if it doesn't exist
+    * 
+    * @since vcloud api 1.0
+    */
+   @Nullable
+   GuestCustomizationSection getGuestCustomizationSection();
+
+   /**
+    * read-only identifier created on import
+    * 
+    * @since vcloud api 1.0
+    */
+   @Nullable
+   String getVAppScopedLocalId();
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/CatalogImpl.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/CatalogImpl.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/CatalogImpl.java
new file mode 100755
index 0000000..983600e
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/CatalogImpl.java
@@ -0,0 +1,193 @@
+/*
+ * 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.vcloud.domain.internal;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.net.URI;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.domain.Catalog;
+import org.jclouds.vcloud.domain.ReferenceType;
+import org.jclouds.vcloud.domain.Task;
+
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+/**
+ * Locations of resources in vCloud
+ * 
+ * @author Adrian Cole
+ * 
+ */
+public class CatalogImpl extends LinkedHashMap<String, ReferenceType> implements Catalog {
+
+   private final String name;
+   private final String type;
+   private final URI href;
+   private final ReferenceType org;
+   @Nullable
+   private final String description;
+   private final List<Task> tasks = Lists.newArrayList();
+   private final boolean published;
+   private final boolean readOnly;
+
+   public CatalogImpl(String name, String type, URI href, ReferenceType org, @Nullable String description,
+            Map<String, ReferenceType> contents, Iterable<Task> tasks, boolean published, boolean readOnly) {
+      this.name = checkNotNull(name, "name");
+      this.type = checkNotNull(type, "type");
+      this.org = org;// TODO: once <1.0 is killed check not null
+      this.description = description;
+      this.href = checkNotNull(href, "href");
+      putAll(checkNotNull(contents, "contents"));
+      Iterables.addAll(this.tasks, checkNotNull(tasks, "tasks"));
+      this.published = published;
+      this.readOnly = readOnly;
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public URI getHref() {
+      return href;
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public String getName() {
+      return name;
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public ReferenceType getOrg() {
+      return org;
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   public String getDescription() {
+      return description;
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public String getType() {
+      return type;
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public List<Task> getTasks() {
+      return tasks;
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public boolean isPublished() {
+      return published;
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public boolean isReadOnly() {
+      return readOnly;
+   }
+
+   @Override
+   public int hashCode() {
+      final int prime = 31;
+      int result = super.hashCode();
+      result = prime * result + ((description == null) ? 0 : description.hashCode());
+      result = prime * result + ((href == null) ? 0 : href.hashCode());
+      result = prime * result + ((name == null) ? 0 : name.hashCode());
+      result = prime * result + ((org == null) ? 0 : org.hashCode());
+      result = prime * result + ((tasks == null) ? 0 : tasks.hashCode());
+      result = prime * result + ((type == null) ? 0 : type.hashCode());
+      return result;
+   }
+
+   @Override
+   public boolean equals(Object obj) {
+      if (this == obj)
+         return true;
+      if (!super.equals(obj))
+         return false;
+      if (getClass() != obj.getClass())
+         return false;
+      CatalogImpl other = (CatalogImpl) obj;
+      if (description == null) {
+         if (other.description != null)
+            return false;
+      } else if (!description.equals(other.description))
+         return false;
+      if (href == null) {
+         if (other.href != null)
+            return false;
+      } else if (!href.equals(other.href))
+         return false;
+      if (name == null) {
+         if (other.name != null)
+            return false;
+      } else if (!name.equals(other.name))
+         return false;
+      if (org == null) {
+         if (other.org != null)
+            return false;
+      } else if (!org.equals(other.org))
+         return false;
+      if (tasks == null) {
+         if (other.tasks != null)
+            return false;
+      } else if (!tasks.equals(other.tasks))
+         return false;
+      if (type == null) {
+         if (other.type != null)
+            return false;
+      } else if (!type.equals(other.type))
+         return false;
+      return true;
+   }
+
+   @Override
+   public int compareTo(ReferenceType o) {
+      return (this == o) ? 0 : getHref().compareTo(o.getHref());
+   }
+
+   @Override
+   public String getRelationship() {
+	   throw new UnsupportedOperationException();
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/CatalogItemImpl.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/CatalogItemImpl.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/CatalogItemImpl.java
new file mode 100755
index 0000000..5a972e5
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/CatalogItemImpl.java
@@ -0,0 +1,111 @@
+/*
+ * 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.vcloud.domain.internal;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.net.URI;
+import java.util.Map;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.VCloudMediaType;
+import org.jclouds.vcloud.domain.CatalogItem;
+import org.jclouds.vcloud.domain.ReferenceType;
+
+import com.google.common.collect.Maps;
+
+/**
+ * 
+ * @author Adrian Cole
+ * 
+ */
+public class CatalogItemImpl extends ReferenceTypeImpl implements CatalogItem {
+
+   private final String description;
+   private final ReferenceType entity;
+   private final Map<String, String> properties = Maps.newLinkedHashMap();
+
+   public CatalogItemImpl(String name, URI id, @Nullable String description, ReferenceType entity,
+         Map<String, String> properties) {
+      super(name, VCloudMediaType.CATALOGITEM_XML, id);
+      this.description = description;
+      this.entity = checkNotNull(entity, "entity");
+      this.properties.putAll(checkNotNull(properties, "properties"));
+   }
+
+   @Override
+   public String getType() {
+      return VCloudMediaType.CATALOGITEM_XML;
+   }
+
+   public ReferenceType getEntity() {
+      return entity;
+   }
+
+   @Override
+   public String getDescription() {
+      return description;
+   }
+
+   public Map<String, String> getProperties() {
+      return properties;
+   }
+
+   @Override
+   public String toString() {
+      return "CatalogItemImpl [id=" + getHref() + ", name=" + getName() + ", type=" + getType() + ", description="
+            + getDescription() + ", entity=" + entity + ", properties=" + properties + "]";
+   }
+
+   @Override
+   public int hashCode() {
+      final int prime = 31;
+      int result = super.hashCode();
+      result = prime * result + ((description == null) ? 0 : description.hashCode());
+      result = prime * result + ((entity == null) ? 0 : entity.hashCode());
+      result = prime * result + ((properties == null) ? 0 : properties.hashCode());
+      return result;
+   }
+
+   @Override
+   public boolean equals(Object obj) {
+      if (this == obj)
+         return true;
+      if (!super.equals(obj))
+         return false;
+      if (getClass() != obj.getClass())
+         return false;
+      CatalogItemImpl other = (CatalogItemImpl) obj;
+      if (description == null) {
+         if (other.description != null)
+            return false;
+      } else if (!description.equals(other.description))
+         return false;
+      if (entity == null) {
+         if (other.entity != null)
+            return false;
+      } else if (!entity.equals(other.entity))
+         return false;
+      if (properties == null) {
+         if (other.properties != null)
+            return false;
+      } else if (!properties.equals(other.properties))
+         return false;
+      return true;
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/ErrorImpl.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/ErrorImpl.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/ErrorImpl.java
new file mode 100755
index 0000000..5eb7ea1
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/ErrorImpl.java
@@ -0,0 +1,119 @@
+/*
+ * 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.vcloud.domain.internal;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.domain.VCloudError;
+
+/**
+ * 
+ * @author Adrian Cole
+ * 
+ */
+public class ErrorImpl implements VCloudError {
+   private final String message;
+   private final int majorErrorCode;
+   private final MinorCode minorErrorCode;
+   @Nullable
+   private final String vendorSpecificErrorCode;
+   @Nullable
+   private final String stackTrace;
+
+   public ErrorImpl(String message, int majorErrorCode, @Nullable MinorCode minorErrorCode,
+            @Nullable String vendorSpecificErrorCode, @Nullable String stackTrace) {
+      this.message = checkNotNull(message, "message");
+      this.majorErrorCode = majorErrorCode;
+      this.minorErrorCode = minorErrorCode; // check null after 0.8 is gone
+      this.vendorSpecificErrorCode = vendorSpecificErrorCode;
+      this.stackTrace = stackTrace;
+   }
+
+   public String getMessage() {
+      return message;
+   }
+
+   public int getMajorErrorCode() {
+      return majorErrorCode;
+   }
+
+   public MinorCode getMinorErrorCode() {
+      return minorErrorCode;
+   }
+
+   public String getVendorSpecificErrorCode() {
+      return vendorSpecificErrorCode;
+   }
+
+   public String getStackTrace() {
+      return stackTrace;
+   }
+
+   @Override
+   public int hashCode() {
+      final int prime = 31;
+      int result = 1;
+      result = prime * result + majorErrorCode;
+      result = prime * result + ((message == null) ? 0 : message.hashCode());
+      result = prime * result + ((minorErrorCode == null) ? 0 : minorErrorCode.hashCode());
+      result = prime * result + ((stackTrace == null) ? 0 : stackTrace.hashCode());
+      result = prime * result + ((vendorSpecificErrorCode == null) ? 0 : vendorSpecificErrorCode.hashCode());
+      return result;
+   }
+
+   @Override
+   public boolean equals(Object obj) {
+      if (this == obj)
+         return true;
+      if (obj == null)
+         return false;
+      if (getClass() != obj.getClass())
+         return false;
+      ErrorImpl other = (ErrorImpl) obj;
+      if (majorErrorCode != other.majorErrorCode)
+         return false;
+      if (message == null) {
+         if (other.message != null)
+            return false;
+      } else if (!message.equals(other.message))
+         return false;
+      if (minorErrorCode == null) {
+         if (other.minorErrorCode != null)
+            return false;
+      } else if (!minorErrorCode.equals(other.minorErrorCode))
+         return false;
+      if (stackTrace == null) {
+         if (other.stackTrace != null)
+            return false;
+      } else if (!stackTrace.equals(other.stackTrace))
+         return false;
+      if (vendorSpecificErrorCode == null) {
+         if (other.vendorSpecificErrorCode != null)
+            return false;
+      } else if (!vendorSpecificErrorCode.equals(other.vendorSpecificErrorCode))
+         return false;
+      return true;
+   }
+
+   @Override
+   public String toString() {
+      return "[majorErrorCode=" + majorErrorCode + ", message=" + message + ", minorErrorCode=" + minorErrorCode
+               + ", stackTrace=" + stackTrace + ", vendorSpecificErrorCode=" + vendorSpecificErrorCode + "]";
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/OrgImpl.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/OrgImpl.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/OrgImpl.java
new file mode 100755
index 0000000..a085076
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/OrgImpl.java
@@ -0,0 +1,171 @@
+/*
+ * 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.vcloud.domain.internal;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.net.URI;
+import java.util.List;
+import java.util.Map;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.vcloud.domain.Org;
+import org.jclouds.vcloud.domain.ReferenceType;
+import org.jclouds.vcloud.domain.Task;
+
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+
+/**
+ * Locations of resources in vCloud
+ * 
+ * @author Adrian Cole
+ * 
+ */
+public class OrgImpl extends ReferenceTypeImpl implements Org {
+   private final String fullName;
+   @Nullable
+   private final String description;
+   private final Map<String, ReferenceType> catalogs = Maps.newLinkedHashMap();
+   private final Map<String, ReferenceType> vdcs = Maps.newLinkedHashMap();
+   private final Map<String, ReferenceType> networks = Maps.newLinkedHashMap();
+   private final ReferenceType tasksList;
+   private final List<Task> tasks = Lists.newArrayList();
+
+   public OrgImpl(String name, String type, URI id, String fullName, String description,
+            Map<String, ReferenceType> catalogs, Map<String, ReferenceType> vdcs, Map<String, ReferenceType> networks,
+            @Nullable ReferenceType tasksList, Iterable<Task> tasks) {
+      super(name, type, id);
+      this.fullName = checkNotNull(fullName, "fullName");
+      this.description = description;
+      this.catalogs.putAll(checkNotNull(catalogs, "catalogs"));
+      this.vdcs.putAll(checkNotNull(vdcs, "vdcs"));
+      this.networks.putAll(checkNotNull(networks, "networks"));
+      this.tasksList = tasksList;
+      Iterables.addAll(this.tasks, checkNotNull(tasks, "tasks"));
+   }
+
+   @Override
+   public String getFullName() {
+      return fullName;
+   }
+
+   @Override
+   public String getDescription() {
+      return description;
+   }
+
+   @Override
+   public Map<String, ReferenceType> getCatalogs() {
+      return catalogs;
+   }
+
+   @Override
+   public Map<String, ReferenceType> getVDCs() {
+      return vdcs;
+   }
+
+   @Override
+   public Map<String, ReferenceType> getNetworks() {
+      return networks;
+   }
+
+   @Override
+   public ReferenceType getTasksList() {
+      return tasksList;
+   }
+
+   @Override
+   public List<Task> getTasks() {
+      return tasks;
+   }
+
+   @Override
+   public int hashCode() {
+      final int prime = 31;
+      int result = super.hashCode();
+      result = prime * result + ((catalogs == null) ? 0 : catalogs.hashCode());
+      result = prime * result + ((description == null) ? 0 : description.hashCode());
+      result = prime * result + ((fullName == null) ? 0 : fullName.hashCode());
+      result = prime * result + ((networks == null) ? 0 : networks.hashCode());
+      result = prime * result + ((tasks == null) ? 0 : tasks.hashCode());
+      result = prime * result + ((tasksList == null) ? 0 : tasksList.hashCode());
+      result = prime * result + ((vdcs == null) ? 0 : vdcs.hashCode());
+      return result;
+   }
+
+   @Override
+   public boolean equals(Object obj) {
+      if (this == obj)
+         return true;
+      if (!super.equals(obj))
+         return false;
+      if (getClass() != obj.getClass())
+         return false;
+      OrgImpl other = (OrgImpl) obj;
+      if (catalogs == null) {
+         if (other.catalogs != null)
+            return false;
+      } else if (!catalogs.equals(other.catalogs))
+         return false;
+      if (description == null) {
+         if (other.description != null)
+            return false;
+      } else if (!description.equals(other.description))
+         return false;
+      if (fullName == null) {
+         if (other.fullName != null)
+            return false;
+      } else if (!fullName.equals(other.fullName))
+         return false;
+      if (networks == null) {
+         if (other.networks != null)
+            return false;
+      } else if (!networks.equals(other.networks))
+         return false;
+      if (tasks == null) {
+         if (other.tasks != null)
+            return false;
+      } else if (!tasks.equals(other.tasks))
+         return false;
+      if (tasksList == null) {
+         if (other.tasksList != null)
+            return false;
+      } else if (!tasksList.equals(other.tasksList))
+         return false;
+      if (vdcs == null) {
+         if (other.vdcs != null)
+            return false;
+      } else if (!vdcs.equals(other.vdcs))
+         return false;
+      return true;
+   }
+
+   @Override
+   public int compareTo(ReferenceType o) {
+      return (this == o) ? 0 : getHref().compareTo(o.getHref());
+   }
+
+   @Override
+   public String toString() {
+      return "[href=" + getHref() + ", name=" + getName() + ", type=" + getType() + ", fullName=" + fullName
+               + ", description=" + description + ", catalogs=" + catalogs + ", networks=" + networks + ", tasksList="
+               + tasksList + ", vdcs=" + vdcs + ", tasks=" + tasks + "]";
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/19c8cdaf/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/ReferenceTypeImpl.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/ReferenceTypeImpl.java b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/ReferenceTypeImpl.java
new file mode 100755
index 0000000..b0ed12f
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.7.1-stratos/src/main/java/org/jclouds/vcloud/domain/internal/ReferenceTypeImpl.java
@@ -0,0 +1,103 @@
+/*
+ * 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.vcloud.domain.internal;
+
+import static com.google.common.base.Objects.equal;
+
+import java.net.URI;
+
+import org.jclouds.vcloud.domain.ReferenceType;
+
+import com.google.common.base.Objects;
+import com.google.common.base.Objects.ToStringHelper;
+
+/**
+ * Location of a Rest resource
+ * 
+ * @author Adrian Cole
+ * 
+ */
+public class ReferenceTypeImpl implements ReferenceType {
+   private final String name;
+   private final String type;
+   private final URI href;
+   private final String relationship;
+
+   public ReferenceTypeImpl(String name, String type, URI href) {
+      this.name = name;
+      this.type = type;
+      this.href = href;
+      this.relationship = null;
+   }
+   
+   public ReferenceTypeImpl(String name, String type, URI href, String relationship) {
+	   this.name = name;
+	   this.type = type;
+	   this.href = href;
+	   this.relationship = relationship;
+   }
+
+   @Override
+   public String getName() {
+      return name;
+   }
+
+   @Override
+   public String getType() {
+      return type;
+   }
+
+   @Override
+   public URI getHref() {
+      return href;
+   }
+
+   @Override
+   public int compareTo(ReferenceType that) {
+      return (this == that) ? 0 : getHref().compareTo(that.getHref());
+   }
+
+   @Override
+   public boolean equals(Object o) {
+      if (this == o)
+         return true;
+      if (o == null || getClass() != o.getClass())
+         return false;
+      ReferenceTypeImpl that = ReferenceTypeImpl.class.cast(o);
+      return equal(this.href, that.href);
+   }
+
+   @Override
+   public int hashCode() {
+      return Objects.hashCode(href);
+   }
+
+   @Override
+   public String toString() {
+      return string().toString();
+   }
+
+   protected ToStringHelper string() {
+      return Objects.toStringHelper("").omitNullValues().add("href", href).add("name", name).add("type", type).add("relationship", relationship);
+   }
+
+   @Override
+   public String getRelationship() {
+	   return relationship;
+   }
+   
+}