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);
- }
-}