diff --git a/apis/s3/src/main/java/org/jclouds/s3/blobstore/S3BlobStore.java b/apis/s3/src/main/java/org/jclouds/s3/blobstore/S3BlobStore.java index 9b91048d33..195b637202 100644 --- a/apis/s3/src/main/java/org/jclouds/s3/blobstore/S3BlobStore.java +++ b/apis/s3/src/main/java/org/jclouds/s3/blobstore/S3BlobStore.java @@ -266,8 +266,6 @@ public class S3BlobStore extends BaseBlobStore { if (overrides.getBlobAccess() == BlobAccess.PUBLIC_READ) { options = options.withAcl(CannedAccessPolicy.PUBLIC_READ); } - // TODO: S3 does not allow putObject if Tier.ARCHIVE. Instead, copyBlob - // after putBlob when the former supports tiers. return sync.putObject(container, blob2Object.apply(blob), options); } diff --git a/apis/s3/src/main/java/org/jclouds/s3/domain/ObjectMetadata.java b/apis/s3/src/main/java/org/jclouds/s3/domain/ObjectMetadata.java index 0c5b5f4ba4..52eb15c727 100644 --- a/apis/s3/src/main/java/org/jclouds/s3/domain/ObjectMetadata.java +++ b/apis/s3/src/main/java/org/jclouds/s3/domain/ObjectMetadata.java @@ -38,7 +38,8 @@ public interface ObjectMetadata extends Comparable { STANDARD_IA(Tier.INFREQUENT), ONEZONE_IA(Tier.INFREQUENT), REDUCED_REDUNDANCY(Tier.STANDARD), - GLACIER(Tier.ARCHIVE); + GLACIER(Tier.ARCHIVE), + DEEP_ARCHIVE(Tier.ARCHIVE); private final Tier tier; @@ -50,7 +51,7 @@ public interface ObjectMetadata extends Comparable { switch (tier) { case STANDARD: return StorageClass.STANDARD; case INFREQUENT: return StorageClass.STANDARD_IA; - case ARCHIVE: return StorageClass.GLACIER; + case ARCHIVE: return StorageClass.DEEP_ARCHIVE; } throw new IllegalArgumentException("invalid tier: " + tier); } diff --git a/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientLiveTest.java b/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientLiveTest.java index adf5b26734..1d04891d20 100644 --- a/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientLiveTest.java +++ b/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientLiveTest.java @@ -67,11 +67,6 @@ public class AWSS3ClientLiveTest extends S3ClientLiveTest { AWSS3Client s3Client = getApi(); try { for (StorageClass storageClass : StorageClass.values()) { - if (storageClass == StorageClass.GLACIER) { - // AWS does not allow creation of Glacier objects - continue; - } - String blobName = "test-" + storageClass; BlobStore blobStore = view.getBlobStore(); blobStore.createContainerInLocation(null, containerName);