From da1bc06f9efb626c03eb3119e9c77adf5b12f179 Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Sun, 14 Apr 2024 18:17:06 +0900 Subject: [PATCH] JCLOUDS-1635: Add COOL and COLD to Tier The former replaces INFREQUENT. References gaul/s3proxy#625. --- .../main/java/org/jclouds/s3/domain/ObjectMetadata.java | 8 +++++--- .../src/main/java/org/jclouds/blobstore/domain/Tier.java | 8 ++++++-- .../java/org/jclouds/azureblob/domain/AccessTier.java | 6 ++++-- .../domain/DomainResourceReferences.java | 6 ++++-- 4 files changed, 19 insertions(+), 9 deletions(-) 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 1fa49d76ecb..f43399ca1d7 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 @@ -35,12 +35,12 @@ public interface ObjectMetadata extends Comparable { public enum StorageClass { STANDARD(Tier.STANDARD), - STANDARD_IA(Tier.INFREQUENT), - ONEZONE_IA(Tier.INFREQUENT), + STANDARD_IA(Tier.COOL), + ONEZONE_IA(Tier.COOL), INTELLIGENT_TIERING(Tier.STANDARD), REDUCED_REDUNDANCY(Tier.STANDARD), GLACIER(Tier.ARCHIVE), - GLACIER_IR(Tier.ARCHIVE), + GLACIER_IR(Tier.COLD), DEEP_ARCHIVE(Tier.ARCHIVE); private final Tier tier; @@ -53,6 +53,8 @@ public static StorageClass fromTier(Tier tier) { switch (tier) { case STANDARD: return StorageClass.STANDARD; case INFREQUENT: return StorageClass.STANDARD_IA; + case COOL: return StorageClass.STANDARD_IA; + case COLD: return StorageClass.GLACIER_IR; case ARCHIVE: return StorageClass.DEEP_ARCHIVE; } throw new IllegalArgumentException("invalid tier: " + tier); diff --git a/blobstore/src/main/java/org/jclouds/blobstore/domain/Tier.java b/blobstore/src/main/java/org/jclouds/blobstore/domain/Tier.java index 827374457f0..13cf0352948 100644 --- a/blobstore/src/main/java/org/jclouds/blobstore/domain/Tier.java +++ b/blobstore/src/main/java/org/jclouds/blobstore/domain/Tier.java @@ -24,8 +24,12 @@ public enum Tier { /** Optimize for access speed. */ STANDARD, - /** Balance access speed against storage cost. */ - INFREQUENT, + /** @deprecated see COOL. */ + @Deprecated INFREQUENT, + /** Slower access speed and reduced storage costs. */ + COOL, + /** Even slower access speed and further reduced storage costs. */ + COLD, /** * Optimize for storage cost. Some providers may require a separate call to * set the blob to STANDARD tier before access. diff --git a/providers/azureblob/src/main/java/org/jclouds/azureblob/domain/AccessTier.java b/providers/azureblob/src/main/java/org/jclouds/azureblob/domain/AccessTier.java index ee8cea8298e..199280ef499 100644 --- a/providers/azureblob/src/main/java/org/jclouds/azureblob/domain/AccessTier.java +++ b/providers/azureblob/src/main/java/org/jclouds/azureblob/domain/AccessTier.java @@ -24,8 +24,8 @@ public enum AccessTier { HOT(Tier.STANDARD), - COOL(Tier.INFREQUENT), - COLD(Tier.INFREQUENT), + COOL(Tier.COOL), + COLD(Tier.COLD), ARCHIVE(Tier.ARCHIVE); private final Tier tier; @@ -52,6 +52,8 @@ public static AccessTier fromTier(Tier tier) { switch (tier) { case STANDARD: return AccessTier.HOT; case INFREQUENT: return AccessTier.COOL; + case COOL: return AccessTier.COOL; + case COLD: return AccessTier.COLD; case ARCHIVE: return AccessTier.ARCHIVE; } throw new IllegalArgumentException("invalid tier: " + tier); diff --git a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/DomainResourceReferences.java b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/DomainResourceReferences.java index b3751757086..fe473da187a 100644 --- a/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/DomainResourceReferences.java +++ b/providers/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/domain/DomainResourceReferences.java @@ -105,11 +105,11 @@ public static Location fromValue(String location) { public enum StorageClass { ARCHIVE(Tier.ARCHIVE), - COLDLINE(Tier.ARCHIVE), + COLDLINE(Tier.COLD), DURABLE_REDUCED_AVAILABILITY(Tier.STANDARD), MULTI_REGIONAL(Tier.STANDARD), REGIONAL(Tier.STANDARD), - NEARLINE(Tier.INFREQUENT), + NEARLINE(Tier.COOL), STANDARD(Tier.STANDARD); private final Tier tier; @@ -122,6 +122,8 @@ public static StorageClass fromTier(Tier tier) { switch (tier) { case STANDARD: return StorageClass.STANDARD; case INFREQUENT: return StorageClass.NEARLINE; + case COOL: return StorageClass.NEARLINE; + case COLD: return StorageClass.COLDLINE; case ARCHIVE: return StorageClass.ARCHIVE; } throw new IllegalArgumentException("invalid tier: " + tier);