Class: AWSCDK::S3::CfnBucket::LifecycleConfigurationProperty

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

Overview

Specifies the lifecycle configuration for objects in an Amazon S3 bucket.

For more information, see Object Lifecycle Management in the Amazon S3 User Guide .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rules:, transition_default_minimum_object_size: nil) ⇒ LifecycleConfigurationProperty

Returns a new instance of LifecycleConfigurationProperty.

Parameters:



2141
2142
2143
2144
2145
2146
# File 's3/cfn_bucket.rb', line 2141

def initialize(rules:, transition_default_minimum_object_size: nil)
  @rules = rules
  Jsii::Type.check_type(@rules, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuQ2ZuQnVja2V0LlJ1bGVQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "rules")
  @transition_default_minimum_object_size = transition_default_minimum_object_size
  Jsii::Type.check_type(@transition_default_minimum_object_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "transitionDefaultMinimumObjectSize") unless @transition_default_minimum_object_size.nil?
end

Instance Attribute Details

#rulesAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::S3::CfnBucket::RuleProperty> (readonly)

A lifecycle rule for individual objects in an Amazon S3 bucket.



2152
2153
2154
# File 's3/cfn_bucket.rb', line 2152

def rules
  @rules
end

#transition_default_minimum_object_sizeString? (readonly)

Indicates which default minimum object size behavior is applied to the lifecycle configuration.

This parameter applies to general purpose buckets only. It isn't supported for directory bucket lifecycle configurations.

  • all_storage_classes_128K - Objects smaller than 128 KB will not transition to any storage class by default.
  • varies_by_storage_class - Objects smaller than 128 KB will transition to Glacier Flexible Retrieval or Glacier Deep Archive storage classes. By default, all other storage classes will prevent transitions smaller than 128 KB.

To customize the minimum object size for any transition you can add a filter that specifies a custom ObjectSizeGreaterThan or ObjectSizeLessThan in the body of your transition rule. Custom filters always take precedence over the default transition behavior.



2164
2165
2166
# File 's3/cfn_bucket.rb', line 2164

def transition_default_minimum_object_size
  @transition_default_minimum_object_size
end

Class Method Details

.jsii_propertiesObject



2166
2167
2168
2169
2170
2171
# File 's3/cfn_bucket.rb', line 2166

def self.jsii_properties
  {
    :rules => "rules",
    :transition_default_minimum_object_size => "transitionDefaultMinimumObjectSize",
  }
end

Instance Method Details

#to_jsiiObject



2173
2174
2175
2176
2177
2178
2179
2180
# File 's3/cfn_bucket.rb', line 2173

def to_jsii
  result = {}
  result.merge!({
    "rules" => @rules,
    "transitionDefaultMinimumObjectSize" => @transition_default_minimum_object_size,
  })
  result.compact
end