View Javadoc

1   package org.jclouds.trmk.ecloud.features;
2   
3   import static org.jclouds.trmk.ecloud.TerremarkECloudMediaType.DATACENTERSLIST_XML;
4   
5   import java.net.URI;
6   import java.util.Set;
7   
8   import javax.annotation.Nullable;
9   import javax.ws.rs.Consumes;
10  import javax.ws.rs.GET;
11  
12  import org.jclouds.rest.annotations.EndpointParam;
13  import org.jclouds.rest.annotations.ExceptionParser;
14  import org.jclouds.rest.annotations.RequestFilters;
15  import org.jclouds.rest.annotations.XMLResponseParser;
16  import org.jclouds.rest.functions.ReturnEmptySetOnNotFoundOr404;
17  import org.jclouds.trmk.ecloud.functions.OrgURIToDataCentersListEndpoint;
18  import org.jclouds.trmk.vcloud_0_8.domain.DataCenter;
19  import org.jclouds.trmk.vcloud_0_8.domain.KeyPair;
20  import org.jclouds.trmk.vcloud_0_8.filters.SetVCloudTokenCookie;
21  import org.jclouds.trmk.vcloud_0_8.xml.DataCentersHandler;
22  
23  import com.google.common.util.concurrent.ListenableFuture;
24  
25  /**
26   * 
27   * @see <a href=
28   *      "http://support.theenterprisecloud.com/kb/default.asp?id=960&Lang=1&SID="
29   *      />
30   * @see DataCenterOperationsClient
31   * 
32   * @author Adrian Cole
33   */
34  @RequestFilters(SetVCloudTokenCookie.class)
35  public interface DataCenterOperationsAsyncClient {
36  
37     /**
38      * @see DataCenterOperationsClient#listDataCentersInOrg
39      */
40     @GET
41     @Consumes(DATACENTERSLIST_XML)
42     @XMLResponseParser(DataCentersHandler.class)
43     @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
44     ListenableFuture<? extends Set<KeyPair>> listDataCentersInOrg(
45           @Nullable @EndpointParam(parser = OrgURIToDataCentersListEndpoint.class) URI org);
46  
47     /**
48      * @see DataCenterOperationsClient#listDataCenters
49      */
50     @GET
51     @Consumes(DATACENTERSLIST_XML)
52     @XMLResponseParser(DataCentersHandler.class)
53     @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
54     ListenableFuture<? extends Set<DataCenter>> listDataCenters(@EndpointParam URI dataCenters);
55  }