putBucketLifecycle method
- @Deprecated('Deprecated')
- required String bucket,
- String? contentMD5,
- String? expectedBucketOwner,
- LifecycleConfiguration? lifecycleConfiguration,
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 AWS 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 examples of transitioning objects to storage classes such as STANDARD_IA or ONEZONE_IA, see Examples of Lifecycle Configuration.
Related Resources
- GetBucketLifecycle(Deprecated)
- GetBucketLifecycleConfiguration
- RestoreObject
- By default, a resource owner—in this case, a bucket owner, which is the AWS 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 Simple Storage Service Developer Guide:
Parameter bucket
:
Parameter contentMD5
:
For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.
Parameter expectedBucketOwner
:
The account id of the expected bucket owner. If the bucket is owned by a
different account, the request will fail with an HTTP 403 (Access
Denied)
error.
Parameter lifecycleConfiguration
:
Implementation
@Deprecated('Deprecated')
Future<void> putBucketLifecycle({
required String bucket,
String? contentMD5,
String? expectedBucketOwner,
LifecycleConfiguration? lifecycleConfiguration,
}) async {
ArgumentError.checkNotNull(bucket, 'bucket');
final headers = <String, String>{
if (contentMD5 != null) 'Content-MD5': contentMD5.toString(),
if (expectedBucketOwner != null)
'x-amz-expected-bucket-owner': expectedBucketOwner.toString(),
};
await _protocol.send(
method: 'PUT',
requestUri: '/${Uri.encodeComponent(bucket)}?lifecycle',
headers: headers,
payload: lifecycleConfiguration?.toXml('LifecycleConfiguration'),
exceptionFnMap: _exceptionFns,
);
}