mirror of https://github.com/apache/jclouds.git
Add Nova client get requests by uuid for retreiving Server, Flavor, and Image details.
This commit is contained in:
parent
dd5f343954
commit
3c803b3d8a
|
@ -73,6 +73,17 @@ public interface NovaAsyncClient {
|
||||||
@Path("/servers/{id}")
|
@Path("/servers/{id}")
|
||||||
ListenableFuture<Server> getServer(@PathParam("id") int id);
|
ListenableFuture<Server> getServer(@PathParam("id") int id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see NovaClient#getServer
|
||||||
|
*/
|
||||||
|
@GET
|
||||||
|
@Unwrap
|
||||||
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
|
@QueryParams(keys = "format", values = "json")
|
||||||
|
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
|
||||||
|
@Path("/servers/{uuid}")
|
||||||
|
ListenableFuture<Server> getServer(@PathParam("uuid") String uuid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see NovaClient#deleteServer
|
* @see NovaClient#deleteServer
|
||||||
*/
|
*/
|
||||||
|
@ -183,6 +194,17 @@ public interface NovaAsyncClient {
|
||||||
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
|
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
|
||||||
ListenableFuture<Flavor> getFlavor(@PathParam("id") int id);
|
ListenableFuture<Flavor> getFlavor(@PathParam("id") int id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see NovaClient#getFlavor
|
||||||
|
*/
|
||||||
|
@GET
|
||||||
|
@Unwrap
|
||||||
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
|
@QueryParams(keys = "format", values = "json")
|
||||||
|
@Path("/flavors/{uuid}")
|
||||||
|
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
|
||||||
|
ListenableFuture<Flavor> getFlavor(@PathParam("uuid") String uuid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see NovaClient#listImages
|
* @see NovaClient#listImages
|
||||||
*/
|
*/
|
||||||
|
@ -205,6 +227,17 @@ public interface NovaAsyncClient {
|
||||||
@Path("/images/{id}")
|
@Path("/images/{id}")
|
||||||
ListenableFuture<Image> getImage(@PathParam("id") int id);
|
ListenableFuture<Image> getImage(@PathParam("id") int id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see NovaClient#getImage
|
||||||
|
*/
|
||||||
|
@GET
|
||||||
|
@Unwrap
|
||||||
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
|
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
|
||||||
|
@QueryParams(keys = "format", values = "json")
|
||||||
|
@Path("/images/{uuid}")
|
||||||
|
ListenableFuture<Image> getImage(@PathParam("uuid") String uuid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see NovaClient#deleteImage
|
* @see NovaClient#deleteImage
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -70,7 +70,8 @@ public interface NovaClient {
|
||||||
* @return null, if the server is not found
|
* @return null, if the server is not found
|
||||||
* @see Server
|
* @see Server
|
||||||
*/
|
*/
|
||||||
Server getServer(@PathParam("id") int id);
|
Server getServer(int id);
|
||||||
|
Server getServer(String uuid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -204,6 +205,7 @@ public interface NovaClient {
|
||||||
* @see Flavor
|
* @see Flavor
|
||||||
*/
|
*/
|
||||||
Flavor getFlavor(int id);
|
Flavor getFlavor(int id);
|
||||||
|
Flavor getFlavor(String uuid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -223,6 +225,7 @@ public interface NovaClient {
|
||||||
* @see Image
|
* @see Image
|
||||||
*/
|
*/
|
||||||
Image getImage(int id);
|
Image getImage(int id);
|
||||||
|
Image getImage(String id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
|
@ -212,6 +212,21 @@ public class NovaAsyncClientTest extends RestClientTest<NovaAsyncClient> {
|
||||||
checkFilters(request);
|
checkFilters(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testGetServerByUUID() throws IOException, SecurityException, NoSuchMethodException {
|
||||||
|
Method method = NovaAsyncClient.class.getMethod("getServer", String.class);
|
||||||
|
HttpRequest request = processor.createRequest(method, "dfdcd0a6-0a2f-11e1-8505-2837371c69ae");
|
||||||
|
|
||||||
|
assertRequestLineEquals(request, "GET http://endpoint/vapiversion/servers/dfdcd0a6-0a2f-11e1-8505-2837371c69ae?format=json HTTP/1.1");
|
||||||
|
assertNonPayloadHeadersEqual(request, "Accept: application/json\n");
|
||||||
|
assertPayloadEquals(request, null, null, false);
|
||||||
|
|
||||||
|
assertResponseParserClassEquals(method, request, UnwrapOnlyJsonValue.class);
|
||||||
|
assertSaxResponseParserClassEquals(method, null);
|
||||||
|
assertExceptionParserClassEquals(method, ReturnNullOnNotFoundOr404.class);
|
||||||
|
|
||||||
|
checkFilters(request);
|
||||||
|
}
|
||||||
|
|
||||||
public void testListFlavors() throws IOException, SecurityException, NoSuchMethodException {
|
public void testListFlavors() throws IOException, SecurityException, NoSuchMethodException {
|
||||||
Method method = NovaAsyncClient.class.getMethod("listFlavors", listOptionsVarargsClass);
|
Method method = NovaAsyncClient.class.getMethod("listFlavors", listOptionsVarargsClass);
|
||||||
HttpRequest request = processor.createRequest(method);
|
HttpRequest request = processor.createRequest(method);
|
||||||
|
@ -289,6 +304,21 @@ public class NovaAsyncClientTest extends RestClientTest<NovaAsyncClient> {
|
||||||
checkFilters(request);
|
checkFilters(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testGetFlavorByUUID() throws IOException, SecurityException, NoSuchMethodException {
|
||||||
|
Method method = NovaAsyncClient.class.getMethod("getFlavor", String.class);
|
||||||
|
HttpRequest request = processor.createRequest(method, "209904b6-0a30-11e1-a0f0-2837371c69ae");
|
||||||
|
|
||||||
|
assertRequestLineEquals(request, "GET http://endpoint/vapiversion/flavors/209904b6-0a30-11e1-a0f0-2837371c69ae?format=json HTTP/1.1");
|
||||||
|
assertNonPayloadHeadersEqual(request, "Accept: application/json\n");
|
||||||
|
assertPayloadEquals(request, null, null, false);
|
||||||
|
|
||||||
|
assertResponseParserClassEquals(method, request, UnwrapOnlyJsonValue.class);
|
||||||
|
assertSaxResponseParserClassEquals(method, null);
|
||||||
|
assertExceptionParserClassEquals(method, ReturnNullOnNotFoundOr404.class);
|
||||||
|
|
||||||
|
checkFilters(request);
|
||||||
|
}
|
||||||
|
|
||||||
public void testListImages() throws IOException, SecurityException, NoSuchMethodException {
|
public void testListImages() throws IOException, SecurityException, NoSuchMethodException {
|
||||||
Method method = NovaAsyncClient.class.getMethod("listImages", listOptionsVarargsClass);
|
Method method = NovaAsyncClient.class.getMethod("listImages", listOptionsVarargsClass);
|
||||||
HttpRequest request = processor.createRequest(method);
|
HttpRequest request = processor.createRequest(method);
|
||||||
|
@ -366,6 +396,21 @@ public class NovaAsyncClientTest extends RestClientTest<NovaAsyncClient> {
|
||||||
checkFilters(request);
|
checkFilters(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testGetImageByUUID() throws IOException, SecurityException, NoSuchMethodException {
|
||||||
|
Method method = NovaAsyncClient.class.getMethod("getImage", int.class);
|
||||||
|
HttpRequest request = processor.createRequest(method, "3bd52d90-0a30-11e1-83f5-2837371c69ae");
|
||||||
|
|
||||||
|
assertRequestLineEquals(request, "GET http://endpoint/vapiversion/images/3bd52d90-0a30-11e1-83f5-2837371c69ae?format=json HTTP/1.1");
|
||||||
|
assertNonPayloadHeadersEqual(request, "Accept: application/json\n");
|
||||||
|
assertPayloadEquals(request, null, null, false);
|
||||||
|
|
||||||
|
assertResponseParserClassEquals(method, request, UnwrapOnlyJsonValue.class);
|
||||||
|
assertSaxResponseParserClassEquals(method, null);
|
||||||
|
assertExceptionParserClassEquals(method, ReturnNullOnNotFoundOr404.class);
|
||||||
|
|
||||||
|
checkFilters(request);
|
||||||
|
}
|
||||||
|
|
||||||
public void testDeleteServer() throws IOException, SecurityException, NoSuchMethodException {
|
public void testDeleteServer() throws IOException, SecurityException, NoSuchMethodException {
|
||||||
Method method = NovaAsyncClient.class.getMethod("deleteServer", int.class);
|
Method method = NovaAsyncClient.class.getMethod("deleteServer", int.class);
|
||||||
HttpRequest request = processor.createRequest(method, 2);
|
HttpRequest request = processor.createRequest(method, 2);
|
||||||
|
|
Loading…
Reference in New Issue