mirror of https://github.com/apache/jclouds.git
Issue 695: Added removeInternetService and added ListenableFuture to create call
This commit is contained in:
parent
a352dc89c8
commit
4e90c570be
|
@ -73,5 +73,15 @@ public interface InternetServiceAsyncClient {
|
||||||
@Consumes("application/vnd.tmrk.cloud.internetService")
|
@Consumes("application/vnd.tmrk.cloud.internetService")
|
||||||
@JAXBResponseParser
|
@JAXBResponseParser
|
||||||
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
|
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
|
||||||
InternetService createInternetService(@EndpointParam URI uri, @BinderParam(BindCreateInternetServiceToXmlPayload.class)InternetService data);
|
ListenableFuture<InternetService> createInternetService(@EndpointParam URI uri, @BinderParam(BindCreateInternetServiceToXmlPayload.class)InternetService data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see org.jclouds.tmrk.enterprisecloud.features.InternetServiceClient#removeInternetService
|
||||||
|
*/
|
||||||
|
@DELETE
|
||||||
|
@Consumes("application/vnd.tmrk.cloud.task")
|
||||||
|
@JAXBResponseParser
|
||||||
|
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
|
||||||
|
ListenableFuture<Task> removeInternetService(@EndpointParam URI uri);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ public interface InternetServiceClient {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* getInternetService call returns information regarding a specified Internet service defined in an environment.
|
* The getInternetService call returns information regarding a specified Internet service defined in an environment.
|
||||||
* @param uri the uri of the internet service
|
* @param uri the uri of the internet service
|
||||||
* e.g. /cloudapi/ecloud/internetservices/{internet service id}
|
* e.g. /cloudapi/ecloud/internetservices/{internet service id}
|
||||||
* @return the internet service
|
* @return the internet service
|
||||||
|
@ -98,4 +98,14 @@ public interface InternetServiceClient {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
InternetService createInternetService(URI uri, InternetService data);
|
InternetService createInternetService(URI uri, InternetService data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The removeInternetService call removes an Internet service from an environment.
|
||||||
|
* If successful, the call returns the task that removed the Internet service.
|
||||||
|
* Note: The Internet service must have no node services associated to remove.
|
||||||
|
* @param uri the uri of the call based on the internet service
|
||||||
|
* e.g. /cloudapi/ecloud/internetServices/{internet service identifier}
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Task removeInternetService(URI uri);
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,6 +114,25 @@ public class InternetServiceAsyncClientTest extends BaseTerremarkEnterpriseCloud
|
||||||
checkFilters(httpRequest);
|
checkFilters(httpRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testRemoveInternetService() throws SecurityException, NoSuchMethodException, IOException, URISyntaxException {
|
||||||
|
Method method = InternetServiceAsyncClient.class.getMethod("removeInternetService", URI.class);
|
||||||
|
|
||||||
|
URI uri = URI.create("/cloudapi/ecloud/internetServices/123");
|
||||||
|
|
||||||
|
HttpRequest httpRequest = processor.createRequest(method, uri);
|
||||||
|
|
||||||
|
String requestLine = "DELETE https://services-beta.enterprisecloud.terremark.com/cloudapi/ecloud/internetServices/123 HTTP/1.1";
|
||||||
|
assertRequestLineEquals(httpRequest, requestLine);
|
||||||
|
assertNonPayloadHeadersEqual(httpRequest,
|
||||||
|
"Accept: application/vnd.tmrk.cloud.task\nx-tmrk-version: 2011-07-01\n");
|
||||||
|
assertPayloadEquals(httpRequest, null, null, false);
|
||||||
|
|
||||||
|
assertResponseParserClassEquals(method, httpRequest, ParseXMLWithJAXB.class);
|
||||||
|
assertExceptionParserClassEquals(method, ReturnNullOnNotFoundOr404.class);
|
||||||
|
|
||||||
|
checkFilters(httpRequest);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected TypeLiteral<RestAnnotationProcessor<InternetServiceAsyncClient>> createTypeLiteral() {
|
protected TypeLiteral<RestAnnotationProcessor<InternetServiceAsyncClient>> createTypeLiteral() {
|
||||||
return new TypeLiteral<RestAnnotationProcessor<InternetServiceAsyncClient>>() {
|
return new TypeLiteral<RestAnnotationProcessor<InternetServiceAsyncClient>>() {
|
||||||
|
|
Loading…
Reference in New Issue