1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.jclouds.trmk.ecloud.features;
20
21 import java.net.URI;
22 import java.util.Set;
23 import javax.ws.rs.Consumes;
24 import javax.ws.rs.GET;
25
26 import com.google.common.util.concurrent.ListenableFuture;
27 import org.jclouds.javax.annotation.Nullable;
28 import org.jclouds.rest.annotations.EndpointParam;
29 import org.jclouds.rest.annotations.ExceptionParser;
30 import org.jclouds.rest.annotations.RequestFilters;
31 import org.jclouds.rest.annotations.XMLResponseParser;
32 import org.jclouds.rest.functions.ReturnEmptySetOnNotFoundOr404;
33 import org.jclouds.trmk.ecloud.functions.OrgURIToDataCentersListEndpoint;
34 import org.jclouds.trmk.vcloud_0_8.domain.DataCenter;
35 import org.jclouds.trmk.vcloud_0_8.domain.KeyPair;
36 import org.jclouds.trmk.vcloud_0_8.filters.SetVCloudTokenCookie;
37 import org.jclouds.trmk.vcloud_0_8.xml.DataCentersHandler;
38
39 import static org.jclouds.trmk.ecloud.TerremarkECloudMediaType.DATACENTERSLIST_XML;
40
41
42
43
44
45
46
47
48
49
50 @RequestFilters(SetVCloudTokenCookie.class)
51 public interface DataCenterOperationsAsyncClient {
52
53
54
55
56 @GET
57 @Consumes(DATACENTERSLIST_XML)
58 @XMLResponseParser(DataCentersHandler.class)
59 @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
60 ListenableFuture<? extends Set<KeyPair>> listDataCentersInOrg(
61 @Nullable @EndpointParam(parser = OrgURIToDataCentersListEndpoint.class) URI org);
62
63
64
65
66 @GET
67 @Consumes(DATACENTERSLIST_XML)
68 @XMLResponseParser(DataCentersHandler.class)
69 @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
70 ListenableFuture<? extends Set<DataCenter>> listDataCenters(@EndpointParam URI dataCenters);
71 }