Class StorageClass

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.s3.StorageClass
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-11-27T16:51:04.747Z") @Stability(Stable) public class StorageClass extends software.amazon.jsii.JsiiObject
Storage class to move an object to.

Example:

 Bucket bucket = Bucket.Builder.create(this, "MyBucket")
         .lifecycleRules(List.of(LifecycleRule.builder()
                 .abortIncompleteMultipartUploadAfter(Duration.minutes(30))
                 .enabled(false)
                 .expiration(Duration.days(30))
                 .expirationDate(new Date())
                 .expiredObjectDeleteMarker(false)
                 .id("id")
                 .noncurrentVersionExpiration(Duration.days(30))
                 // the properties below are optional
                 .noncurrentVersionsToRetain(123)
                 .noncurrentVersionTransitions(List.of(NoncurrentVersionTransition.builder()
                         .storageClass(StorageClass.GLACIER)
                         .transitionAfter(Duration.days(30))
                         // the properties below are optional
                         .noncurrentVersionsToRetain(123)
                         .build()))
                 .objectSizeGreaterThan(500)
                 .prefix("prefix")
                 .objectSizeLessThan(10000)
                 .transitions(List.of(Transition.builder()
                         .storageClass(StorageClass.GLACIER)
                         // the properties below are optional
                         .transitionAfter(Duration.days(30))
                         .transitionDate(new Date())
                         .build()))
                 .build()))
         .build();
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final StorageClass
    Use for archiving data that rarely needs to be accessed.
    static final StorageClass
    Storage class for long-term archival that can take between minutes and hours to access.
    static final StorageClass
    Storage class for long-term archival that can be accessed in a few milliseconds.
    static final StorageClass
    Storage class for data that is accessed less frequently, but requires rapid access when needed.
    static final StorageClass
    The INTELLIGENT_TIERING storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead.
    static final StorageClass
    Infrequent Access that's only stored in one availability zone.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
     
     
    protected
    StorageClass(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    StorageClass(software.amazon.jsii.JsiiObjectRef objRef)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
     

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Field Details

    • DEEP_ARCHIVE

      @Stability(Stable) public static final StorageClass DEEP_ARCHIVE
      Use for archiving data that rarely needs to be accessed.

      Data stored in the DEEP_ARCHIVE storage class has a minimum storage duration period of 180 days and a default retrieval time of 12 hours. If you delete an object before the 180-day minimum, you are charged for 180 days. For pricing information, see Amazon S3 Pricing.

    • GLACIER

      @Stability(Stable) public static final StorageClass GLACIER
      Storage class for long-term archival that can take between minutes and hours to access.

      Use for archives where portions of the data might need to be retrieved in minutes. Data stored in the GLACIER storage class has a minimum storage duration period of 90 days and can be accessed in as little as 1-5 minutes using expedited retrieval. If you delete an object before the 90-day minimum, you are charged for 90 days.

    • GLACIER_INSTANT_RETRIEVAL

      @Stability(Stable) public static final StorageClass GLACIER_INSTANT_RETRIEVAL
      Storage class for long-term archival that can be accessed in a few milliseconds.

      It is ideal for data that is accessed once or twice per quarter, and that requires immediate access. Data stored in the GLACIER_IR storage class has a minimum storage duration period of 90 days and can be accessed in as milliseconds. If you delete an object before the 90-day minimum, you are charged for 90 days.

    • INFREQUENT_ACCESS

      @Stability(Stable) public static final StorageClass INFREQUENT_ACCESS
      Storage class for data that is accessed less frequently, but requires rapid access when needed.

      Has lower availability than Standard storage.

    • INTELLIGENT_TIERING

      @Stability(Stable) public static final StorageClass INTELLIGENT_TIERING
      The INTELLIGENT_TIERING storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead.

      INTELLIGENT_TIERING delivers automatic cost savings by moving data on a granular object level between two access tiers, a frequent access tier and a lower-cost infrequent access tier, when access patterns change. The INTELLIGENT_TIERING storage class is ideal if you want to optimize storage costs automatically for long-lived data when access patterns are unknown or unpredictable.

    • ONE_ZONE_INFREQUENT_ACCESS

      @Stability(Stable) public static final StorageClass ONE_ZONE_INFREQUENT_ACCESS
      Infrequent Access that's only stored in one availability zone.

      Has lower availability than standard InfrequentAccess.

  • Constructor Details

    • StorageClass

      protected StorageClass(software.amazon.jsii.JsiiObjectRef objRef)
    • StorageClass

      protected StorageClass(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • StorageClass

      @Stability(Stable) public StorageClass(@NotNull String value)
      Parameters:
      value - This parameter is required.
  • Method Details

    • toString

      @Stability(Stable) @NotNull public String toString()
      Overrides:
      toString in class Object
    • getValue

      @Stability(Stable) @NotNull public String getValue()