This is an automated email from the ASF dual-hosted git repository.

gaul pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jclouds.git


The following commit(s) were added to refs/heads/master by this push:
     new da1bc06f9e JCLOUDS-1635: Add COOL and COLD to Tier
da1bc06f9e is described below

commit da1bc06f9efb626c03eb3119e9c77adf5b12f179
Author: Andrew Gaul <[email protected]>
AuthorDate: Sun Apr 14 18:17:06 2024 +0900

    JCLOUDS-1635: Add COOL and COLD to Tier
    
    The former replaces INFREQUENT.  References gaul/s3proxy#625.
---
 apis/s3/src/main/java/org/jclouds/s3/domain/ObjectMetadata.java   | 8 +++++---
 blobstore/src/main/java/org/jclouds/blobstore/domain/Tier.java    | 8 ++++++--
 .../src/main/java/org/jclouds/azureblob/domain/AccessTier.java    | 6 ++++--
 .../googlecloudstorage/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 1fa49d76ec..f43399ca1d 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<ObjectMetadata> {
 
    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 interface ObjectMetadata extends 
Comparable<ObjectMetadata> {
          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 827374457f..13cf035294 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 @@ package org.jclouds.blobstore.domain;
 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 ee8cea8298..199280ef49 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 @@ import com.google.common.base.CaseFormat;
 
 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 enum AccessTier {
       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 b375175708..fe473da187 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 final class DomainResourceReferences {
 
    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 final class DomainResourceReferences {
          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);

Reply via email to