You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2014/10/05 01:28:46 UTC

[5/7] Remove savvis-symphonyvpdc, which hasn't been published in over a year.

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VMSpec.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VMSpec.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VMSpec.java
deleted file mode 100644
index 095da8e..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/VMSpec.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-
-import org.jclouds.compute.domain.CIMOperatingSystem;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Maps;
-
-/**
- * A specification to launch a virtual machine
- */
-public class VMSpec {
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   public static class Builder {
-      private String name;
-      private String networkTierName;
-      private CIMOperatingSystem operatingSystem;
-      private int processorCount = 1;
-      private int memoryInGig = 1;
-      private String bootDeviceName = "/";
-      // TODO doesn't seem to be changeable
-      private int bootDriveSize = 25;
-      private Map<String, Integer> dataDriveDeviceNameToSizeInGig = Maps.newLinkedHashMap();
-
-      public Builder name(String name) {
-         this.name = checkNotNull(name, "name");
-         return this;
-      }
-
-      public Builder networkTierName(String networkTierName) {
-         this.networkTierName = checkNotNull(networkTierName, "networkTierName");
-         return this;
-      }
-
-      public Builder operatingSystem(CIMOperatingSystem operatingSystem) {
-         this.operatingSystem = checkNotNull(operatingSystem, "operatingSystem");
-         return this;
-      }
-
-      public Builder memoryInGig(int memoryInGig) {
-         checkArgument(memoryInGig > 0, "memoryInGig must be positive");
-         this.memoryInGig = memoryInGig;
-         return this;
-      }
-
-      public Builder processorCount(int processorCount) {
-         checkProcessorCount(processorCount);
-         this.processorCount = processorCount;
-         return this;
-      }
-
-      public Builder bootDeviceName(String bootDeviceName) {
-         this.bootDeviceName = checkNotNull(bootDeviceName, "bootDeviceName");
-         return this;
-      }
-
-      public Builder bootDiskSize(int bootDriveSize) {
-         checkArgument(bootDriveSize > 0, "bootDriveSize must be positive");
-         this.bootDriveSize = bootDriveSize;
-         return this;
-      }
-
-      public Builder addDataDrive(String dataDriveDeviceName, int sizeInGig) {
-         checkArgument(sizeInGig > 0, "sizeInGig must be positive");
-         this.dataDriveDeviceNameToSizeInGig.put(checkNotNull(dataDriveDeviceName, "dataDriveDeviceName"), sizeInGig);
-         return this;
-      }
-
-      public Builder addDataDrives(Map<String, Integer> dataDriveDeviceNameToSizeInGig) {
-         this.dataDriveDeviceNameToSizeInGig = ImmutableMap.copyOf(checkNotNull(dataDriveDeviceNameToSizeInGig,
-                  "dataDriveDeviceNameToSizeInGig"));
-         return this;
-      }
-
-      public VMSpec build() {
-         return new VMSpec(name, networkTierName, operatingSystem, processorCount, memoryInGig, bootDeviceName,
-                  bootDriveSize, dataDriveDeviceNameToSizeInGig);
-      }
-
-      public static Builder fromVMSpec(VMSpec in) {
-         return new Builder().operatingSystem(in.getOperatingSystem()).memoryInGig(in.getMemoryInGig()).bootDeviceName(
-                  in.getBootDeviceName()).bootDiskSize(in.getBootDiskSize()).addDataDrives(
-                  in.getDataDiskDeviceNameToSizeInGig()).processorCount(in.getProcessorCount());
-      }
-
-   }
-
-   static void checkProcessorCount(int processorCount) {
-      checkArgument(processorCount > 0, "processorCount must be positive and an increment of 0.5");
-      checkArgument(processorCount % .5 == 0, "processorCount must be an increment of 0.5");
-   }
-
-   private final String name;
-   private final String networkTierName;
-   private final CIMOperatingSystem operatingSystem;
-   private final int processorCount;
-   private final int memoryInGig;
-   private final String bootDeviceName;
-   private final int bootDriveSize;
-   private final Map<String, Integer> dataDriveDeviceNameToSizeInGig;
-
-   protected VMSpec(String name, String networkTierName, CIMOperatingSystem operatingSystem, int processorCount,
-            int memoryInGig, String bootDeviceName, int bootDriveSize,
-            Map<String, Integer> dataDriveDeviceNameToSizeInGig) {
-      this.name = name;
-      this.networkTierName = networkTierName;
-      this.operatingSystem = checkNotNull(operatingSystem, "operatingSystem not specified");
-      checkProcessorCount(processorCount);
-      this.processorCount = processorCount;
-      checkArgument(memoryInGig > 0, "memoryInGig must be positive");
-      this.memoryInGig = memoryInGig;
-      this.bootDeviceName = checkNotNull(bootDeviceName, "bootDeviceName name not specified");
-      checkArgument(bootDriveSize > 0, "bootDriveSize must be positive");
-      this.bootDriveSize = bootDriveSize;
-      this.dataDriveDeviceNameToSizeInGig = ImmutableMap.copyOf(checkNotNull(dataDriveDeviceNameToSizeInGig,
-               "dataDriveDeviceNameToSizeInGig"));
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public String getNetworkTierName() {
-      return networkTierName;
-   }
-
-   public CIMOperatingSystem getOperatingSystem() {
-      return operatingSystem;
-   }
-
-   public int getProcessorCount() {
-      return processorCount;
-   }
-
-   public int getMemoryInGig() {
-      return memoryInGig;
-   }
-
-   public Builder toBuilder() {
-      return Builder.fromVMSpec(this);
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((bootDeviceName == null) ? 0 : bootDeviceName.hashCode());
-      result = prime * result + bootDriveSize;
-      result = prime * result
-               + ((dataDriveDeviceNameToSizeInGig == null) ? 0 : dataDriveDeviceNameToSizeInGig.hashCode());
-      result = prime * result + memoryInGig;
-      result = prime * result + ((operatingSystem == null) ? 0 : operatingSystem.hashCode());
-      result = prime * result + processorCount;
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      VMSpec other = (VMSpec) obj;
-      if (bootDeviceName == null) {
-         if (other.bootDeviceName != null)
-            return false;
-      } else if (!bootDeviceName.equals(other.bootDeviceName))
-         return false;
-      if (bootDriveSize != other.bootDriveSize)
-         return false;
-      if (dataDriveDeviceNameToSizeInGig == null) {
-         if (other.dataDriveDeviceNameToSizeInGig != null)
-            return false;
-      } else if (!dataDriveDeviceNameToSizeInGig.equals(other.dataDriveDeviceNameToSizeInGig))
-         return false;
-      if (memoryInGig != other.memoryInGig)
-         return false;
-      if (operatingSystem == null) {
-         if (other.operatingSystem != null)
-            return false;
-      } else if (!operatingSystem.equals(other.operatingSystem))
-         return false;
-      if (processorCount != other.processorCount)
-         return false;
-      return true;
-   }
-
-   public String getBootDeviceName() {
-      return bootDeviceName;
-   }
-
-   public int getBootDiskSize() {
-      return bootDriveSize;
-   }
-
-   public Map<String, Integer> getDataDiskDeviceNameToSizeInGig() {
-      return dataDriveDeviceNameToSizeInGig;
-   }
-
-   @Override
-   public String toString() {
-      return "[name= " + name + ", operatingSystem=" + operatingSystem + ", processorCount=" + processorCount
-               + ", memoryInGig=" + memoryInGig + ", networkTierName=" + networkTierName + ", bootDeviceName="
-               + bootDeviceName + ", bootDriveSize=" + bootDriveSize + ", dataDriveDeviceNameToSizeInGig="
-               + dataDriveDeviceNameToSizeInGig + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/internal/VCloudSession.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/internal/VCloudSession.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/internal/VCloudSession.java
deleted file mode 100644
index 5a482ec..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/internal/VCloudSession.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain.internal;
-
-import java.util.Set;
-
-import org.jclouds.savvis.vpdc.domain.Resource;
-
-public interface VCloudSession {
-   String getVCloudToken();
-
-   Set<Resource> getOrgs();
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/vapp/Network.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/vapp/Network.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/vapp/Network.java
deleted file mode 100644
index d1379cc..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/domain/vapp/Network.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.domain.vapp;
-
-public class Network {
-   private final String name;
-   private final String description;
-
-   public Network(String name, String description) {
-      this.name = name;
-      this.description = description;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((description == null) ? 0 : description.hashCode());
-      result = prime * result + ((name == null) ? 0 : name.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;
-      Network other = (Network) obj;
-      if (description == null) {
-         if (other.description != null)
-            return false;
-      } else if (!description.equals(other.description))
-         return false;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "Network [name=" + name + ", description=" + description + "]";
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public String getDescription() {
-      return description;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingApi.java
deleted file mode 100644
index c55f48c..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingApi.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-import org.jclouds.javax.annotation.Nullable;
-
-import org.jclouds.savvis.vpdc.domain.FirewallService;
-import org.jclouds.savvis.vpdc.domain.Network;
-import org.jclouds.savvis.vpdc.domain.Org;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.VDC;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.jclouds.savvis.vpdc.options.GetVMOptions;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- * 
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/" />
- */
-public interface BrowsingApi {
-   /**
-    * Get an organization, which can contain list of vDC entities
-    * 
-    * @param billingSiteId
-    *           billing site Id, or null for default
-    * @return organization, or null if not present
-    */
-   Org getOrg(@Nullable String billingSiteId);
-
-   /**
-    * VDC is a virtual data center ,the API returns a list of VAPPs own by given bill site Id.
-    * 
-    * @param billingSiteId
-    *           billing site Id, or null for default
-    * @param vpdcId
-    *           vpdc Id
-    * @return a list of resource entity and VM configurations, or null if not present
-    */
-   VDC getVDCInOrg(@Nullable String billingSiteId, String vpdcId);
-
-   /**
-    * Get Network API returns network detail
-    * 
-    * @param billingSiteId
-    *           billing site Id, or null for default
-    * @param vpdcId
-    *           vpdc Id
-    * @param networkTierName
-    *           network tier name
-    * 
-    * @return network detail if it used any one deployed VM and NetworkConfigSection defines various
-    *         network features such NAT Public IP, Gateway and Netmask, or null if not present
-    */
-   Network getNetworkInVDC(String billingSiteId, String vpdcId, String networkTierName);
-
-   /**
-    * VAPP is a software solution, the API returns details of virtual machine configuration such as
-    * CPU,RAM Memory and hard drive. The VM State is from the MW Database.
-    * 
-    * @param billingSiteId
-    *           billing site Id, or null for default
-    * @param vpdcId
-    *           vpdc Id
-    * @param vAppId
-    *           vApp ID
-    * @param options
-    *           control whether or not to get real time state
-    * 
-    * @return A virtual application (vApp) is a software solution comprising one or more virtual
-    *         machines, all of which are deployed, managed, and maintained as a unit, or null if not
-    *         present
-    */
-   VM getVMInVDC(String billingSiteId, String vpdcId, String vAppId, GetVMOptions... options);
-
-   VM getVM(URI vm, GetVMOptions... options);
-
-   /**
-    * Gets an existing task.
-    * 
-    * @param taskId
-    *           task id
-    * @return If the request is successful, caller could get the VM/VMDK details as specified in the
-    *         result element and if the request is not successful, caller would get empty VAPP/VMDK
-    *         URL and respective validation (error) message.
-    */
-   Task getTask(String taskId);
-
-   /**
-    * Gets Firewall Rules
-    * 
-    * @param billingSiteId
-    *           billing site Id, or null for default
-    * @param vpdcId
-    *           vpdc Id
-    * 
-    * @return If the request is successful, caller could get the firewall rules as specified in the
-    *         result element and if the request is not successful, caller would get empty rules list
-    *         and respective validation (error) message.
-    */
-   FirewallService listFirewallRules(String billingSiteId, String vpdcId);
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApi.java
deleted file mode 100644
index dae9ba7..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/BrowsingAsyncApi.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.ParamParser;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.savvis.vpdc.domain.FirewallService;
-import org.jclouds.savvis.vpdc.domain.Network;
-import org.jclouds.savvis.vpdc.domain.Org;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.VDC;
-import org.jclouds.savvis.vpdc.domain.VM;
-import org.jclouds.savvis.vpdc.filters.SetVCloudTokenCookie;
-import org.jclouds.savvis.vpdc.functions.DefaultOrgIfNull;
-import org.jclouds.savvis.vpdc.options.BindGetVMOptions;
-import org.jclouds.savvis.vpdc.options.GetVMOptions;
-import org.jclouds.savvis.vpdc.xml.FirewallServiceHandler;
-import org.jclouds.savvis.vpdc.xml.NetworkHandler;
-import org.jclouds.savvis.vpdc.xml.OrgHandler;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-import org.jclouds.savvis.vpdc.xml.VDCHandler;
-import org.jclouds.savvis.vpdc.xml.VMHandler;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- * 
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/index.html" />
- */
-@RequestFilters(SetVCloudTokenCookie.class)
-public interface BrowsingAsyncApi {
-
-   /**
-    * @see BrowsingApi#getOrg
-    */
-   @GET
-   @XMLResponseParser(OrgHandler.class)
-   @Fallback(NullOnNotFoundOr404.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}")
-   ListenableFuture<Org> getOrg(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId);
-
-   /**
-    * @see BrowsingApi#getVDCInOrg
-    */
-   @GET
-   @XMLResponseParser(VDCHandler.class)
-   @Fallback(NullOnNotFoundOr404.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}")
-   ListenableFuture<VDC> getVDCInOrg(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId);
-
-   /**
-    * @see BrowsingApi#getNetworkInVDC
-    */
-   @GET
-   @XMLResponseParser(NetworkHandler.class)
-   @Fallback(NullOnNotFoundOr404.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/network/{network-tier-name}")
-   ListenableFuture<Network> getNetworkInVDC(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId, @PathParam("network-tier-name") String networkTierName);
-
-   /**
-    * @see BrowsingApi#getVMInVDC
-    */
-   @GET
-   @XMLResponseParser(VMHandler.class)
-   @Fallback(NullOnNotFoundOr404.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/{vAppId}")
-   ListenableFuture<VM> getVMInVDC(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId, @PathParam("vAppId") String vAppId,
-            @BinderParam(BindGetVMOptions.class) GetVMOptions... options);
-
-   /**
-    * @see BrowsingApi#getVM
-    */
-   @GET
-   @XMLResponseParser(VMHandler.class)
-   @Fallback(NullOnNotFoundOr404.class)
-   ListenableFuture<VM> getVM(@EndpointParam URI vm, @BinderParam(BindGetVMOptions.class) GetVMOptions... options);
-
-   /**
-    * @see BrowsingApi#getTask
-    */
-   @GET
-   @XMLResponseParser(TaskHandler.class)
-   @Fallback(NullOnNotFoundOr404.class)
-   @Path("v{jclouds.api-version}/task/{taskId}")
-   ListenableFuture<Task> getTask(@PathParam("taskId") String taskId);
-
-   /**
-    * @see BrowsingApi#listFirewallRules
-    */
-   @GET
-   @XMLResponseParser(FirewallServiceHandler.class)
-   @Fallback(NullOnNotFoundOr404.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/FirewallService")
-   ListenableFuture<FirewallService> listFirewallRules(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId);
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallApi.java
deleted file mode 100644
index 5516418..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallApi.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import org.jclouds.savvis.vpdc.domain.FirewallRule;
-import org.jclouds.savvis.vpdc.domain.Task;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- * 
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/" />
- */
-public interface FirewallApi {
-	
-	/**
-	 * Add a new firewall rule
-	 * 		
-	 * @param billingSiteId
-	 * 		billing site Id, or null for default
-	 * @param vpdcId
-	 * 		vpdc Id
-	 * @param firewallRule
-	 * 		firewall rule to be added
-	 * @return
-	 */
-	Task addFirewallRule(String billingSiteId, String vpdcId, FirewallRule firewallRule);
-	
-	/**
-	 * Delete a firewall rule
-	 * 		
-	 * @param billingSiteId
-	 * 		billing site Id, or null for default
-	 * @param vpdcId
-	 * 		vpdc Id
-	 * @param firewallRule
-	 * 		firewall rule to be deleted
-	 * @return
-	 */
-	Task deleteFirewallRule(String billingSiteId, String vpdcId, FirewallRule firewallRule);
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApi.java
deleted file mode 100644
index c82790b..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/FirewallAsyncApi.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import javax.ws.rs.DELETE;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.MapBinder;
-import org.jclouds.rest.annotations.ParamParser;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.savvis.vpdc.binders.BindFirewallRuleToXmlPayload;
-import org.jclouds.savvis.vpdc.domain.FirewallRule;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.filters.SetVCloudTokenCookie;
-import org.jclouds.savvis.vpdc.functions.DefaultOrgIfNull;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- * 
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/index.html" />
- */
-@RequestFilters(SetVCloudTokenCookie.class)
-public interface FirewallAsyncApi {
-
-	/**
-    * @see FirewallApi#addFirewallRule
-    */
-   @PUT
-   @XMLResponseParser(TaskHandler.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/FirewallService")
-   @MapBinder(BindFirewallRuleToXmlPayload.class)
-   ListenableFuture<Task> addFirewallRule(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId, @PayloadParam("firewallRule") FirewallRule firewallRule);
-	   
-   /**
-    * @see FirewallApi#deleteFirewallRule
-    */
-   @DELETE
-   @XMLResponseParser(TaskHandler.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/FirewallService")
-   @MapBinder(BindFirewallRuleToXmlPayload.class)
-   @Fallback(NullOnNotFoundOr404.class)
-   ListenableFuture<Task> deleteFirewallRule(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId, @PayloadParam("firewallRule") FirewallRule firewallRule);
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementApi.java
deleted file mode 100644
index a397a1f..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementApi.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-import org.jclouds.savvis.vpdc.domain.Task;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- * 
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/" />
- */
-public interface ServiceManagementApi {
-   /**
-    * Powers on the VM
-    * <p/>
-    * <h4>Pre-conditions:</h4>
-    * <p/>
-    * No other API operation is being performed on the VM.
-    * 
-    * @param billingSiteId
-    *           billing site Id, or null for default
-    * @param vpdcId
-    *           vpdc Id
-    * @param vmId
-    *           vm you wish to remove
-    * @return task of the power operation
-    */
-   Task powerOnVMInVDC(String billingSiteId, String vpdcId, String vmId);
-
-   /**
-    * 
-    * @param vm
-    *           href of the vm
-    * @see #powerOnVMInVDC
-    */
-   Task powerOnVM(URI vm);
-
-   /**
-    * Powers off the VM
-    * <p/>
-    * <h4>Pre-conditions:</h4>
-    * <p/>
-    * No other API operation is being performed on the VM.
-    * 
-    * @param billingSiteId
-    *           billing site Id, or null for default
-    * @param vpdcId
-    *           vpdc Id
-    * @param vmId
-    *           vm you wish to remove
-    * @return task of the power operation
-    */
-   Task powerOffVMInVDC(String billingSiteId, String vpdcId, String vmId);
-
-   /**
-    * 
-    * @param vm
-    *           href of the vm
-    * @see #powerOffVMInVDC
-    */
-   Task powerOffVM(URI vm);
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApi.java
deleted file mode 100644
index 96c116a..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/ServiceManagementAsyncApi.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-
-import org.jclouds.javax.annotation.Nullable;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.ParamParser;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.filters.SetVCloudTokenCookie;
-import org.jclouds.savvis.vpdc.functions.DefaultOrgIfNull;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- * 
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/index.html" />
- */
-@RequestFilters(SetVCloudTokenCookie.class)
-public interface ServiceManagementAsyncApi {
-
-   /**
-    * @see VMApi#powerOnVMInVDC
-    */
-   @POST
-   @XMLResponseParser(TaskHandler.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/{vAppId}/action/powerOn")
-   ListenableFuture<Task> powerOnVMInVDC(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId, @PathParam("vAppId") String vAppId);
-
-   /**
-    * @see VMApi#powerOnVM
-    */
-   @POST
-   @XMLResponseParser(TaskHandler.class)
-   @Path("/action/powerOn")
-   ListenableFuture<Task> powerOnVM(@EndpointParam URI vm);
-
-   /**
-    * @see VMApi#powerOffVMInVDC
-    */
-   @POST
-   @XMLResponseParser(TaskHandler.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/{vAppId}/action/powerOff")
-   ListenableFuture<Task> powerOffVMInVDC(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId, @PathParam("vAppId") String vAppId);
-
-   /**
-    * @see VMApi#powerOffVM
-    */
-   @POST
-   @XMLResponseParser(TaskHandler.class)
-   @Path("/action/powerOff")
-   ListenableFuture<Task> powerOffVM(@EndpointParam URI vm);
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMApi.java
deleted file mode 100644
index 4e103f5..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMApi.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-import java.util.Set;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- * 
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/" />
- */
-public interface VMApi {
-
-   /**
-    * Add/Deploy new VM into VDC
-    * 
-    * @param billingSiteId
-    *           billing site Id, or null for default
-    * @param vpdcId
-    *           vpdc Id
-    * @param spec
-    *           how to
-    * 
-    * @return VM in progress
-    */
-   Task addVMIntoVDC(String billingSiteId, String vpdcId, VMSpec spec);
-
-   /**
-    * 
-    * @param vpdc
-    *           href of the vpdc
-    * @see #addVMIntoVDC
-    */
-   Task addVMIntoVDC(URI vpdc, VMSpec spec);
-
-   /**
-    * Add/Deploy new VMs into VDC
-    * 
-    * @param billingSiteId
-    *           billing site Id, or null for default
-    * @param vpdcId
-    *           vpdc Id
-    * @param vmSpecs
-    *           vm configurations
-    * @return VM's in progress
-    */
-   Set<Task> addMultipleVMsIntoVDC(String billingSiteId, String vpdcId, Iterable<VMSpec> vmSpecs);
-
-   /**
-    * Add/Deploy new VMs into VDC
-    * 
-    * @param vpdc
-    *           href of the vpdc
-    * @param vmSpecs
-    *           vm configurations
-    * @return VM's in progress
-    */
-   Set<Task> addMultipleVMsIntoVDC(URI vpdc, Iterable<VMSpec> vmSpecs);
-
-   /**
-    * 
-    * @param billingSiteId
-    *           billing site Id, or null for default
-    * @param vpdcId
-    *           vpdc Id
-    * @param vAppUri
-    *           href of the vApp
-    * @return Task with vAppTemplate href
-    */
-   Task captureVApp(String billingSiteId, String vpdcId, URI vAppUri);
-
-   /**
-    * 
-    * @param vAppUri
-    *           href of the vApp
-    * @param newVAppName
-    *           name for the new vApp
-    * @param networkTierName
-    *           network tier name for vApp
-    * @return
-    */
-   Task cloneVApp(URI vAppUri, String newVAppName, String networkTierName);
-
-   /**
-    * Remove a VM
-    * <p/>
-    * <h4>Pre-conditions:</h4>
-    * 
-    * <ul>
-    * <li>No snapshot has been created for the VM.</li>
-    * <li>For Balanced profile, the VM must not be associated with any firewall rule and/or included
-    * in a load balancing pool.</li>
-    * </ul>
-    * 
-    * @param billingSiteId
-    *           billing site Id, or null for default
-    * @param vpdcId
-    *           vpdc Id
-    * @param vmId
-    *           vm you wish to remove
-    * @return null, if the vm was not found
-    */
-   Task removeVMFromVDC(String billingSiteId, String vpdcId, String vmId);
-
-   /**
-    * 
-    * Remove a VM
-    * 
-    * @param vm
-    *           href of the vm
-    * @see #removeVMFromVDC
-    */
-   Task removeVM(URI vm);
-
-   /**
-    * Power off a VM
-    * 
-    * @param vm
-    *           href of the vm
-    * @return
-    */
-   Task powerOffVM(URI vm);
-
-   /**
-    * Power on a VM
-    * 
-    * @param vm
-    *           href of the vm
-    * @return
-    */
-   Task powerOnVM(URI vm);
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMAsyncApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMAsyncApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMAsyncApi.java
deleted file mode 100644
index 7e0efd8..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/features/VMAsyncApi.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.features;
-
-import java.net.URI;
-import java.util.Set;
-
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-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.ParamParser;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.savvis.vpdc.binders.BindCaptureVAppTemplateToXmlPayload;
-import org.jclouds.savvis.vpdc.binders.BindCloneVMToXmlPayload;
-import org.jclouds.savvis.vpdc.binders.BindVMSpecToXmlPayload;
-import org.jclouds.savvis.vpdc.binders.BindVMSpecsToXmlPayload;
-import org.jclouds.savvis.vpdc.domain.Task;
-import org.jclouds.savvis.vpdc.domain.VMSpec;
-import org.jclouds.savvis.vpdc.filters.SetVCloudTokenCookie;
-import org.jclouds.savvis.vpdc.functions.DefaultOrgIfNull;
-import org.jclouds.savvis.vpdc.xml.TaskHandler;
-import org.jclouds.savvis.vpdc.xml.TasksListHandler;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides access to Symphony VPDC resources via their REST API.
- * <p/>
- * 
- * @see <a href="https://api.sandbox.savvis.net/doc/spec/api/index.html" />
- */
-@RequestFilters(SetVCloudTokenCookie.class)
-public interface VMAsyncApi {
-
-   /**
-    * @see VMApi#addVMIntoVDC
-    */
-   @GET
-   @XMLResponseParser(TaskHandler.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/")
-   @MapBinder(BindVMSpecToXmlPayload.class)
-   ListenableFuture<Task> addVMIntoVDC(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId, VMSpec spec);
-
-   /**
-    * @see VMApi#addVMIntoVDC
-    */
-   @GET
-   @XMLResponseParser(TaskHandler.class)
-   @Path("vApp/")
-   @MapBinder(BindVMSpecToXmlPayload.class)
-   ListenableFuture<Task> addVMIntoVDC(@EndpointParam URI vpdc, VMSpec spec);
-
-   /**
-    * @see VMApi#addMultipleVMsIntoVDC
-    */
-   @GET
-   @XMLResponseParser(TasksListHandler.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/")
-   @MapBinder(BindVMSpecsToXmlPayload.class)
-   ListenableFuture<Set<Task>> addMultipleVMsIntoVDC(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId, Iterable<VMSpec> vmSpecs);
-   
-   /**
-    * @see VMApi#addMultipleVMsIntoVDC
-    */
-   @GET
-   @XMLResponseParser(TasksListHandler.class)
-   @Path("vApp/")
-   @MapBinder(BindVMSpecsToXmlPayload.class)
-   ListenableFuture<Set<Task>> addMultipleVMsIntoVDC(@EndpointParam URI vpdc, Iterable<VMSpec> vmSpecs);
-
-   /**
-    * @see VMApi#captureVApp
-    */
-   @POST
-   @XMLResponseParser(TaskHandler.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/action/captureVApp")
-   @MapBinder(BindCaptureVAppTemplateToXmlPayload.class)
-   ListenableFuture<Task> captureVApp(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId, URI vAppUri);
-
-   /**
-    * @see VMApi#cloneVApp
-    */
-   @POST
-   @XMLResponseParser(TaskHandler.class)
-   @Path("action/cloneVApp")
-   @MapBinder(BindCloneVMToXmlPayload.class)
-   ListenableFuture<Task> cloneVApp(@EndpointParam URI vAppUri, @PayloadParam("name") String newVAppName,
-            @PayloadParam("networkTierName") String networkTierName);
-
-   /**
-    * @see VMApi#removeVMFromVDC
-    */
-   @DELETE
-   @XMLResponseParser(TaskHandler.class)
-   @Path("v{jclouds.api-version}/org/{billingSiteId}/vdc/{vpdcId}/vApp/{vAppId}")
-   @Fallback(NullOnNotFoundOr404.class)
-   ListenableFuture<Task> removeVMFromVDC(
-            @PathParam("billingSiteId") @Nullable @ParamParser(DefaultOrgIfNull.class) String billingSiteId,
-            @PathParam("vpdcId") String vpdcId, @PathParam("vAppId") String vAppId);
-
-   /**
-    * @see VMApi#removeVM
-    */
-   @DELETE
-   @XMLResponseParser(TaskHandler.class)
-   @Fallback(NullOnNotFoundOr404.class)
-   ListenableFuture<Task> removeVM(@EndpointParam URI vm);
-
-   /**
-    * @see VMApi#powerOffVM
-    */
-   @POST
-   @XMLResponseParser(TaskHandler.class)
-   @Path("action/powerOff")
-   @Fallback(NullOnNotFoundOr404.class)
-   ListenableFuture<Task> powerOffVM(@EndpointParam URI vm);
-
-   /**
-    * @see VMApi#powerOnVM
-    */
-   @POST
-   @XMLResponseParser(TaskHandler.class)
-   @Path("action/powerOn")
-   @Fallback(NullOnNotFoundOr404.class)
-   ListenableFuture<Task> powerOnVM(@EndpointParam URI vm);
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookie.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookie.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookie.java
deleted file mode 100644
index 3f3e78e..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/filters/SetVCloudTokenCookie.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.filters;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpException;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpRequestFilter;
-import org.jclouds.savvis.vpdc.internal.VCloudToken;
-
-import com.google.common.base.Supplier;
-import com.google.common.net.HttpHeaders;
-
-/**
- * Adds the VCloud Token to the request as a cookie
- */
-@Singleton
-public class SetVCloudTokenCookie implements HttpRequestFilter {
-   private Supplier<String> vcloudTokenProvider;
-
-   @Inject
-   public SetVCloudTokenCookie(@VCloudToken Supplier<String> authTokenProvider) {
-      this.vcloudTokenProvider = authTokenProvider;
-   }
-
-   @Override
-   public HttpRequest filter(HttpRequest request) throws HttpException {
-      return request.toBuilder().replaceHeader(HttpHeaders.COOKIE, "vcloud-token=" + vcloudTokenProvider.get()).build();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/DefaultOrgIfNull.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/DefaultOrgIfNull.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/DefaultOrgIfNull.java
deleted file mode 100644
index 9d18332..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/DefaultOrgIfNull.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Inject;
-
-import org.jclouds.savvis.vpdc.internal.Org;
-
-import com.google.common.base.Function;
-import com.google.common.base.Supplier;
-
-public class DefaultOrgIfNull implements Function<Object, String> {
-
-   private final Supplier<String> defaultOrg;
-
-   @Inject
-   public DefaultOrgIfNull(@Org Supplier<String> defaultOrg) {
-      this.defaultOrg = checkNotNull(defaultOrg, "defaultOrg");
-   }
-
-   public String apply(Object from) {
-      return from == null ? defaultOrg.get() : from.toString();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/ParseLoginResponseFromHeaders.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/ParseLoginResponseFromHeaders.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/ParseLoginResponseFromHeaders.java
deleted file mode 100644
index 74bdaaa..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/functions/ParseLoginResponseFromHeaders.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.http.HttpUtils.releasePayload;
-
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.Factory;
-import org.jclouds.savvis.vpdc.domain.Resource;
-import org.jclouds.savvis.vpdc.domain.internal.VCloudSession;
-import org.jclouds.savvis.vpdc.internal.VCloudToken;
-import org.jclouds.savvis.vpdc.xml.OrgListHandler;
-
-import com.google.common.base.Function;
-import com.google.common.net.HttpHeaders;
-
-/**
- * This parses {@link VCloudSession} from HTTP headers.
- */
-@Singleton
-public class ParseLoginResponseFromHeaders implements Function<HttpResponse, VCloudSession> {
-   static final Pattern pattern = Pattern.compile("vcloud-token=([^;]+);.*");
-
-   private final ParseSax.Factory factory;
-   private final Provider<OrgListHandler> orgHandlerProvider;
-
-   @Inject
-   private ParseLoginResponseFromHeaders(Factory factory,
-            Provider<OrgListHandler> orgHandlerProvider) {
-      this.factory = factory;
-      this.orgHandlerProvider = orgHandlerProvider;
-   }
-
-   /**
-    * parses the http response headers to create a new {@link VCloudSession} object.
-    */
-   public VCloudSession apply(HttpResponse from) {
-      String cookieHeader = checkNotNull(from.getFirstHeaderOrNull(HttpHeaders.SET_COOKIE),
-               HttpHeaders.SET_COOKIE);
-
-      final Matcher matcher = pattern.matcher(cookieHeader);
-      boolean matchFound = matcher.find();
-      try {
-         if (matchFound) {
-            final Set<Resource> org = factory.create(orgHandlerProvider.get()).parse(
-                     from.getPayload().getInput());
-
-            return new VCloudSession() {
-               @VCloudToken
-               public String getVCloudToken() {
-                  return matcher.group(1);
-               }
-
-               public Set<Resource> getOrgs() {
-                  return org;
-               }
-            };
-
-         }
-      } finally {
-         releasePayload(from);
-      }
-      throw new HttpResponseException("not found ", null, from);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandler.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandler.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandler.java
deleted file mode 100644
index be17d18..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/handlers/VPDCErrorHandler.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.handlers;
-
-import java.io.IOException;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.logging.Logger;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.rest.ResourceNotFoundException;
-import com.jclouds.util.Closeables2;
-import org.jclouds.util.Strings2;
-
-import com.google.common.base.Throwables;
-
-@Singleton
-public class VPDCErrorHandler implements HttpErrorHandler {
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   public void handleError(HttpCommand command, HttpResponse response) {
-      // it is important to always read fully and close streams
-      String message = parseMessage(response);
-      Exception exception = message != null ? new HttpResponseException(command, response, message)
-               : new HttpResponseException(command, response);
-      try {
-         message = message != null ? message : String.format("%s -> %s", command.getCurrentRequest().getRequestLine(),
-                  response.getStatusLine());
-         switch (response.getStatusCode()) {
-            case 400:
-               exception = new IllegalArgumentException(message, exception);
-               break;
-            case 401:
-            case 403:
-               exception = new AuthorizationException(message, exception);
-               break;
-            case 404:
-               if (!command.getCurrentRequest().getMethod().equals("DELETE")) {
-                  exception = new ResourceNotFoundException(message, exception);
-               }
-               break;
-            case 405:
-               exception = new IllegalArgumentException(message, exception);
-               break;
-            case 409:
-               exception = new IllegalStateException(message, exception);
-               break;
-         }
-      } finally {
-         Closeables2.closeQuietly(response.getPayload());
-         command.setException(exception);
-      }
-   }
-
-   public String parseMessage(HttpResponse response) {
-      if (response.getPayload() == null)
-         return null;
-      try {
-         return Strings2.toString(response.getPayload());
-      } catch (IOException e) {
-         throw new RuntimeException(e);
-      } finally {
-         try {
-            response.getPayload().getInput().close();
-         } catch (IOException e) {
-            Throwables.propagate(e);
-         }
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginApi.java
deleted file mode 100644
index 17d62b6..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginApi.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-import org.jclouds.savvis.vpdc.domain.internal.VCloudSession;
-
-public interface LoginApi {
-
-   /**
-    * This request returns a token to use in subsequent requests. After 30 minutes of inactivity,
-    * the token expires and you have to request a new token with this call.
-    */
-   VCloudSession login();
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginAsyncApi.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginAsyncApi.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginAsyncApi.java
deleted file mode 100644
index d07b80c..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/LoginAsyncApi.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.savvis.vpdc.domain.internal.VCloudSession;
-import org.jclouds.savvis.vpdc.functions.ParseLoginResponseFromHeaders;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Establishes a context with a VCloud endpoint.
- * <p/>
- * 
- * @see <a href="https://community.vcloudexpress.terremark.com/en-us/discussion_forums/f/60.aspx" />
- */
-@RequestFilters(BasicAuthentication.class)
-public interface LoginAsyncApi {
-
-   /**
-    * This request returns a token to use in subsequent requests. After 30 minutes of inactivity,
-    * the token expires and you have to request a new token with this call.
-    */
-   @POST
-   @ResponseParser(ParseLoginResponseFromHeaders.class)
-   @Path("v{jclouds.api-version}/login")
-   ListenableFuture<VCloudSession> login();
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Network.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Network.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Network.java
deleted file mode 100644
index ef52c97..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Network.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-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/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Org.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Org.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Org.java
deleted file mode 100644
index c96f63c..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/Org.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-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/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VCloudToken.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VCloudToken.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VCloudToken.java
deleted file mode 100644
index ebd260f..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VCloudToken.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * A VCloud Session Token
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface VCloudToken {
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VDC.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VDC.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VDC.java
deleted file mode 100644
index beec9f3..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/internal/VDC.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.internal;
-
-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/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/location/FirstNetwork.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/location/FirstNetwork.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/location/FirstNetwork.java
deleted file mode 100644
index 536212c..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/location/FirstNetwork.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.location;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.find;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.collect.Memoized;
-import org.jclouds.domain.Location;
-import org.jclouds.domain.LocationScope;
-import org.jclouds.location.suppliers.ImplicitLocationSupplier;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Supplier;
-
-@Singleton
-public class FirstNetwork implements ImplicitLocationSupplier {
-   @Singleton
-   public static final class IsNetwork implements Predicate<Location> {
-      @Override
-      public boolean apply(Location input) {
-         return input.getScope() == LocationScope.NETWORK;
-      }
-
-      @Override
-      public String toString() {
-         return "isNetwork()";
-      }
-   }
-
-   private final Supplier<Set<? extends Location>> locationsSupplier;
-   private final IsNetwork isNetwork;
-
-   @Inject
-   FirstNetwork(@Memoized Supplier<Set<? extends Location>> locationsSupplier, IsNetwork isNetwork) {
-      this.locationsSupplier = checkNotNull(locationsSupplier, "locationsSupplierSupplier");
-      this.isNetwork = checkNotNull(isNetwork, "isNetwork");
-   }
-
-   @Override
-   public Location get() {
-      return find(locationsSupplier.get(), isNetwork);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/BindGetVMOptions.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/BindGetVMOptions.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/BindGetVMOptions.java
deleted file mode 100644
index 95c41e17..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/BindGetVMOptions.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.options;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static org.jclouds.http.Uris.uriBuilder;
-
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-@Singleton
-public class BindGetVMOptions implements Binder {
-
-   @SuppressWarnings("unchecked")
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(input instanceof GetVMOptions[], "this binder is only valid for GetVAppOptions!");
-      GetVMOptions[] options = GetVMOptions[].class.cast(input);
-      if (options.length > 0 && options[0].isWithPowerState())
-         return (R) request.toBuilder()
-               .endpoint(uriBuilder(request.getEndpoint()).appendPath("withpowerstate").build()).build();
-      else
-         return request;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/GetVMOptions.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/GetVMOptions.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/GetVMOptions.java
deleted file mode 100644
index 16ca59c..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/options/GetVMOptions.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.options;
-
-
-/**
- * Contains options supported for the GetVApp operation. <h2>
- * Usage</h2> The recommended way to instantiate a GetVAppOptions object is to statically import
- * GetVAppOptions.Builder.* and invoke a static creation method followed by an instance mutator (if
- * needed):
- * <p/>
- * <code>
- * import static org.jclouds.savvis.vpdc.options.GetVAppOptions.Builder.*
- * <p/>
- * 
- * vApp = context.getApi().getBrowsingApi().getVAppInVDC(orgId, vdcId, vAppId, withPowerState());
- * <code>
- * 
- * @see <a href= "https://api.sandbox.savvis.net/doc/spec/api/getVAppPowerState.html"
- *      />
- */
-public class GetVMOptions {
-   public static final GetVMOptions NONE = new GetVMOptions();
-   private boolean withPowerState;
-
-   /**
-    * The VM State is the real time state.
-    */
-   public GetVMOptions withPowerState() {
-      this.withPowerState = true;
-      return this;
-   }
-
-   public boolean isWithPowerState() {
-      return withPowerState;
-   }
-
-   public static class Builder {
-
-      /**
-       * @see GetVMOptions#withPowerState()
-       */
-      public static GetVMOptions withPowerState() {
-         GetVMOptions options = new GetVMOptions();
-         return options.withPowerState();
-      }
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b91fd46c/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/predicates/TaskSuccess.java
----------------------------------------------------------------------
diff --git a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/predicates/TaskSuccess.java b/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/predicates/TaskSuccess.java
deleted file mode 100644
index 0ce2856..0000000
--- a/savvis-symphonyvpdc/src/main/java/org/jclouds/savvis/vpdc/predicates/TaskSuccess.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.savvis.vpdc.predicates;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.logging.Logger;
-import org.jclouds.savvis.vpdc.VPDCApi;
-import org.jclouds.savvis.vpdc.domain.Task;
-
-import com.google.common.base.Predicate;
-import com.google.inject.Inject;
-
-/**
- * 
- * Tests to see if a task succeeds.
- */
-@Singleton
-public class TaskSuccess implements Predicate<String> {
-
-   private final VPDCApi api;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   public TaskSuccess(VPDCApi api) {
-      this.api = api;
-   }
-
-   public boolean apply(String taskId) {
-      logger.trace("looking for status on task %s", checkNotNull(taskId, "taskId"));
-      Task task = refresh(taskId);
-      if (task == null)
-         return false;
-      logger.trace("%s: looking for task status %s: currently: %s", task.getId(), Task.Status.SUCCESS, task.getStatus());
-      if (task.getError() != null)
-         throw new IllegalStateException(String.format("task %s failed with exception %s", task.getId(), task
-               .getError().toString()));
-      return task.getStatus() == Task.Status.SUCCESS;
-   }
-
-   private Task refresh(String taskId) {
-      return api.getBrowsingApi().getTask(taskId);
-   }
-}