mirror of https://github.com/apache/jclouds.git
issue #1184 add named for Azure commands
This commit is contained in:
parent
267069755e
commit
c517fad22d
|
@ -20,6 +20,7 @@ package org.jclouds.azure.management.features;
|
|||
|
||||
import java.util.Set;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.DELETE;
|
||||
import javax.ws.rs.GET;
|
||||
|
@ -50,6 +51,10 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Headers(keys = "x-ms-version", values = "2012-03-01")
|
||||
public interface DiskAsyncApi {
|
||||
|
||||
/**
|
||||
* @see DiskApi#list()
|
||||
*/
|
||||
@Named("ListDisks")
|
||||
@GET
|
||||
@Path("/services/disks")
|
||||
@XMLResponseParser(ListDisksHandler.class)
|
||||
|
@ -57,6 +62,10 @@ public interface DiskAsyncApi {
|
|||
@Consumes(MediaType.APPLICATION_XML)
|
||||
ListenableFuture<Set<Disk>> list();
|
||||
|
||||
/**
|
||||
* @see DiskApi#delete
|
||||
*/
|
||||
@Named("DeleteDisk")
|
||||
@DELETE
|
||||
@Path("/services/disks/{diskName}")
|
||||
@Fallback(NullOnNotFoundOr404.class)
|
||||
|
|
|
@ -20,6 +20,7 @@ package org.jclouds.azure.management.features;
|
|||
|
||||
import java.util.Set;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.DELETE;
|
||||
import javax.ws.rs.GET;
|
||||
|
@ -66,6 +67,7 @@ public interface HostedServiceAsyncApi {
|
|||
/**
|
||||
* @see HostedServiceApi#list()
|
||||
*/
|
||||
@Named("ListHostedServices")
|
||||
@GET
|
||||
@Path("/services/hostedservices")
|
||||
@XMLResponseParser(ListHostedServicesHandler.class)
|
||||
|
@ -76,6 +78,7 @@ public interface HostedServiceAsyncApi {
|
|||
/**
|
||||
* @see HostedServiceApi#createServiceWithLabelInLocation(String, String, String)
|
||||
*/
|
||||
@Named("CreateHostedService")
|
||||
@POST
|
||||
@Path("/services/hostedservices")
|
||||
@MapBinder(BindCreateHostedServiceToXmlPayload.class)
|
||||
|
@ -88,6 +91,7 @@ public interface HostedServiceAsyncApi {
|
|||
* @see HostedServiceApi#createServiceWithLabelInLocation(String, String, String,
|
||||
* CreateHostedServiceOptions)
|
||||
*/
|
||||
@Named("CreateHostedService")
|
||||
@POST
|
||||
@Path("/services/hostedservices")
|
||||
@MapBinder(BindCreateHostedServiceToXmlPayload.class)
|
||||
|
@ -100,6 +104,7 @@ public interface HostedServiceAsyncApi {
|
|||
/**
|
||||
* @see HostedServiceApi#get(String)
|
||||
*/
|
||||
@Named("GetHostedServiceProperties")
|
||||
@GET
|
||||
@Path("/services/hostedservices/{serviceName}")
|
||||
@XMLResponseParser(HostedServiceHandler.class)
|
||||
|
@ -110,6 +115,7 @@ public interface HostedServiceAsyncApi {
|
|||
/**
|
||||
* @see HostedServiceApi#getDetails(String)
|
||||
*/
|
||||
@Named("GetHostedServiceProperties")
|
||||
@GET
|
||||
@Path("/services/hostedservices/{serviceName}")
|
||||
@QueryParams(keys = "embed-detail", values = "true")
|
||||
|
@ -121,22 +127,17 @@ public interface HostedServiceAsyncApi {
|
|||
/**
|
||||
* @see HostedServiceApi#delete(String)
|
||||
*/
|
||||
@Named("DeleteHostedService")
|
||||
@DELETE
|
||||
@Path("/services/hostedservices/{serviceName}")
|
||||
@Fallback(NullOnNotFoundOr404.class)
|
||||
@ResponseParser(ParseRequestIdHeader.class)
|
||||
ListenableFuture<String> delete(@PathParam("serviceName") String serviceName);
|
||||
|
||||
// This is a PaaS REST service !
|
||||
// @POST
|
||||
// @Path("/services/hostedservices/{serviceName}/deploymentslots/{deploymentSlotName}")
|
||||
// @Produces(MediaType.APPLICATION_ATOM_XML)
|
||||
// @Consumes(MediaType.TEXT_PLAIN)
|
||||
// @Fallback(NullOnNotFoundOr404.class)
|
||||
// ListenableFuture<Void> createDeployment(@PathParam("serviceName") String serviceName,
|
||||
// @PathParam("deploymentSlotName") String deploymentSlotName,
|
||||
// @BinderParam(BindToXMLPayload.class) CreateDeployment createDeployment);
|
||||
|
||||
/**
|
||||
* @see HostedServiceApi#deleteDeployment(String, String)
|
||||
*/
|
||||
@Named("DeleteDeployment")
|
||||
@DELETE
|
||||
@Path("/services/hostedservices/{serviceName}/deployments/{deploymentName}")
|
||||
@Fallback(VoidOnNotFoundOr404.class)
|
||||
|
@ -144,10 +145,10 @@ public interface HostedServiceAsyncApi {
|
|||
ListenableFuture<String> deleteDeployment(@PathParam("serviceName") String serviceName,
|
||||
@PathParam("deploymentName") String deploymentName);
|
||||
|
||||
|
||||
/**
|
||||
* @see HostedServiceApi#get(String,String)
|
||||
*/
|
||||
@Named("GetDeployment")
|
||||
@GET
|
||||
@Path("/services/hostedservices/{serviceName}/deployments/{deploymentName}")
|
||||
@XMLResponseParser(DeploymentHandler.class)
|
||||
|
|
|
@ -20,6 +20,7 @@ package org.jclouds.azure.management.features;
|
|||
|
||||
import java.util.Set;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
|
@ -49,6 +50,7 @@ public interface LocationAsyncApi {
|
|||
/**
|
||||
* @see LocationApi#list()
|
||||
*/
|
||||
@Named("ListLocations")
|
||||
@GET
|
||||
@Path("/locations")
|
||||
@XMLResponseParser(ListLocationsHandler.class)
|
||||
|
|
|
@ -20,6 +20,7 @@ package org.jclouds.azure.management.features;
|
|||
|
||||
import java.util.Set;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.DELETE;
|
||||
import javax.ws.rs.GET;
|
||||
|
@ -58,6 +59,7 @@ public interface OSImageAsyncApi {
|
|||
/**
|
||||
* @see OSImageApi#list()
|
||||
*/
|
||||
@Named("ListOsImages")
|
||||
@GET
|
||||
@Path("/services/images")
|
||||
@XMLResponseParser(ListOSImagesHandler.class)
|
||||
|
@ -68,6 +70,7 @@ public interface OSImageAsyncApi {
|
|||
/**
|
||||
* @see OSImageApi#add(String)
|
||||
*/
|
||||
@Named("AddOsImage")
|
||||
@POST
|
||||
@Path("/services/images")
|
||||
@Produces(MediaType.APPLICATION_XML)
|
||||
|
@ -76,6 +79,7 @@ public interface OSImageAsyncApi {
|
|||
/**
|
||||
* @see OSImageApi#update(String)
|
||||
*/
|
||||
@Named("UpdateOsImage")
|
||||
@PUT
|
||||
@Path("/services/images/{imageName}")
|
||||
@Produces(MediaType.APPLICATION_XML)
|
||||
|
@ -85,6 +89,7 @@ public interface OSImageAsyncApi {
|
|||
/**
|
||||
* @see OSImageApi#delete(String)
|
||||
*/
|
||||
@Named("DeleteOsImage")
|
||||
@DELETE
|
||||
@Path("/services/images/{imageName}")
|
||||
@Fallback(VoidOnNotFoundOr404.class)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
package org.jclouds.azure.management.features;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
|
@ -34,7 +35,8 @@ import org.jclouds.rest.annotations.XMLResponseParser;
|
|||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
|
||||
/**
|
||||
* The Service Management API includes one operation for tracking the progress of asynchronous requests.
|
||||
* The Service Management API includes one operation for tracking the progress
|
||||
* of asynchronous requests.
|
||||
*
|
||||
* @see <a href="http://msdn.microsoft.com/en-us/library/ee460796">docs</a>
|
||||
* @see OperationApi
|
||||
|
@ -43,11 +45,14 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Headers(keys = "x-ms-version", values = "2012-03-01")
|
||||
public interface OperationAsyncApi {
|
||||
|
||||
/**
|
||||
* @see OperationApi#get(String)
|
||||
*/
|
||||
@Named("GetOperation")
|
||||
@GET
|
||||
@Path("/operations/{request-id}")
|
||||
@XMLResponseParser(OperationHandler.class)
|
||||
@Fallback(NullOnNotFoundOr404.class)
|
||||
@Consumes(MediaType.APPLICATION_XML)
|
||||
ListenableFuture<Operation> get(@PathParam("request-id") String requestId);
|
||||
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
package org.jclouds.azure.management.features;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.POST;
|
||||
|
@ -52,16 +53,22 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Headers(keys = "x-ms-version", values = "2012-03-01")
|
||||
public interface RoleAsyncApi {
|
||||
|
||||
/**
|
||||
* @see RoleApi#getRole(String, String, String)
|
||||
*/
|
||||
@Named("GetRole")
|
||||
@GET
|
||||
@Path("/services/hostedservices/{serviceName}/deployments/{deploymentName}/roles/{roleName}")
|
||||
@Consumes(MediaType.APPLICATION_ATOM_XML)
|
||||
@JAXBResponseParser
|
||||
@Fallback(NullOnNotFoundOr404.class)
|
||||
ListenableFuture<PersistentVMRole> getRole(@PathParam("serviceName")
|
||||
String serviceName,
|
||||
@PathParam("deploymentName") String deploymentName,
|
||||
@PathParam("roleName") String roleName);
|
||||
ListenableFuture<PersistentVMRole> getRole(@PathParam("serviceName") String serviceName,
|
||||
@PathParam("deploymentName") String deploymentName, @PathParam("roleName") String roleName);
|
||||
|
||||
/**
|
||||
* @see RoleApi#restartRole(String, String, String)
|
||||
*/
|
||||
@Named("RestartRole")
|
||||
@POST
|
||||
// Warning : the url in the documentation is WRONG ! @see
|
||||
// http://social.msdn.microsoft.com/Forums/pl-PL/WAVirtualMachinesforWindows/thread/7ba2367b-e450-49e0-89e4-46c240e9d213
|
||||
|
@ -71,21 +78,26 @@ public interface RoleAsyncApi {
|
|||
@Fallback(NullOnNotFoundOr404.class)
|
||||
@ResponseParser(ParseRequestIdHeader.class)
|
||||
@Payload(value = "<RestartRoleOperation xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><OperationType>RestartRoleOperation</OperationType></RestartRoleOperation>")
|
||||
ListenableFuture<String> restartRole(
|
||||
@PathParam("serviceName") String serviceName,
|
||||
@PathParam("deploymentName") String deploymentName,
|
||||
@PathParam("roleName") String roleName);
|
||||
ListenableFuture<String> restartRole(@PathParam("serviceName") String serviceName,
|
||||
@PathParam("deploymentName") String deploymentName, @PathParam("roleName") String roleName);
|
||||
|
||||
/**
|
||||
* @see RoleApi#createDeployment(String, DeploymentParams)
|
||||
*/
|
||||
@Named("CreateVirtualMachineDeployment")
|
||||
@POST
|
||||
@Path("/services/hostedservices/{serviceName}/deployments")
|
||||
@Produces(MediaType.APPLICATION_ATOM_XML)
|
||||
@Consumes(MediaType.APPLICATION_ATOM_XML)
|
||||
@Fallback(NullOnNotFoundOr404.class)
|
||||
@ResponseParser(ParseRequestIdHeader.class)
|
||||
ListenableFuture<String> createDeployment(
|
||||
@PathParam("serviceName") String serviceName,
|
||||
ListenableFuture<String> createDeployment(@PathParam("serviceName") String serviceName,
|
||||
@BinderParam(BindDeploymentParamsToXmlPayload.class) DeploymentParams deploymentParams);
|
||||
|
||||
/**
|
||||
* @see RoleApi#captureRole(String, String, String, String, String)
|
||||
*/
|
||||
@Named("CaptureRole")
|
||||
@POST
|
||||
@Path("/services/hostedservices/{serviceName}/deployments/{deploymentName}/roleInstances/{roleName}/Operations")
|
||||
@Consumes(MediaType.APPLICATION_ATOM_XML)
|
||||
|
@ -93,13 +105,14 @@ public interface RoleAsyncApi {
|
|||
@Fallback(NullOnNotFoundOr404.class)
|
||||
@ResponseParser(ParseRequestIdHeader.class)
|
||||
@Payload(value = "<CaptureRoleOperation xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><OperationType>CaptureRoleOperation</OperationType><PostCaptureAction>Delete</PostCaptureAction><TargetImageLabel>{imageLabel}</TargetImageLabel><TargetImageName>{imageName}</TargetImageName></CaptureRoleOperation>")
|
||||
ListenableFuture<String> captureRole(
|
||||
@PathParam("serviceName") String serviceName,
|
||||
@PathParam("deploymentName") String deploymentName,
|
||||
@PathParam("roleName") String roleName,
|
||||
@PayloadParam("imageName") String imageName,
|
||||
@PayloadParam("imageLabel") String imageLabel);
|
||||
ListenableFuture<String> captureRole(@PathParam("serviceName") String serviceName,
|
||||
@PathParam("deploymentName") String deploymentName, @PathParam("roleName") String roleName,
|
||||
@PayloadParam("imageName") String imageName, @PayloadParam("imageLabel") String imageLabel);
|
||||
|
||||
/**
|
||||
* @see RoleApi#shutdownRole(String, String, String)
|
||||
*/
|
||||
@Named("ShutdownRole")
|
||||
@POST
|
||||
@Path("/services/hostedservices/{serviceName}/deployments/{deploymentName}/roleInstances/{roleName}/Operations")
|
||||
@Consumes(MediaType.APPLICATION_ATOM_XML)
|
||||
|
@ -107,11 +120,13 @@ public interface RoleAsyncApi {
|
|||
@Fallback(NullOnNotFoundOr404.class)
|
||||
@ResponseParser(ParseRequestIdHeader.class)
|
||||
@Payload(value = "<ShutdownRoleOperation xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><OperationType>ShutdownRoleOperation</OperationType></ShutdownRoleOperation>")
|
||||
ListenableFuture<String> shutdownRole(
|
||||
@PathParam("serviceName") String serviceName,
|
||||
@PathParam("deploymentName") String deploymentName,
|
||||
@PathParam("roleName") String roleName);
|
||||
ListenableFuture<String> shutdownRole(@PathParam("serviceName") String serviceName,
|
||||
@PathParam("deploymentName") String deploymentName, @PathParam("roleName") String roleName);
|
||||
|
||||
/**
|
||||
* @see RoleApi#startRole(String, String, String)
|
||||
*/
|
||||
@Named("StartRole")
|
||||
@POST
|
||||
@Path("/services/hostedservices/{serviceName}/deployments/{deploymentName}/roleInstances/{roleName}/Operations")
|
||||
@Consumes(MediaType.APPLICATION_ATOM_XML)
|
||||
|
@ -119,9 +134,7 @@ public interface RoleAsyncApi {
|
|||
@Fallback(NullOnNotFoundOr404.class)
|
||||
@ResponseParser(ParseRequestIdHeader.class)
|
||||
@Payload(value = "<StartRoleOperation xmlns=\"http://schemas.microsoft.com/windowsazure\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><OperationType>StartRoleOperation</OperationType></StartRoleOperation>")
|
||||
ListenableFuture<String> startRole(
|
||||
@PathParam("serviceName") String serviceName,
|
||||
@PathParam("deploymentName") String deploymentName,
|
||||
@PathParam("roleName") String roleName);
|
||||
ListenableFuture<String> startRole(@PathParam("serviceName") String serviceName,
|
||||
@PathParam("deploymentName") String deploymentName, @PathParam("roleName") String roleName);
|
||||
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.jclouds.azureblob;
|
|||
import java.util.Map;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
import javax.inject.Named;
|
||||
import javax.ws.rs.DELETE;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.HEAD;
|
||||
|
@ -93,6 +94,7 @@ public interface AzureBlobAsyncClient {
|
|||
/**
|
||||
* @see AzureBlobClient#listContainers
|
||||
*/
|
||||
@Named("ListContainers")
|
||||
@GET
|
||||
@XMLResponseParser(AccountNameEnumerationResultsHandler.class)
|
||||
@QueryParams(keys = "comp", values = "list")
|
||||
|
@ -101,69 +103,76 @@ public interface AzureBlobAsyncClient {
|
|||
/**
|
||||
* @see AzureBlobClient#createContainer
|
||||
*/
|
||||
@Named("CreateContainer")
|
||||
@PUT
|
||||
@Path("{container}")
|
||||
@Fallback(FalseIfContainerAlreadyExists.class)
|
||||
@QueryParams(keys = "restype", values = "container")
|
||||
ListenableFuture<Boolean> createContainer(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container,
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container,
|
||||
CreateContainerOptions... options);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#getPublicAccessForContainer
|
||||
*/
|
||||
@Named("GetContainerACL")
|
||||
@HEAD
|
||||
@Path("{container}")
|
||||
@QueryParams(keys = { "restype", "comp" }, values = { "container", "acl" })
|
||||
@ResponseParser(ParsePublicAccessHeader.class)
|
||||
@Fallback(NullOnContainerNotFound.class)
|
||||
ListenableFuture<PublicAccess> getPublicAccessForContainer(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container);
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#getContainerProperties
|
||||
*/
|
||||
@Named("GetContainerProperties")
|
||||
@HEAD
|
||||
@Path("{container}")
|
||||
@QueryParams(keys = "restype", values = "container")
|
||||
@ResponseParser(ParseContainerPropertiesFromHeaders.class)
|
||||
@Fallback(NullOnContainerNotFound.class)
|
||||
ListenableFuture<ContainerProperties> getContainerProperties(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container);
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#containerExists
|
||||
*/
|
||||
@Named("GetContainerProperties")
|
||||
@HEAD
|
||||
@Path("{container}")
|
||||
@QueryParams(keys = "restype", values = "container")
|
||||
@Fallback(FalseOnContainerNotFound.class)
|
||||
ListenableFuture<Boolean> containerExists(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container);
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#setResourceMetadata
|
||||
*/
|
||||
@Named("SetContainerMetadata")
|
||||
@PUT
|
||||
@Path("{container}")
|
||||
@QueryParams(keys = { "restype", "comp" }, values = { "container", "metadata" })
|
||||
ListenableFuture<Void> setResourceMetadata(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container,
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container,
|
||||
@BinderParam(BindMapToHeadersWithPrefix.class) Map<String, String> metadata);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#deleteContainer
|
||||
*/
|
||||
@Named("DeleteContainer")
|
||||
@DELETE
|
||||
@Path("{container}")
|
||||
@Fallback(VoidOnNotFoundOr404.class)
|
||||
@QueryParams(keys = "restype", values = "container")
|
||||
ListenableFuture<Void> deleteContainer(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container);
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#createRootContainer
|
||||
*/
|
||||
@Named("CreateContainer")
|
||||
@PUT
|
||||
@Path("$root")
|
||||
@Fallback(FalseIfContainerAlreadyExists.class)
|
||||
|
@ -173,6 +182,7 @@ public interface AzureBlobAsyncClient {
|
|||
/**
|
||||
* @see AzureBlobClient#deleteRootContainer
|
||||
*/
|
||||
@Named("DeleteContainer")
|
||||
@DELETE
|
||||
@Path("$root")
|
||||
@Fallback(TrueOnNotFoundOr404.class)
|
||||
|
@ -182,17 +192,19 @@ public interface AzureBlobAsyncClient {
|
|||
/**
|
||||
* @see AzureBlobClient#listBlobs(String, ListBlobsOptions[])
|
||||
*/
|
||||
@Named("ListBlobs")
|
||||
@GET
|
||||
@XMLResponseParser(ContainerNameEnumerationResultsHandler.class)
|
||||
@Path("{container}")
|
||||
@QueryParams(keys = { "restype", "comp" }, values = { "container", "list" })
|
||||
ListenableFuture<ListBlobsResponse> listBlobs(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container,
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container,
|
||||
ListBlobsOptions... options);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#listBlobs(ListBlobsOptions[])
|
||||
*/
|
||||
@Named("ListBlobs")
|
||||
@GET
|
||||
@XMLResponseParser(ContainerNameEnumerationResultsHandler.class)
|
||||
@Path("$root")
|
||||
|
@ -202,63 +214,70 @@ public interface AzureBlobAsyncClient {
|
|||
/**
|
||||
* @see AzureBlobClient#putBlob
|
||||
*/
|
||||
@Named("PutBlob")
|
||||
@PUT
|
||||
@Path("{container}/{name}")
|
||||
@ResponseParser(ParseETagHeader.class)
|
||||
ListenableFuture<String> putBlob(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container,
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container,
|
||||
@PathParam("name") @ParamParser(BlobName.class) @BinderParam(BindAzureBlobMetadataToRequest.class) org.jclouds.azureblob.domain.AzureBlob object);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#getBlob
|
||||
*/
|
||||
@Named("GetBlob")
|
||||
@GET
|
||||
@ResponseParser(ParseBlobFromHeadersAndHttpContent.class)
|
||||
@Fallback(NullOnKeyNotFound.class)
|
||||
@Path("{container}/{name}")
|
||||
ListenableFuture<org.jclouds.azureblob.domain.AzureBlob> getBlob(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container,
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container,
|
||||
@PathParam("name") String name, GetOptions... options);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#getBlobProperties
|
||||
*/
|
||||
@Named("GetBlobProperties")
|
||||
@HEAD
|
||||
@ResponseParser(ParseBlobPropertiesFromHeaders.class)
|
||||
@Fallback(NullOnKeyNotFound.class)
|
||||
@Path("{container}/{name}")
|
||||
ListenableFuture<BlobProperties> getBlobProperties(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container,
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container,
|
||||
@PathParam("name") String name);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#blobExists
|
||||
*
|
||||
*/
|
||||
@Named("GetBlobProperties")
|
||||
@HEAD
|
||||
@Fallback(FalseOnKeyNotFound.class)
|
||||
@Path("{container}/{name}")
|
||||
ListenableFuture<Boolean> blobExists(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container,
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container,
|
||||
@PathParam("name") String name);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#setBlobMetadata
|
||||
*/
|
||||
@Named("SetBlobMetadata")
|
||||
@PUT
|
||||
@Path("{container}/{name}")
|
||||
@QueryParams(keys = { "comp" }, values = { "metadata" })
|
||||
ListenableFuture<Void> setBlobMetadata(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container,
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container,
|
||||
@PathParam("name") String name, @BinderParam(BindMapToHeadersWithPrefix.class) Map<String, String> metadata);
|
||||
|
||||
/**
|
||||
* @see AzureBlobClient#deleteBlob
|
||||
*/
|
||||
@Named("DeleteBlob")
|
||||
@DELETE
|
||||
@Fallback(VoidOnNotFoundOr404.class)
|
||||
@Path("{container}/{name}")
|
||||
ListenableFuture<Void> deleteBlob(
|
||||
@PathParam("container") @ParamValidators( { ContainerNameValidator.class }) String container,
|
||||
@PathParam("container") @ParamValidators(ContainerNameValidator.class) String container,
|
||||
@PathParam("name") String name);
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue