Class: AWSCDK::S3::CfnBucket::NoncurrentVersionTransitionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
s3/cfn_bucket.rb

Overview

Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA , ONEZONE_IA , INTELLIGENT_TIERING , GLACIER_IR , GLACIER , or DEEP_ARCHIVE storage class.

If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA , ONEZONE_IA , INTELLIGENT_TIERING , GLACIER_IR , GLACIER , or DEEP_ARCHIVE storage class at a specific period in the object's lifetime. If you specify this property, don't specify the NoncurrentVersionTransitions property.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(storage_class:, transition_in_days:, newer_noncurrent_versions: nil) ⇒ NoncurrentVersionTransitionProperty

Returns a new instance of NoncurrentVersionTransitionProperty.

Parameters:

  • storage_class (String)

    The class of storage used to store the object.

  • transition_in_days (Numeric)

    Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action.

  • newer_noncurrent_versions (Numeric, nil) (defaults to: nil)

    Specifies how many noncurrent versions Amazon S3 will retain.



2622
2623
2624
2625
2626
2627
2628
2629
# File 's3/cfn_bucket.rb', line 2622

def initialize(storage_class:, transition_in_days:, newer_noncurrent_versions: nil)
  @storage_class = storage_class
  Jsii::Type.check_type(@storage_class, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "storageClass")
  @transition_in_days = transition_in_days
  Jsii::Type.check_type(@transition_in_days, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "transitionInDays")
  @newer_noncurrent_versions = newer_noncurrent_versions
  Jsii::Type.check_type(@newer_noncurrent_versions, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "newerNoncurrentVersions") unless @newer_noncurrent_versions.nil?
end

Instance Attribute Details

#newer_noncurrent_versionsNumeric? (readonly)

Specifies how many noncurrent versions Amazon S3 will retain.

If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see Lifecycle configuration elements in the Amazon S3 User Guide .



2649
2650
2651
# File 's3/cfn_bucket.rb', line 2649

def newer_noncurrent_versions
  @newer_noncurrent_versions
end

#storage_classString (readonly)

The class of storage used to store the object.



2635
2636
2637
# File 's3/cfn_bucket.rb', line 2635

def storage_class
  @storage_class
end

#transition_in_daysNumeric (readonly)

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action.

For information about the noncurrent days calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent in the Amazon S3 User Guide .



2642
2643
2644
# File 's3/cfn_bucket.rb', line 2642

def transition_in_days
  @transition_in_days
end

Class Method Details

.jsii_propertiesObject



2651
2652
2653
2654
2655
2656
2657
# File 's3/cfn_bucket.rb', line 2651

def self.jsii_properties
  {
    :storage_class => "storageClass",
    :transition_in_days => "transitionInDays",
    :newer_noncurrent_versions => "newerNoncurrentVersions",
  }
end

Instance Method Details

#to_jsiiObject



2659
2660
2661
2662
2663
2664
2665
2666
2667
# File 's3/cfn_bucket.rb', line 2659

def to_jsii
  result = {}
  result.merge!({
    "storageClass" => @storage_class,
    "transitionInDays" => @transition_in_days,
    "newerNoncurrentVersions" => @newer_noncurrent_versions,
  })
  result.compact
end