Skip to content

Put Bucket Lifecycle

s3_put_bucket_lifecycle R Documentation

This operation is not supported by directory buckets

Description

This operation is not supported by directory buckets.

For an updated version of this API, see put_bucket_lifecycle_configuration. This version has been deprecated. Existing lifecycle configurations will work. For new lifecycle configurations, use the updated API.

Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. For information about lifecycle configuration, see Object Lifecycle Management in the Amazon S3 User Guide.

By default, all Amazon S3 resources, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration) are private. Only the resource owner, the Amazon Web Services account that created the resource, can access it. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, users must get the s3:PutLifecycleConfiguration permission.

You can also explicitly deny permissions. Explicit denial also supersedes any other permissions. If you want to prevent users or accounts from removing or deleting objects from your bucket, you must deny them permissions for the following actions:

  • s3:DeleteObject

  • s3:DeleteObjectVersion

  • s3:PutLifecycleConfiguration

For more information about permissions, see Managing Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide.

For more examples of transitioning objects to storage classes such as STANDARD_IA or ONEZONE_IA, see Examples of Lifecycle Configuration.

The following operations are related to put_bucket_lifecycle:

  • get_bucket_lifecycle(Deprecated)

  • get_bucket_lifecycle_configuration

  • restore_object

  • By default, a resource owner—in this case, a bucket owner, which is the Amazon Web Services account that created the bucket—can perform any of the operations. A resource owner can also grant others permission to perform the operation. For more information, see the following topics in the Amazon S3 User Guide:

Usage

s3_put_bucket_lifecycle(Bucket, ContentMD5, ChecksumAlgorithm,
  LifecycleConfiguration, ExpectedBucketOwner)

Arguments

Bucket

[required]

ContentMD5

For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.

ChecksumAlgorithm

Indicates the algorithm used to create the checksum for the object when you use the SDK. This header will not provide any additional functionality if you don't use the SDK. When you send this header, there must be a corresponding x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the HTTP status code ⁠400 Bad Request⁠. For more information, see Checking object integrity in the Amazon S3 User Guide.

If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm parameter.

LifecycleConfiguration
ExpectedBucketOwner

The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code ⁠403 Forbidden⁠ (access denied).

Value

An empty list.

Request syntax

svc$put_bucket_lifecycle(
  Bucket = "string",
  ContentMD5 = "string",
  ChecksumAlgorithm = "CRC32"|"CRC32C"|"SHA1"|"SHA256",
  LifecycleConfiguration = list(
    Rules = list(
      list(
        Expiration = list(
          Date = as.POSIXct(
            "2015-01-01"
          ),
          Days = 123,
          ExpiredObjectDeleteMarker = TRUE|FALSE
        ),
        ID = "string",
        Prefix = "string",
        Status = "Enabled"|"Disabled",
        Transition = list(
          Date = as.POSIXct(
            "2015-01-01"
          ),
          Days = 123,
          StorageClass = "GLACIER"|"STANDARD_IA"|"ONEZONE_IA"|"INTELLIGENT_TIERING"|"DEEP_ARCHIVE"|"GLACIER_IR"
        ),
        NoncurrentVersionTransition = list(
          NoncurrentDays = 123,
          StorageClass = "GLACIER"|"STANDARD_IA"|"ONEZONE_IA"|"INTELLIGENT_TIERING"|"DEEP_ARCHIVE"|"GLACIER_IR",
          NewerNoncurrentVersions = 123
        ),
        NoncurrentVersionExpiration = list(
          NoncurrentDays = 123,
          NewerNoncurrentVersions = 123
        ),
        AbortIncompleteMultipartUpload = list(
          DaysAfterInitiation = 123
        )
      )
    )
  ),
  ExpectedBucketOwner = "string"
)