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

Inherits:
Struct
  • Object
show all
Includes:
Aws::Structure
Defined in:
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
    },
    object_size_greater_than: 1,
    object_size_less_than: 1,
    and: {
      prefix: "Prefix",
      tags: [
        {
          key: "ObjectKey", # required
          value: "Value", # required
        },
      ],
      object_size_greater_than: 1,
      object_size_less_than: 1,
    },
  },
  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, GLACIER_IR
    },
  ],
  noncurrent_version_transitions: [
    {
      noncurrent_days: 1,
      storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE, GLACIER_IR
      newer_noncurrent_versions: 1,
    },
  ],
  noncurrent_version_expiration: {
    noncurrent_days: 1,
    newer_noncurrent_versions: 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 S3 User Guide*.

[1]: docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config



8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
# File 'lib/aws-sdk-s3/types.rb', line 8364

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.



8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
# File 'lib/aws-sdk-s3/types.rb', line 8364

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. `Filter` is required if the `LifecycleRule` does not contain a `Prefix` element.



8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
# File 'lib/aws-sdk-s3/types.rb', line 8364

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)


8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
# File 'lib/aws-sdk-s3/types.rb', line 8364

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.



8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
# File 'lib/aws-sdk-s3/types.rb', line 8364

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.



8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
# File 'lib/aws-sdk-s3/types.rb', line 8364

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.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [ XML related object key constraints].

[1]: docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints

Returns:

  • (String)


8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
# File 'lib/aws-sdk-s3/types.rb', line 8364

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)


8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
# File 'lib/aws-sdk-s3/types.rb', line 8364

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:



8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
# File 'lib/aws-sdk-s3/types.rb', line 8364

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