Class: Aws::S3::Types::LifecycleRule

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb

Overview

Note:

When making an API call, you may pass LifecycleRule data as a hash:

{
  expiration: {
    date: Time.now,
    days: 1,
    expired_object_delete_marker: false,
  },
  id: "ID",
  prefix: "Prefix",
  filter: {
    prefix: "Prefix",
    tag: {
      key: "ObjectKey", # required
      value: "Value", # required
    },
    and: {
      prefix: "Prefix",
      tags: [
        {
          key: "ObjectKey", # required
          value: "Value", # required
        },
      ],
    },
  },
  status: "Enabled", # required, accepts Enabled, Disabled
  transitions: [
    {
      date: Time.now,
      days: 1,
      storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
    },
  ],
  noncurrent_version_transitions: [
    {
      noncurrent_days: 1,
      storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
    },
  ],
  noncurrent_version_expiration: {
    noncurrent_days: 1,
  },
  abort_incomplete_multipart_upload: {
    days_after_initiation: 1,
  },
}

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

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#abort_incomplete_multipart_uploadTypes::AbortIncompleteMultipartUpload

Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy in the Amazon Simple Storage Service Developer Guide.



6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 6350

class LifecycleRule < Struct.new(
  :expiration,
  :id,
  :prefix,
  :filter,
  :status,
  :transitions,
  :noncurrent_version_transitions,
  :noncurrent_version_expiration,
  :abort_incomplete_multipart_upload)
  SENSITIVE = []
  include Aws::Structure
end

#expirationTypes::LifecycleExpiration

Specifies the expiration for the lifecycle of the object in the form of date, days and, whether the object has a delete marker.



6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 6350

class LifecycleRule < Struct.new(
  :expiration,
  :id,
  :prefix,
  :filter,
  :status,
  :transitions,
  :noncurrent_version_transitions,
  :noncurrent_version_expiration,
  :abort_incomplete_multipart_upload)
  SENSITIVE = []
  include Aws::Structure
end

#filterTypes::LifecycleRuleFilter

The Filter is used to identify objects that a Lifecycle Rule applies to. A Filter must have exactly one of Prefix, Tag, or And specified.



6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 6350

class LifecycleRule < Struct.new(
  :expiration,
  :id,
  :prefix,
  :filter,
  :status,
  :transitions,
  :noncurrent_version_transitions,
  :noncurrent_version_expiration,
  :abort_incomplete_multipart_upload)
  SENSITIVE = []
  include Aws::Structure
end

#idString

Unique identifier for the rule. The value cannot be longer than 255 characters.

Returns:

  • (String)


6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 6350

class LifecycleRule < Struct.new(
  :expiration,
  :id,
  :prefix,
  :filter,
  :status,
  :transitions,
  :noncurrent_version_transitions,
  :noncurrent_version_expiration,
  :abort_incomplete_multipart_upload)
  SENSITIVE = []
  include Aws::Structure
end

#noncurrent_version_expirationTypes::NoncurrentVersionExpiration

Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.



6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 6350

class LifecycleRule < Struct.new(
  :expiration,
  :id,
  :prefix,
  :filter,
  :status,
  :transitions,
  :noncurrent_version_transitions,
  :noncurrent_version_expiration,
  :abort_incomplete_multipart_upload)
  SENSITIVE = []
  include Aws::Structure
end

#noncurrent_version_transitionsArray<Types::NoncurrentVersionTransition>

Specifies the transition rule for the lifecycle rule that describes when noncurrent objects transition to a specific 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 a specific storage class at a set period in the object's lifetime.



6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 6350

class LifecycleRule < Struct.new(
  :expiration,
  :id,
  :prefix,
  :filter,
  :status,
  :transitions,
  :noncurrent_version_transitions,
  :noncurrent_version_expiration,
  :abort_incomplete_multipart_upload)
  SENSITIVE = []
  include Aws::Structure
end

#prefixString

Prefix identifying one or more objects to which the rule applies. This is No longer used; use Filter instead.

Returns:

  • (String)


6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 6350

class LifecycleRule < Struct.new(
  :expiration,
  :id,
  :prefix,
  :filter,
  :status,
  :transitions,
  :noncurrent_version_transitions,
  :noncurrent_version_expiration,
  :abort_incomplete_multipart_upload)
  SENSITIVE = []
  include Aws::Structure
end

#statusString

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

Returns:

  • (String)


6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 6350

class LifecycleRule < Struct.new(
  :expiration,
  :id,
  :prefix,
  :filter,
  :status,
  :transitions,
  :noncurrent_version_transitions,
  :noncurrent_version_expiration,
  :abort_incomplete_multipart_upload)
  SENSITIVE = []
  include Aws::Structure
end

#transitionsArray<Types::Transition>

Specifies when an Amazon S3 object transitions to a specified storage class.

Returns:



6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 6350

class LifecycleRule < Struct.new(
  :expiration,
  :id,
  :prefix,
  :filter,
  :status,
  :transitions,
  :noncurrent_version_transitions,
  :noncurrent_version_expiration,
  :abort_incomplete_multipart_upload)
  SENSITIVE = []
  include Aws::Structure
end