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
    },
    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.



8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
# File 'gems/aws-sdk-s3/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 'gems/aws-sdk-s3/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 'gems/aws-sdk-s3/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 'gems/aws-sdk-s3/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 'gems/aws-sdk-s3/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 'gems/aws-sdk-s3/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.

Returns:

  • (String)


8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
# File 'gems/aws-sdk-s3/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 'gems/aws-sdk-s3/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 'gems/aws-sdk-s3/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