You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/08/20 11:35:57 UTC

[11/51] [abbrv] [partial] stratos git commit: Revert "Upgrading to jclouds 1.9.1"

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/EditableResourceAllocationSettingData.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/EditableResourceAllocationSettingData.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/EditableResourceAllocationSettingData.java
new file mode 100644
index 0000000..b12be86
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/EditableResourceAllocationSettingData.java
@@ -0,0 +1,298 @@
+/*
+ * 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.ovf;
+
+import java.util.List;
+
+import org.jclouds.cim.ResourceAllocationSettingData;
+import org.jclouds.vcloud.domain.ReferenceType;
+
+public class EditableResourceAllocationSettingData extends ResourceAllocationSettingData {
+
+   public static Builder builder() {
+      return new Builder();
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public Builder toBuilder() {
+      return builder().fromEditableResourceAllocationSettingData(this);
+   }
+
+   public static class Builder extends ResourceAllocationSettingData.Builder {
+      private ReferenceType edit;
+
+      /**
+       * @see EditableResourceAllocationSettingData#getEdit
+       */
+      public Builder edit(ReferenceType edit) {
+         this.edit = edit;
+         return this;
+      }
+
+      public EditableResourceAllocationSettingData build() {
+         return new EditableResourceAllocationSettingData(elementName, instanceID, caption, description, address,
+               addressOnParent, allocationUnits, automaticAllocation, automaticDeallocation, consumerVisibility, limit,
+               mappingBehavior, otherResourceType, parent, poolID, reservation, resourceSubType, resourceType,
+               virtualQuantity, virtualQuantityUnits, weight, connections, hostResources, edit);
+      }
+
+      public Builder fromEditableResourceAllocationSettingData(EditableResourceAllocationSettingData in) {
+         return edit(in.getEdit()).fromResourceAllocationSettingData(in);
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder caption(String caption) {
+         return Builder.class.cast(super.caption(caption));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder description(String description) {
+         return Builder.class.cast(super.description(description));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder elementName(String elementName) {
+         return Builder.class.cast(super.elementName(elementName));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder instanceID(String instanceID) {
+         return Builder.class.cast(super.instanceID(instanceID));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder address(String address) {
+         return Builder.class.cast(super.address(address));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder addressOnParent(String addressOnParent) {
+         return Builder.class.cast(super.addressOnParent(addressOnParent));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder allocationUnits(String allocationUnits) {
+         return Builder.class.cast(super.allocationUnits(allocationUnits));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder automaticAllocation(Boolean automaticAllocation) {
+         return Builder.class.cast(super.automaticAllocation(automaticAllocation));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder automaticDeallocation(Boolean automaticDeallocation) {
+         return Builder.class.cast(super.automaticDeallocation(automaticDeallocation));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder connection(String connection) {
+         return Builder.class.cast(super.connection(connection));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder connections(List<String> connections) {
+         return Builder.class.cast(super.connections(connections));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder consumerVisibility(ConsumerVisibility consumerVisibility) {
+         return Builder.class.cast(super.consumerVisibility(consumerVisibility));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder hostResource(String hostResource) {
+         return Builder.class.cast(super.hostResource(hostResource));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder hostResources(List<String> hostResources) {
+         return Builder.class.cast(super.hostResources(hostResources));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder limit(Long limit) {
+         return Builder.class.cast(super.limit(limit));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder mappingBehavior(MappingBehavior mappingBehavior) {
+         return Builder.class.cast(super.mappingBehavior(mappingBehavior));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder otherResourceType(String otherResourceType) {
+         return Builder.class.cast(super.otherResourceType(otherResourceType));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder parent(String parent) {
+         return Builder.class.cast(super.parent(parent));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder poolID(String poolID) {
+         return Builder.class.cast(super.poolID(poolID));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder reservation(Long reservation) {
+         return Builder.class.cast(super.reservation(reservation));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder resourceSubType(String resourceSubType) {
+         return Builder.class.cast(super.resourceSubType(resourceSubType));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder resourceType(org.jclouds.cim.ResourceAllocationSettingData.ResourceType resourceType) {
+         return Builder.class.cast(super.resourceType(resourceType));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder virtualQuantity(Long virtualQuantity) {
+         return Builder.class.cast(super.virtualQuantity(virtualQuantity));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder virtualQuantityUnits(String virtualQuantityUnits) {
+         return Builder.class.cast(super.virtualQuantityUnits(virtualQuantityUnits));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder weight(Integer weight) {
+         return Builder.class.cast(super.weight(weight));
+      }
+
+      @Override
+      public Builder fromResourceAllocationSettingData(ResourceAllocationSettingData in) {
+         return Builder.class.cast(super.fromResourceAllocationSettingData(in));
+      }
+
+   }
+
+   private final ReferenceType edit;
+
+   public EditableResourceAllocationSettingData(String elementName, String instanceID, String caption,
+         String description, String address, String addressOnParent, String allocationUnits,
+         Boolean automaticAllocation, Boolean automaticDeallocation, ConsumerVisibility consumerVisibility, Long limit,
+         MappingBehavior mappingBehavior, String otherResourceType, String parent, String poolID, Long reservation,
+         String resourceSubType, org.jclouds.cim.ResourceAllocationSettingData.ResourceType resourceType,
+         Long virtualQuantity, String virtualQuantityUnits, Integer weight, List<String> connections,
+         List<String> hostResources, ReferenceType edit) {
+      super(elementName, instanceID, caption, description, address, addressOnParent, allocationUnits,
+            automaticAllocation, automaticDeallocation, consumerVisibility, limit, mappingBehavior, otherResourceType,
+            parent, poolID, reservation, resourceSubType, resourceType, virtualQuantity, virtualQuantityUnits, weight,
+            connections, hostResources);
+      this.edit = edit;
+   }
+
+   public ReferenceType getEdit() {
+      return edit;
+   }
+
+   @Override
+   public String toString() {
+      return String
+            .format(
+                  "[elementName=%s, instanceID=%s, caption=%s, description=%s, address=%s, addressOnParent=%s, allocationUnits=%s, automaticAllocation=%s, automaticDeallocation=%s, connections=%s, consumerVisibility=%s, hostResources=%s, limit=%s, mappingBehavior=%s, otherResourceType=%s, parent=%s, poolID=%s, reservation=%s, resourceSubType=%s, resourceType=%s, virtualQuantity=%s, virtualQuantityUnits=%s, weight=%s, edit=%s]",
+                  elementName, instanceID, caption, description, address, addressOnParent, allocationUnits,
+                  automaticAllocation, automaticDeallocation, connections, consumerVisibility, hostResources, limit,
+                  mappingBehavior, otherResourceType, parent, poolID, reservation, resourceSubType, resourceType,
+                  virtualQuantity, virtualQuantityUnits, weight, edit);
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudHardDisk.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudHardDisk.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudHardDisk.java
new file mode 100644
index 0000000..b281785
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudHardDisk.java
@@ -0,0 +1,326 @@
+/*
+ * 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.ovf;
+
+import java.util.List;
+
+import org.jclouds.cim.ResourceAllocationSettingData;
+
+public class VCloudHardDisk extends ResourceAllocationSettingData {
+
+   public static Builder builder() {
+      return new Builder();
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public Builder toBuilder() {
+      return builder().fromVCloudHardDisk(this);
+   }
+
+   public static class Builder extends ResourceAllocationSettingData.Builder {
+      private long capacity;
+      private int busType;
+      private String busSubType;
+
+      /**
+       * @see VCloudHardDisk#getCapacity
+       */
+      public Builder capacity(long capacity) {
+         this.capacity = capacity;
+         return this;
+      }
+
+      /**
+       * @see VCloudHardDisk#getBusType
+       */
+      public Builder busType(int busType) {
+         this.busType = busType;
+         return this;
+      }
+
+      /**
+       * @see VCloudHardDisk#getBusSubType
+       */
+      public Builder busSubType(String busSubType) {
+         this.busSubType = busSubType;
+         return this;
+      }
+
+      public VCloudHardDisk build() {
+         return new VCloudHardDisk(elementName, instanceID, caption, description, address, addressOnParent,
+               allocationUnits, automaticAllocation, automaticDeallocation, consumerVisibility, limit, mappingBehavior,
+               otherResourceType, parent, poolID, reservation, resourceSubType, resourceType, virtualQuantity,
+               virtualQuantityUnits, weight, connections, hostResources, capacity, busType, busSubType);
+      }
+
+      public Builder fromVCloudHardDisk(VCloudHardDisk in) {
+         return capacity(in.getCapacity()).busType(in.getBusType()).busSubType(in.getBusSubType())
+               .fromResourceAllocationSettingData(in);
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder caption(String caption) {
+         return Builder.class.cast(super.caption(caption));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder description(String description) {
+         return Builder.class.cast(super.description(description));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder elementName(String elementName) {
+         return Builder.class.cast(super.elementName(elementName));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder instanceID(String instanceID) {
+         return Builder.class.cast(super.instanceID(instanceID));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder address(String address) {
+         return Builder.class.cast(super.address(address));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder addressOnParent(String addressOnParent) {
+         return Builder.class.cast(super.addressOnParent(addressOnParent));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder allocationUnits(String allocationUnits) {
+         return Builder.class.cast(super.allocationUnits(allocationUnits));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder automaticAllocation(Boolean automaticAllocation) {
+         return Builder.class.cast(super.automaticAllocation(automaticAllocation));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder automaticDeallocation(Boolean automaticDeallocation) {
+         return Builder.class.cast(super.automaticDeallocation(automaticDeallocation));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder connection(String connection) {
+         return Builder.class.cast(super.connection(connection));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder connections(List<String> connections) {
+         return Builder.class.cast(super.connections(connections));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder consumerVisibility(ConsumerVisibility consumerVisibility) {
+         return Builder.class.cast(super.consumerVisibility(consumerVisibility));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder hostResource(String hostResource) {
+         return Builder.class.cast(super.hostResource(hostResource));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder hostResources(List<String> hostResources) {
+         return Builder.class.cast(super.hostResources(hostResources));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder limit(Long limit) {
+         return Builder.class.cast(super.limit(limit));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder mappingBehavior(MappingBehavior mappingBehavior) {
+         return Builder.class.cast(super.mappingBehavior(mappingBehavior));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder otherResourceType(String otherResourceType) {
+         return Builder.class.cast(super.otherResourceType(otherResourceType));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder parent(String parent) {
+         return Builder.class.cast(super.parent(parent));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder poolID(String poolID) {
+         return Builder.class.cast(super.poolID(poolID));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder reservation(Long reservation) {
+         return Builder.class.cast(super.reservation(reservation));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder resourceSubType(String resourceSubType) {
+         return Builder.class.cast(super.resourceSubType(resourceSubType));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder resourceType(org.jclouds.cim.ResourceAllocationSettingData.ResourceType resourceType) {
+         return Builder.class.cast(super.resourceType(resourceType));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder virtualQuantity(Long virtualQuantity) {
+         return Builder.class.cast(super.virtualQuantity(virtualQuantity));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder virtualQuantityUnits(String virtualQuantityUnits) {
+         return Builder.class.cast(super.virtualQuantityUnits(virtualQuantityUnits));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder weight(Integer weight) {
+         return Builder.class.cast(super.weight(weight));
+      }
+
+      @Override
+      public Builder fromResourceAllocationSettingData(ResourceAllocationSettingData in) {
+         return Builder.class.cast(super.fromResourceAllocationSettingData(in));
+      }
+   }
+
+   private final long capacity;
+   private final int busType;
+   private final String busSubType;
+
+   public VCloudHardDisk(String elementName, String instanceID, String caption, String description, String address,
+         String addressOnParent, String allocationUnits, Boolean automaticAllocation, Boolean automaticDeallocation,
+         ConsumerVisibility consumerVisibility, Long limit, MappingBehavior mappingBehavior, String otherResourceType,
+         String parent, String poolID, Long reservation, String resourceSubType,
+         org.jclouds.cim.ResourceAllocationSettingData.ResourceType resourceType, Long virtualQuantity,
+         String virtualQuantityUnits, Integer weight, List<String> connections, List<String> hostResources,
+         long capacity, int busType, String busSubType) {
+      super(elementName, instanceID, caption, description, address, addressOnParent, allocationUnits,
+            automaticAllocation, automaticDeallocation, consumerVisibility, limit, mappingBehavior, otherResourceType,
+            parent, poolID, reservation, resourceSubType, resourceType, virtualQuantity, virtualQuantityUnits, weight,
+            connections, hostResources);
+      this.capacity = capacity;
+      this.busType = busType;
+      this.busSubType = busSubType;
+   }
+
+   public long getCapacity() {
+      return capacity;
+   }
+
+   public int getBusType() {
+      return busType;
+   }
+
+   public String getBusSubType() {
+      return busSubType;
+   }
+
+   @Override
+   public String toString() {
+      return String
+            .format(
+                  "[elementName=%s, instanceID=%s, caption=%s, description=%s, address=%s, addressOnParent=%s, allocationUnits=%s, automaticAllocation=%s, automaticDeallocation=%s, connections=%s, consumerVisibility=%s, hostResources=%s, limit=%s, mappingBehavior=%s, otherResourceType=%s, parent=%s, poolID=%s, reservation=%s, resourceSubType=%s, resourceType=%s, virtualQuantity=%s, virtualQuantityUnits=%s, weight=%s, busSubType=%s, busType=%s, capacity=%s]",
+                  elementName, instanceID, caption, description, address, addressOnParent, allocationUnits,
+                  automaticAllocation, automaticDeallocation, connections, consumerVisibility, hostResources, limit,
+                  mappingBehavior, otherResourceType, parent, poolID, reservation, resourceSubType, resourceType,
+                  virtualQuantity, virtualQuantityUnits, weight, busSubType, busType, capacity);
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudNetworkAdapter.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudNetworkAdapter.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudNetworkAdapter.java
new file mode 100644
index 0000000..7a48916
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudNetworkAdapter.java
@@ -0,0 +1,328 @@
+/*
+ * 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.ovf;
+
+import java.util.List;
+
+import org.jclouds.cim.ResourceAllocationSettingData;
+
+public class VCloudNetworkAdapter extends ResourceAllocationSettingData {
+
+   public static Builder builder() {
+      return new Builder();
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public Builder toBuilder() {
+      return builder().fromVCloudNetworkAdapter(this);
+   }
+   
+   public static class Builder extends ResourceAllocationSettingData.Builder {
+      private String ipAddress;
+      private boolean primaryNetworkConnection;
+      private String ipAddressingMode;
+
+      /**
+       * @see VCloudNetworkAdapter#getCapacity
+       */
+      public Builder ipAddress(String ipAddress) {
+         this.ipAddress = ipAddress;
+         return this;
+      }
+
+      /**
+       * @see VCloudNetworkAdapter#getBusType
+       */
+      public Builder primaryNetworkConnection(boolean primaryNetworkConnection) {
+         this.primaryNetworkConnection = primaryNetworkConnection;
+         return this;
+      }
+
+      /**
+       * @see VCloudNetworkAdapter#getBusSubType
+       */
+      public Builder ipAddressingMode(String ipAddressingMode) {
+         this.ipAddressingMode = ipAddressingMode;
+         return this;
+      }
+
+      public VCloudNetworkAdapter build() {
+         return new VCloudNetworkAdapter(elementName, instanceID, caption, description, address, addressOnParent,
+                  allocationUnits, automaticAllocation, automaticDeallocation, consumerVisibility, limit,
+                  mappingBehavior, otherResourceType, parent, poolID, reservation, resourceSubType, resourceType,
+                  virtualQuantity, virtualQuantityUnits, weight, connections, hostResources, ipAddress,
+                  primaryNetworkConnection, ipAddressingMode);
+      }
+
+      public Builder fromVCloudNetworkAdapter(VCloudNetworkAdapter in) {
+         return ipAddress(in.getIpAddress()).primaryNetworkConnection(in.isPrimaryNetworkConnection())
+                  .ipAddressingMode(in.getIpAddressingMode()).fromResourceAllocationSettingData(in);
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder caption(String caption) {
+         return Builder.class.cast(super.caption(caption));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder description(String description) {
+         return Builder.class.cast(super.description(description));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder elementName(String elementName) {
+         return Builder.class.cast(super.elementName(elementName));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder instanceID(String instanceID) {
+         return Builder.class.cast(super.instanceID(instanceID));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder address(String address) {
+         return Builder.class.cast(super.address(address));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder addressOnParent(String addressOnParent) {
+         return Builder.class.cast(super.addressOnParent(addressOnParent));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder allocationUnits(String allocationUnits) {
+         return Builder.class.cast(super.allocationUnits(allocationUnits));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder automaticAllocation(Boolean automaticAllocation) {
+         return Builder.class.cast(super.automaticAllocation(automaticAllocation));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder automaticDeallocation(Boolean automaticDeallocation) {
+         return Builder.class.cast(super.automaticDeallocation(automaticDeallocation));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder connection(String connection) {
+         return Builder.class.cast(super.connection(connection));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder connections(List<String> connections) {
+         return Builder.class.cast(super.connections(connections));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder consumerVisibility(ConsumerVisibility consumerVisibility) {
+         return Builder.class.cast(super.consumerVisibility(consumerVisibility));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder hostResource(String hostResource) {
+         return Builder.class.cast(super.hostResource(hostResource));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder hostResources(List<String> hostResources) {
+         return Builder.class.cast(super.hostResources(hostResources));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder limit(Long limit) {
+         return Builder.class.cast(super.limit(limit));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder mappingBehavior(MappingBehavior mappingBehavior) {
+         return Builder.class.cast(super.mappingBehavior(mappingBehavior));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder otherResourceType(String otherResourceType) {
+         return Builder.class.cast(super.otherResourceType(otherResourceType));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder parent(String parent) {
+         return Builder.class.cast(super.parent(parent));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder poolID(String poolID) {
+         return Builder.class.cast(super.poolID(poolID));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder reservation(Long reservation) {
+         return Builder.class.cast(super.reservation(reservation));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder resourceSubType(String resourceSubType) {
+         return Builder.class.cast(super.resourceSubType(resourceSubType));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder resourceType(org.jclouds.cim.ResourceAllocationSettingData.ResourceType resourceType) {
+         return Builder.class.cast(super.resourceType(resourceType));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder virtualQuantity(Long virtualQuantity) {
+         return Builder.class.cast(super.virtualQuantity(virtualQuantity));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder virtualQuantityUnits(String virtualQuantityUnits) {
+         return Builder.class.cast(super.virtualQuantityUnits(virtualQuantityUnits));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder weight(Integer weight) {
+         return Builder.class.cast(super.weight(weight));
+      }
+
+      @Override
+      public Builder fromResourceAllocationSettingData(ResourceAllocationSettingData in) {
+         return Builder.class.cast(super.fromResourceAllocationSettingData(in));
+      }
+   }
+
+   private final String ipAddress;
+   private final boolean primaryNetworkConnection;
+   private final String ipAddressingMode;
+
+   public VCloudNetworkAdapter(String elementName, String instanceID, String caption, String description,
+            String address, String addressOnParent, String allocationUnits, Boolean automaticAllocation,
+            Boolean automaticDeallocation, ConsumerVisibility consumerVisibility, Long limit,
+            MappingBehavior mappingBehavior, String otherResourceType, String parent, String poolID, Long reservation,
+            String resourceSubType, org.jclouds.cim.ResourceAllocationSettingData.ResourceType resourceType,
+            Long virtualQuantity, String virtualQuantityUnits, Integer weight, List<String> connections,
+            List<String> hostResources, String ipAddress, boolean primaryNetworkConnection, String ipAddressingMode) {
+      super(elementName, instanceID, caption, description, address, addressOnParent, allocationUnits,
+               automaticAllocation, automaticDeallocation, consumerVisibility, limit, mappingBehavior,
+               otherResourceType, parent, poolID, reservation, resourceSubType, resourceType, virtualQuantity,
+               virtualQuantityUnits, weight, connections, hostResources);
+      this.ipAddress = ipAddress;
+      this.primaryNetworkConnection = primaryNetworkConnection;
+      this.ipAddressingMode = ipAddressingMode;
+   }
+
+   public String getIpAddress() {
+      return ipAddress;
+   }
+
+   public boolean isPrimaryNetworkConnection() {
+      return primaryNetworkConnection;
+   }
+
+   public String getIpAddressingMode() {
+      return ipAddressingMode;
+   }
+
+   @Override
+   public String toString() {
+      return String
+               .format(
+                        "[elementName=%s, instanceID=%s, caption=%s, description=%s, address=%s, addressOnParent=%s, allocationUnits=%s, automaticAllocation=%s, automaticDeallocation=%s, connections=%s, consumerVisibility=%s, hostResources=%s, limit=%s, mappingBehavior=%s, otherResourceType=%s, parent=%s, poolID=%s, reservation=%s, resourceSubType=%s, resourceType=%s, virtualQuantity=%s, virtualQuantityUnits=%s, weight=%s, ipAddressingMode=%s, primaryNetworkConnection=%s, ipAddress=%s]",
+                        elementName, instanceID, caption, description, address, addressOnParent, allocationUnits,
+                        automaticAllocation, automaticDeallocation, connections, consumerVisibility, hostResources,
+                        limit, mappingBehavior, otherResourceType, parent, poolID, reservation, resourceSubType,
+                        resourceType, virtualQuantity, virtualQuantityUnits, weight, ipAddressingMode,
+                        primaryNetworkConnection, ipAddress);
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudNetworkSection.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudNetworkSection.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudNetworkSection.java
new file mode 100644
index 0000000..64dddc5
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudNetworkSection.java
@@ -0,0 +1,80 @@
+/*
+ * 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.ovf;
+
+import java.net.URI;
+
+import org.jclouds.ovf.Network;
+import org.jclouds.ovf.NetworkSection;
+
+/**
+ * VCloud extension
+ */
+public class VCloudNetworkSection extends NetworkSection {
+   protected final String type;
+   protected final URI href;
+
+   public VCloudNetworkSection(String type, URI href, String info, Iterable<Network> networks) {
+      super(info, networks);
+      this.type = type;
+      this.href = href;
+   }
+
+   public String getType() {
+      return type;
+   }
+
+   public URI getHref() {
+      return href;
+   }
+
+   @Override
+   public int hashCode() {
+      final int prime = 31;
+      int result = super.hashCode();
+      result = prime * result + ((href == null) ? 0 : href.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;
+      VCloudNetworkSection other = (VCloudNetworkSection) obj;
+      if (href == null) {
+         if (other.href != null)
+            return false;
+      } else if (!href.equals(other.href))
+         return false;
+      if (type == null) {
+         if (other.type != null)
+            return false;
+      } else if (!type.equals(other.type))
+         return false;
+      return true;
+   }
+
+   @Override
+   public String toString() {
+      return "[href=" + getHref() + ", type=" + getType() + ", info=" + getInfo() + ", networks=" + getNetworks() + "]";
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudOperatingSystemSection.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudOperatingSystemSection.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudOperatingSystemSection.java
new file mode 100644
index 0000000..052eadd
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudOperatingSystemSection.java
@@ -0,0 +1,118 @@
+/*
+ * 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.ovf;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import java.net.URI;
+
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.ovf.OperatingSystemSection;
+import org.jclouds.vcloud.domain.ReferenceType;
+
+/**
+ * A description of the operating system supported by a virtual machine.
+ */
+public class VCloudOperatingSystemSection extends OperatingSystemSection {
+   protected final String type;
+   protected final URI href;
+   @Nullable
+   protected final String vmwOsType;
+   protected final ReferenceType edit;
+
+   public VCloudOperatingSystemSection(@Nullable Integer id, @Nullable String info, @Nullable String description, String type,
+            URI href, @Nullable String vmwOsType, ReferenceType edit) {
+      super(id, info, description);
+      this.type = type;
+      this.href = href;
+      this.vmwOsType = vmwOsType;
+      this.edit = checkNotNull(edit, "edit");
+   }
+
+   public String getType() {
+      return type;
+   }
+
+   public URI getHref() {
+      return href;
+   }
+
+   /**
+    * 
+    * @return VMware osType, if running on VMware
+    */
+   public String getVmwOsType() {
+      return vmwOsType;
+   }
+
+   /**
+    * 
+    * @return edit link
+    */
+   public ReferenceType getEdit() {
+      return edit;
+   }
+
+   @Override
+   public String toString() {
+      return "[href=" + getHref() + ", type=" + getType() + ", id=" + getId() + ", vmwOsType=" + getVmwOsType()
+               + ", description=" + getDescription() + "]";
+   }
+
+   @Override
+   public int hashCode() {
+      final int prime = 31;
+      int result = super.hashCode();
+      result = prime * result + ((edit == null) ? 0 : edit.hashCode());
+      result = prime * result + ((href == null) ? 0 : href.hashCode());
+      result = prime * result + ((type == null) ? 0 : type.hashCode());
+      result = prime * result + ((vmwOsType == null) ? 0 : vmwOsType.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;
+      VCloudOperatingSystemSection other = (VCloudOperatingSystemSection) obj;
+      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 (type == null) {
+         if (other.type != null)
+            return false;
+      } else if (!type.equals(other.type))
+         return false;
+      if (vmwOsType == null) {
+         if (other.vmwOsType != null)
+            return false;
+      } else if (!vmwOsType.equals(other.vmwOsType))
+         return false;
+      return true;
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudVirtualHardwareSection.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudVirtualHardwareSection.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudVirtualHardwareSection.java
new file mode 100644
index 0000000..6d89b95
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/domain/ovf/VCloudVirtualHardwareSection.java
@@ -0,0 +1,179 @@
+/*
+ * 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.ovf;
+
+import java.net.URI;
+
+import org.jclouds.cim.ResourceAllocationSettingData;
+import org.jclouds.cim.VirtualSystemSettingData;
+import org.jclouds.ovf.Section;
+import org.jclouds.ovf.VirtualHardwareSection;
+
+/**
+ * A description of the virtual hardware supported by a virtual machine.
+ */
+public class VCloudVirtualHardwareSection extends VirtualHardwareSection {
+   public static Builder builder() {
+      return new Builder();
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   @Override
+   public Builder toBuilder() {
+      return builder().fromVCloudVirtualHardwareSection(this);
+   }
+
+   public static class Builder extends VirtualHardwareSection.Builder {
+      protected String type;
+      protected URI href;
+
+      /**
+       * @see VCloudVirtualHardware#getType
+       */
+      public Builder type(String type) {
+         this.type = type;
+         return this;
+      }
+
+      /**
+       * @see VCloudVirtualHardware#getHref
+       */
+      public Builder href(URI href) {
+         this.href = href;
+         return this;
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder system(VirtualSystemSettingData virtualSystem) {
+         return Builder.class.cast(super.system(virtualSystem));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder transport(String transport) {
+         return Builder.class.cast(super.transport(transport));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder transports(Iterable<String> transports) {
+         return Builder.class.cast(super.transports(transports));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder item(ResourceAllocationSettingData item) {
+         return Builder.class.cast(super.item(item));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder items(Iterable<? extends ResourceAllocationSettingData> items) {
+         return Builder.class.cast(super.items(items));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public VCloudVirtualHardwareSection build() {
+         return new VCloudVirtualHardwareSection(type, href, info, transports, virtualSystem, items);
+      }
+
+      public Builder fromVCloudVirtualHardwareSection(VCloudVirtualHardwareSection in) {
+         return fromVirtualHardwareSection(in).type(in.getType()).href(in.getHref());
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder fromVirtualHardwareSection(VirtualHardwareSection in) {
+         return Builder.class.cast(super.fromVirtualHardwareSection(in));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder fromSection(Section<VirtualHardwareSection> in) {
+         return Builder.class.cast(super.fromSection(in));
+      }
+
+      /**
+       * {@inheritDoc}
+       */
+      @Override
+      public Builder info(String info) {
+         return Builder.class.cast(super.info(info));
+      }
+   }
+
+   protected final String type;
+   protected final URI href;
+
+   public VCloudVirtualHardwareSection(String type, URI href, String info, Iterable<String> transports,
+         VirtualSystemSettingData virtualSystem, Iterable<? extends ResourceAllocationSettingData> resourceAllocations) {
+      super(info, transports, virtualSystem, resourceAllocations);
+      this.type = type;
+      this.href = href;
+   }
+
+   public String getType() {
+      return type;
+   }
+
+   public URI getHref() {
+      return href;
+   }
+
+   @Override
+   public int hashCode() {
+      return href.hashCode();
+   }
+
+   @Override
+   public boolean equals(Object obj) {
+      if (this == obj)
+         return true;
+      if (!super.equals(obj))
+         return false;
+      if (getClass() != obj.getClass())
+         return false;
+      VCloudVirtualHardwareSection other = (VCloudVirtualHardwareSection) obj;
+      return href.equals(other.href);
+   }
+
+   @Override
+   public String toString() {
+      return "[href=" + getHref() + ", type=" + getType() + ", info=" + getInfo() + ", virtualSystem=" + getSystem()
+            + "]";
+   }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Catalog.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Catalog.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Catalog.java
new file mode 100644
index 0000000..7b59d1e
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Catalog.java
@@ -0,0 +1,34 @@
+/*
+ * 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.endpoints;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Related to a VCloud Catalog.
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE, ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
+@Qualifier
+public @interface Catalog {
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Network.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Network.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Network.java
new file mode 100644
index 0000000..f30162e
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Network.java
@@ -0,0 +1,34 @@
+/*
+ * 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.endpoints;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Related to a VCloud Network.
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE, ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
+@Qualifier
+public @interface Network {
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Org.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Org.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Org.java
new file mode 100644
index 0000000..167b1ee
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/Org.java
@@ -0,0 +1,34 @@
+/*
+ * 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.endpoints;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Related to a VCloud express Org.
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE, ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
+@Qualifier
+public @interface Org {
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/OrgList.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/OrgList.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/OrgList.java
new file mode 100644
index 0000000..5e0caab
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/OrgList.java
@@ -0,0 +1,34 @@
+/*
+ * 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.endpoints;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Related to a VCloud express Org List.
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE, ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
+@Qualifier
+public @interface OrgList {
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/TasksList.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/TasksList.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/TasksList.java
new file mode 100644
index 0000000..333a39f
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/TasksList.java
@@ -0,0 +1,34 @@
+/*
+ * 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.endpoints;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Related to a VCloud express Task List.
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE, ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
+@Qualifier
+public @interface TasksList {
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/VCloudLogin.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/VCloudLogin.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/VCloudLogin.java
new file mode 100644
index 0000000..7d3124b
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/VCloudLogin.java
@@ -0,0 +1,36 @@
+/*
+ * 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.endpoints;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Represents a component related to vCloud.
+ * 
+ * @see <a href="https://community.vcloudexpress.terremark.com/en-us/discussion_forums/f/60.aspx" />
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE, ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
+@Qualifier
+public @interface VCloudLogin {
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/VDC.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/VDC.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/VDC.java
new file mode 100644
index 0000000..193eb74
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/endpoints/VDC.java
@@ -0,0 +1,34 @@
+/*
+ * 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.endpoints;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+/**
+ * Related to a VCloud express Catalog.
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.TYPE, ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
+@Qualifier
+public @interface VDC {
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/CatalogApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/CatalogApi.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/CatalogApi.java
new file mode 100644
index 0000000..1aa660e
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/CatalogApi.java
@@ -0,0 +1,143 @@
+/*
+ * 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.features;
+
+import static org.jclouds.vcloud.VCloudMediaType.CATALOGITEM_XML;
+import static org.jclouds.vcloud.VCloudMediaType.CATALOG_XML;
+
+import java.net.URI;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+
+import org.jclouds.Fallbacks;
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.rest.annotations.EndpointParam;
+import org.jclouds.rest.annotations.Fallback;
+import org.jclouds.rest.annotations.MapBinder;
+import org.jclouds.rest.annotations.PayloadParam;
+import org.jclouds.rest.annotations.RequestFilters;
+import org.jclouds.rest.annotations.XMLResponseParser;
+import org.jclouds.vcloud.binders.BindCatalogItemToXmlPayload;
+import org.jclouds.vcloud.binders.OrgNameAndCatalogNameToEndpoint;
+import org.jclouds.vcloud.binders.OrgNameCatalogNameItemNameToEndpoint;
+import org.jclouds.vcloud.domain.Catalog;
+import org.jclouds.vcloud.domain.CatalogItem;
+import org.jclouds.vcloud.filters.AddVCloudAuthorizationAndCookieToRequest;
+import org.jclouds.vcloud.options.CatalogItemOptions;
+import org.jclouds.vcloud.xml.CatalogHandler;
+import org.jclouds.vcloud.xml.CatalogItemHandler;
+
+
+/**
+ * Provides access to Catalog functionality in vCloud
+ * <p/>
+ * 
+ * @see <a href="http://communities.vmware.com/community/developer/forums/vcloudapi" />
+ */
+@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
+public interface CatalogApi {
+
+   @GET
+   @XMLResponseParser(CatalogHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   @Consumes(CATALOG_XML)
+   Catalog getCatalog(@EndpointParam URI catalogId);
+
+   /**
+    * returns the catalog in the organization associated with the specified name. Note that both
+    * parameters can be null to choose default.
+    * 
+    * @param orgName
+    *           organization name, or null for the default
+    * @param catalogName
+    *           catalog name, or null for the default
+    * @throws NoSuchElementException
+    *            if you specified an org or catalog name that isn't present
+    */
+   @GET
+   @XMLResponseParser(CatalogHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   @Consumes(CATALOG_XML)
+   @MapBinder(OrgNameAndCatalogNameToEndpoint.class)
+   Catalog findCatalogInOrgNamed(@Nullable @PayloadParam("orgName") String orgName,
+                                 @Nullable @PayloadParam("catalogName") String catalogName);
+
+   @GET
+   @Consumes(CATALOGITEM_XML)
+   @XMLResponseParser(CatalogItemHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   CatalogItem getCatalogItem(@EndpointParam URI catalogItem);
+
+   /**
+    * returns the catalog item in the catalog associated with the specified name. Note that the org
+    * and catalog parameters can be null to choose default.
+    * 
+    * @param orgName
+    *           organization name, or null for the default
+    * @param catalogName
+    *           catalog name, or null for the default
+    * @param itemName
+    *           item you wish to lookup
+    * 
+    * @throws NoSuchElementException
+    *            if you specified an org, catalog, or catalog item name that isn't present
+    */
+   @GET
+   @Consumes(CATALOGITEM_XML)
+   @XMLResponseParser(CatalogItemHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   @MapBinder(OrgNameCatalogNameItemNameToEndpoint.class)
+   CatalogItem findCatalogItemInOrgCatalogNamed(@Nullable @PayloadParam("orgName") String orgName,
+                                                @Nullable @PayloadParam("catalogName") String catalogName,
+                                                @PayloadParam("itemName") String itemName);
+
+   /**
+    * A catalog can contain references to vApp templates and media images that have been uploaded to
+    * any vDC in an organization. A vApp template or media image can be listed in at most one
+    * catalog.
+    * 
+    * @param entity
+    *           the reference to the vApp templates and media image
+    * @param catalog
+    *           URI of the catalog to add the resourceEntity from
+    * @param name
+    *           name of the entry in the catalog
+    * 
+    * @param options
+    *           options such as description or properties
+    * @return the new catalog item
+    */
+   @POST
+   @Path("/catalogItems")
+   @Consumes(CATALOGITEM_XML)
+   @Produces(CATALOGITEM_XML)
+   @MapBinder(BindCatalogItemToXmlPayload.class)
+   @XMLResponseParser(CatalogItemHandler.class)
+   CatalogItem addVAppTemplateOrMediaImageToCatalogAndNameItem(@PayloadParam("Entity") URI entity,
+                                                               @EndpointParam URI catalog,
+                                                               @PayloadParam("name") String name,
+                                                               CatalogItemOptions... options);
+
+   @DELETE
+   @Fallback(Fallbacks.VoidOnNotFoundOr404.class)
+   void deleteCatalogItem(@EndpointParam URI href);
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/NetworkApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/NetworkApi.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/NetworkApi.java
new file mode 100644
index 0000000..d36e471
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/NetworkApi.java
@@ -0,0 +1,60 @@
+/*
+ * 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.features;
+
+import static org.jclouds.vcloud.VCloudMediaType.NETWORK_XML;
+
+import java.net.URI;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+
+import org.jclouds.Fallbacks;
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.rest.annotations.EndpointParam;
+import org.jclouds.rest.annotations.Fallback;
+import org.jclouds.rest.annotations.MapBinder;
+import org.jclouds.rest.annotations.PayloadParam;
+import org.jclouds.rest.annotations.RequestFilters;
+import org.jclouds.rest.annotations.XMLResponseParser;
+import org.jclouds.vcloud.binders.OrgNameVDCNameNetworkNameToEndpoint;
+import org.jclouds.vcloud.domain.network.OrgNetwork;
+import org.jclouds.vcloud.filters.AddVCloudAuthorizationAndCookieToRequest;
+import org.jclouds.vcloud.xml.OrgNetworkHandler;
+
+/**
+ * Provides access to Network functionality in vCloud
+ * <p/>
+ */
+@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
+public interface NetworkApi {
+
+   @GET
+   @Consumes(NETWORK_XML)
+   @XMLResponseParser(OrgNetworkHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   @MapBinder(OrgNameVDCNameNetworkNameToEndpoint.class)
+   OrgNetwork findNetworkInOrgVDCNamed(@Nullable @PayloadParam("orgName") String orgName,
+                                       @Nullable @PayloadParam("vdcName") String vdcName,
+                                       @PayloadParam("resourceName") String networkName);
+
+   @GET
+   @Consumes(NETWORK_XML)
+   @XMLResponseParser(OrgNetworkHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   OrgNetwork getNetwork(@EndpointParam URI network);
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/OrgApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/OrgApi.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/OrgApi.java
new file mode 100644
index 0000000..3b7cf3a
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/OrgApi.java
@@ -0,0 +1,84 @@
+/*
+ * 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.features;
+
+import static org.jclouds.vcloud.VCloudMediaType.ORG_XML;
+
+import java.net.URI;
+import java.util.Map;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+
+import org.jclouds.Fallbacks;
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.rest.annotations.Endpoint;
+import org.jclouds.rest.annotations.EndpointParam;
+import org.jclouds.rest.annotations.Fallback;
+import org.jclouds.rest.annotations.RequestFilters;
+import org.jclouds.rest.annotations.XMLResponseParser;
+import org.jclouds.vcloud.VCloudMediaType;
+import org.jclouds.vcloud.domain.Org;
+import org.jclouds.vcloud.domain.ReferenceType;
+import org.jclouds.vcloud.endpoints.OrgList;
+import org.jclouds.vcloud.filters.AddVCloudAuthorizationAndCookieToRequest;
+import org.jclouds.vcloud.functions.OrgNameToEndpoint;
+import org.jclouds.vcloud.xml.OrgHandler;
+import org.jclouds.vcloud.xml.OrgListHandler;
+
+
+/**
+ * Provides access to Org functionality in vCloud
+ * <p/>
+ */
+@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
+public interface OrgApi {
+
+   /**
+    * The response to a login request includes a list of the organizations to which the
+    * authenticated user has access.
+    * 
+    * @return organizations indexed by name
+    */
+   @GET
+   @Endpoint(OrgList.class)
+   @XMLResponseParser(OrgListHandler.class)
+   @Consumes(VCloudMediaType.ORGLIST_XML)
+   Map<String, ReferenceType> listOrgs();
+
+   @GET
+   @XMLResponseParser(OrgHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   @Consumes(ORG_XML)
+   Org getOrg(@EndpointParam URI orgId);
+
+   /**
+    * This call returns a list of all vCloud Data Centers (vdcs), catalogs, and task lists within
+    * the organization.
+    * 
+    * @param name
+    *           organization name, or null for the default
+    * @throws NoSuchElementException
+    *            if you specified an org name that isn't present
+    */
+   @GET
+   @XMLResponseParser(OrgHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   @Consumes(ORG_XML)
+   Org findOrgNamed(@Nullable @EndpointParam(parser = OrgNameToEndpoint.class) String orgName);
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/TaskApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/TaskApi.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/TaskApi.java
new file mode 100644
index 0000000..b9a60a6
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/TaskApi.java
@@ -0,0 +1,80 @@
+/*
+ * 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.features;
+
+import static org.jclouds.vcloud.VCloudMediaType.TASKSLIST_XML;
+import static org.jclouds.vcloud.VCloudMediaType.TASK_XML;
+
+import java.net.URI;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+
+import org.jclouds.Fallbacks;
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.rest.annotations.EndpointParam;
+import org.jclouds.rest.annotations.Fallback;
+import org.jclouds.rest.annotations.RequestFilters;
+import org.jclouds.rest.annotations.XMLResponseParser;
+import org.jclouds.vcloud.domain.Task;
+import org.jclouds.vcloud.domain.TasksList;
+import org.jclouds.vcloud.filters.AddVCloudAuthorizationAndCookieToRequest;
+import org.jclouds.vcloud.functions.OrgNameToTasksListEndpoint;
+import org.jclouds.vcloud.xml.TaskHandler;
+import org.jclouds.vcloud.xml.TasksListHandler;
+
+/**
+ * Provides access to Task functionality in vCloud
+ * <p/>
+ */
+@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
+public interface TaskApi {
+
+   @GET
+   @Consumes(TASKSLIST_XML)
+   @XMLResponseParser(TasksListHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   TasksList getTasksList(@EndpointParam URI tasksListId);
+
+   @GET
+   @Consumes(TASKSLIST_XML)
+   @XMLResponseParser(TasksListHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   TasksList findTasksListInOrgNamed(@Nullable @EndpointParam(parser = OrgNameToTasksListEndpoint.class) String orgName);
+
+   /**
+    * Whenever the result of a request cannot be returned immediately, the server creates a Task
+    * object and includes it in the response, as a member of the Tasks container in the response
+    * body. Each Task has an href value, which is a URL that the client can use to retrieve the Task
+    * element alone, without the rest of the response in which it was contained. All information
+    * about the task is included in the Task element when it is returned in the response’s Tasks
+    * container, so a client does not need to make an additional request to the Task URL unless it
+    * wants to follow the progress of a task that was incomplete.
+    */
+   @GET
+   @Consumes(TASK_XML)
+   @XMLResponseParser(TaskHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   Task getTask(@EndpointParam URI taskId);
+
+   @POST
+   @Path("/action/cancel")
+   void cancelTask(@EndpointParam URI taskId);
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/b45ae00e/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/VAppApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/VAppApi.java b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/VAppApi.java
new file mode 100644
index 0000000..af44c3e
--- /dev/null
+++ b/dependencies/jclouds/apis/vcloud/1.8.1-stratos/src/main/java/org/jclouds/vcloud/features/VAppApi.java
@@ -0,0 +1,260 @@
+/*
+ * 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.features;
+
+import static org.jclouds.vcloud.VCloudMediaType.DEPLOYVAPPPARAMS_XML;
+import static org.jclouds.vcloud.VCloudMediaType.TASK_XML;
+import static org.jclouds.vcloud.VCloudMediaType.UNDEPLOYVAPPPARAMS_XML;
+import static org.jclouds.vcloud.VCloudMediaType.VAPP_XML;
+
+import java.net.URI;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+
+import org.jclouds.Fallbacks;
+import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.predicates.validators.DnsNameValidator;
+import org.jclouds.rest.annotations.EndpointParam;
+import org.jclouds.rest.annotations.Fallback;
+import org.jclouds.rest.annotations.MapBinder;
+import org.jclouds.rest.annotations.ParamValidators;
+import org.jclouds.rest.annotations.PayloadParam;
+import org.jclouds.rest.annotations.PayloadParams;
+import org.jclouds.rest.annotations.RequestFilters;
+import org.jclouds.rest.annotations.XMLResponseParser;
+import org.jclouds.vcloud.binders.BindCloneVAppParamsToXmlPayload;
+import org.jclouds.vcloud.binders.BindDeployVAppParamsToXmlPayload;
+import org.jclouds.vcloud.binders.BindUndeployVAppParamsToXmlPayload;
+import org.jclouds.vcloud.binders.OrgNameVDCNameResourceEntityNameToEndpoint;
+import org.jclouds.vcloud.domain.Task;
+import org.jclouds.vcloud.domain.VApp;
+import org.jclouds.vcloud.filters.AddVCloudAuthorizationAndCookieToRequest;
+import org.jclouds.vcloud.options.CloneVAppOptions;
+import org.jclouds.vcloud.xml.TaskHandler;
+import org.jclouds.vcloud.xml.VAppHandler;
+
+
+/**
+ * Provides access to VApp functionality in vCloud
+ * <p/>
+ * 
+ * @see <a href="http://communities.vmware.com/community/developer/forums/vcloudapi" />
+ */
+@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
+public interface VAppApi {
+   @GET
+   @Consumes(VAPP_XML)
+   @XMLResponseParser(VAppHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   @MapBinder(OrgNameVDCNameResourceEntityNameToEndpoint.class)
+   VApp findVAppInOrgVDCNamed(@Nullable @PayloadParam("orgName") String orgName,
+                              @Nullable @PayloadParam("vdcName") String vdcName, @PayloadParam("resourceName") String vAppName);
+
+   @POST
+   @Path("/action/cloneVApp")
+   @Produces("application/vnd.vmware.vcloud.cloneVAppParams+xml")
+   @Consumes(TASK_XML)
+   @XMLResponseParser(TaskHandler.class)
+   @MapBinder(BindCloneVAppParamsToXmlPayload.class)
+   Task copyVAppToVDCAndName(@PayloadParam("Source") URI sourceVApp,
+                             @EndpointParam URI vdc, @PayloadParam("name") @ParamValidators(DnsNameValidator.class) String newName,
+                             CloneVAppOptions... options);
+
+   @POST
+   @Path("/action/cloneVApp")
+   @Produces("application/vnd.vmware.vcloud.cloneVAppParams+xml")
+   @Consumes(TASK_XML)
+   @XMLResponseParser(TaskHandler.class)
+   @PayloadParams(keys = "IsSourceDelete", values = "true")
+   @MapBinder(BindCloneVAppParamsToXmlPayload.class)
+   Task moveVAppToVDCAndRename(@PayloadParam("Source") URI sourceVApp,
+                               @EndpointParam URI vdc, @PayloadParam("name") @ParamValidators(DnsNameValidator.class) String newName,
+                               CloneVAppOptions... options);
+
+   @GET
+   @Consumes(VAPP_XML)
+   @XMLResponseParser(VAppHandler.class)
+   @Fallback(Fallbacks.NullOnNotFoundOr404.class)
+   VApp getVApp(@EndpointParam URI href);
+
+   /**
+    * To deploy a vApp, the client makes a request to its action/deploy URL. Deploying a vApp
+    * automatically deploys all of the virtual machines it contains. To deploy a virtual machine,
+    * the client makes a request to its action/deploy URL.
+    * <p/>
+    * Deploying a Vm implicitly deploys the parent vApp if that vApp is not already deployed.
+    */
+   @POST
+   @Consumes(TASK_XML)
+   @Produces(DEPLOYVAPPPARAMS_XML)
+   @Path("/action/deploy")
+   @MapBinder(BindDeployVAppParamsToXmlPayload.class)
+   @XMLResponseParser(TaskHandler.class)
+   Task deployVApp(@EndpointParam URI href);
+
+   /**
+    * like {@link #deployVApp(URI)}, except deploy transitions to power on state
+    * 
+    */
+   @POST
+   @Consumes(TASK_XML)
+   @Produces(DEPLOYVAPPPARAMS_XML)
+   @Path("/action/deploy")
+   @MapBinder(BindDeployVAppParamsToXmlPayload.class)
+   @PayloadParams(keys = "powerOn", values = "true")
+   @XMLResponseParser(TaskHandler.class)
+   Task deployAndPowerOnVApp(@EndpointParam URI href);
+
+   /**
+    * Undeploying a vApp powers off or suspends any running virtual machines it contains, then frees
+    * the resources reserved for the vApp and sets the vApp’s deploy attribute to a value of false
+    * to indicate that it is not deployed.
+    * <p/>
+    * Undeploying a virtual machine powers off or suspends the virtual machine, then frees the
+    * resources reserved for it and sets the its deploy attribute to a value of false to indicate
+    * that it is not deployed. This operation has no effect on the containing vApp.
+    * <h4>NOTE</h4>
+    * Using this method will simply power off the vms. In order to save their state, use
+    * {@link #undeployAndSaveStateOf}
+    * 
+    */
+   @POST
+   @Consumes(TASK_XML)
+   @Produces(UNDEPLOYVAPPPARAMS_XML)
+   @Path("/action/undeploy")
+   @MapBinder(BindUndeployVAppParamsToXmlPayload.class)
+   @XMLResponseParser(TaskHandler.class)
+   Task undeployVApp(@EndpointParam URI href);
+
+   /**
+    * like {@link #undeployVApp(URI)}, where the undeployed virtual machines are suspended and their
+    * suspend state saved
+    * 
+    */
+   @POST
+   @Consumes(TASK_XML)
+   @Produces(UNDEPLOYVAPPPARAMS_XML)
+   @Path("/action/undeploy")
+   @MapBinder(BindUndeployVAppParamsToXmlPayload.class)
+   @PayloadParams(keys = "saveState", values = "true")
+   @XMLResponseParser(TaskHandler.class)
+   Task undeployAndSaveStateOfVApp(@EndpointParam URI href);
+
+   /**
+    * A powerOn request to a vApp URL powers on all of the virtual machines in the vApp, as
+    * specified in the vApp’s StartupSection field.
+    * <p/>
+    * A powerOn request to a virtual machine URL powers on the specified virtual machine and forces
+    * deployment of the parent vApp.
+    * <p/>
+    * <h4>NOTE</h4> A powerOn request to a vApp or virtual machine that is undeployed forces
+    * deployment.
+    */
+   @POST
+   @Consumes(TASK_XML)
+   @Path("/power/action/powerOn")
+   @XMLResponseParser(TaskHandler.class)
+   Task powerOnVApp(@EndpointParam URI href);
+
+   /**
+    * A powerOff request to a vApp URL powers off all of the virtual machines in the vApp, as
+    * specified in its StartupSection field.
+    * <p/>
+    * A powerOff request to a virtual machine URL powers off the specified virtual machine.
+    */
+   @POST
+   @Consumes(TASK_XML)
+   @Path("/power/action/powerOff")
+   @XMLResponseParser(TaskHandler.class)
+   Task powerOffVApp(@EndpointParam URI href);
+
+   /**
+    * A shutdown request to a vApp URL shuts down all of the virtual machines in the vApp, as
+    * specified in its StartupSection field.
+    * <p/>
+    * A shutdown request to a virtual machine URL shuts down the specified virtual machine.
+    * <p/>
+    * <h4>NOTE</h4Because this request sends a signal to the guest OS, the vCloud API cannot track
+    * the progress or verify the result of the requested operation. Hence, void is returned
+    */
+   @POST
+   @Path("/power/action/shutdown")
+   void shutdownVApp(@EndpointParam URI href);
+
+   /**
+    * A reset request to a vApp URL resets all of the virtual machines in the vApp, as specified in
+    * its StartupSection field.
+    * <p/>
+    * A reset request to a virtual machine URL resets the specified virtual machine.
+    */
+   @POST
+   @Consumes(TASK_XML)
+   @Path("/power/action/reset")
+   @XMLResponseParser(TaskHandler.class)
+   Task resetVApp(@EndpointParam URI href);
+
+   /**
+    * A reboot request to a vApp URL reboots all of the virtual machines in the vApp, as specified
+    * in its StartupSection field.
+    * <p/>
+    * A reboot request to a virtual machine URL reboots the specified virtual machine.
+    * <p/>
+    * <h4>NOTE</h4> Because this request sends a signal to the guest OS, the vCloud API cannot track
+    * the progress or verify the result of the requested operation. Hence, void is returned
+    */
+   @POST
+   @Path("/power/action/reboot")
+   void rebootVApp(@EndpointParam URI href);
+
+   /**
+    * A suspend request to a vApp URL suspends all of the virtual machines in the vApp, as specified
+    * in its StartupSection field.
+    * <p/>
+    * A suspend request to a virtual machine URL suspends the specified virtual machine.
+    */
+   @POST
+   @Consumes(TASK_XML)
+   @Path("/power/action/suspend")
+   @XMLResponseParser(TaskHandler.class)
+   Task suspendVApp(@EndpointParam URI href);
+
+   /**
+    * delete a vAppTemplate, vApp, or media image. You cannot delete an object if it is in use. Any
+    * object that is being copied or moved is in use. Other criteria that determine whether an
+    * object is in use depend on the object type.
+    * <ul>
+    * <li>A vApptemplate is in use if it is being instantiated. After instantiation is complete, the
+    * template is no longer in use.</li>
+    * <li>A vApp is in use if it is deployed.</li>
+    * <li>A media image is in use if it is inserted in a Vm.</li>
+    * </ul>
+    * 
+    * @param href
+    *           href of the vApp
+    * @return task of the operation in progress
+    */
+   @DELETE
+   @Consumes(TASK_XML)
+   @Fallback(Fallbacks.VoidOnNotFoundOr404.class)
+   @XMLResponseParser(TaskHandler.class)
+   Task deleteVApp(@EndpointParam URI href);
+}