From d701f6a12738a46c6be752eda5da08c382ba34f4 Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Fri, 6 Feb 2015 15:07:43 -0800 Subject: [PATCH] JCLOUDS-660: Azure portable container ACLs --- .../azureblob/blobstore/AzureBlobStore.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java b/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java index 15a3f8b4c8..74446b346c 100644 --- a/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java +++ b/providers/azureblob/src/main/java/org/jclouds/azureblob/blobstore/AzureBlobStore.java @@ -42,6 +42,7 @@ import org.jclouds.azureblob.options.ListBlobsOptions; import org.jclouds.blobstore.BlobStoreContext; import org.jclouds.blobstore.domain.Blob; import org.jclouds.blobstore.domain.BlobMetadata; +import org.jclouds.blobstore.domain.ContainerAccess; import org.jclouds.blobstore.domain.PageSet; import org.jclouds.blobstore.domain.StorageMetadata; import org.jclouds.blobstore.domain.internal.PageSetImpl; @@ -282,4 +283,23 @@ public class AzureBlobStore extends BaseBlobStore { createContainerOptions.withPublicAccess(PublicAccess.CONTAINER); return sync.createContainer(container, createContainerOptions); } + + public ContainerAccess getContainerAccess(String container) { + PublicAccess access = sync.getPublicAccessForContainer(container); + if (access == PublicAccess.BLOB) { + return ContainerAccess.PUBLIC_READ; + } else { + return ContainerAccess.PRIVATE; + } + } + + public void setContainerAccess(String container, ContainerAccess access) { + PublicAccess publicAccess; + if (access == ContainerAccess.PUBLIC_READ) { + publicAccess = PublicAccess.BLOB; + } else { + publicAccess = PublicAccess.PRIVATE; + } + sync.setPublicAccessForContainer(container, publicAccess); + } }