PutBucketLifecycleConfiguration - Amazon Simple Storage Service
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).



This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. To put a lifecycle configuration to an S3 bucket, see PutBucketLifecycleConfiguration in the Amazon S3 API Reference.

Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces an existing lifecycle configuration. Outposts buckets only support lifecycle configurations that delete/expire objects after a certain period of time and abort incomplete multipart uploads.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.

The following actions are related to PutBucketLifecycleConfiguration:

Request Syntax

PUT /v20180820/bucket/name/lifecycleconfiguration HTTP/1.1 Host: Bucket.s3-control.amazonaws.com x-amz-account-id: AccountId <?xml version="1.0" encoding="UTF-8"?> <LifecycleConfiguration xmlns="http://awss3control.amazonaws.com/doc/2018-08-20/"> <Rules> <Rule> <AbortIncompleteMultipartUpload> <DaysAfterInitiation>integer</DaysAfterInitiation> </AbortIncompleteMultipartUpload> <Expiration> <Date>timestamp</Date> <Days>integer</Days> <ExpiredObjectDeleteMarker>boolean</ExpiredObjectDeleteMarker> </Expiration> <Filter> <And> <ObjectSizeGreaterThan>long</ObjectSizeGreaterThan> <ObjectSizeLessThan>long</ObjectSizeLessThan> <Prefix>string</Prefix> <Tags> <S3Tag> <Key>string</Key> <Value>string</Value> </S3Tag> </Tags> </And> <ObjectSizeGreaterThan>long</ObjectSizeGreaterThan> <ObjectSizeLessThan>long</ObjectSizeLessThan> <Prefix>string</Prefix> <Tag> <Key>string</Key> <Value>string</Value> </Tag> </Filter> <ID>string</ID> <NoncurrentVersionExpiration> <NewerNoncurrentVersions>integer</NewerNoncurrentVersions> <NoncurrentDays>integer</NoncurrentDays> </NoncurrentVersionExpiration> <NoncurrentVersionTransitions> <NoncurrentVersionTransition> <NoncurrentDays>integer</NoncurrentDays> <StorageClass>string</StorageClass> </NoncurrentVersionTransition> </NoncurrentVersionTransitions> <Status>string</Status> <Transitions> <Transition> <Date>timestamp</Date> <Days>integer</Days> <StorageClass>string</StorageClass> </Transition> </Transitions> </Rule> </Rules> </LifecycleConfiguration>

URI Request Parameters

The request uses the following URI parameters.


The name of the bucket for which to set the configuration.

Length Constraints: Minimum length of 3. Maximum length of 255.

Required: Yes


The Amazon Web Services account ID of the Outposts bucket.

Length Constraints: Maximum length of 64.

Pattern: ^\d{12}$

Required: Yes

Request Body

The request accepts the following data in XML format.


Root level tag for the LifecycleConfiguration parameters.

Required: Yes


A lifecycle rule for individual objects in an Outposts bucket.

Type: Array of LifecycleRule data types

Required: No

Response Syntax

HTTP/1.1 200

Response Elements

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.


Sample PutBucketLifecycleConfiguration request on an Amazon S3 on Outposts bucket

This request puts a lifecycle configuration on an Outposts bucket named example-outpost-bucket.

PUT /v20180820/bucket/example-outpost-bucket/lifecycleconfiguration HTTP/1.1 Host:s3-outposts.<Region>.amazonaws.com x-amz-account-id: example-account-id x-amz-outpost-id: op-01ac5d28a6a232904 Content-Length: 0 Date: Wed, 01 Mar 2006 12:00:00 GMT Content-MD5: q6yJDlIkcBaGGfb3QLY69A== Authorization: authorization string Content-Length: 214 <LifecycleConfiguration> <Rule> <ID>id2</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>

See Also

For more information about using this API in one of the language-specific Amazon SDKs, see the following: