putBucketOwnershipControls method
- required String bucket,
- required OwnershipControls ownershipControls,
- String? contentMD5,
- String? expectedBucketOwner,
Creates or modifies OwnershipControls
for an Amazon S3
bucket. To use this operation, you must have the
s3:PutBucketOwnershipControls
permission. For more
information about Amazon S3 permissions, see Specifying
Permissions in a Policy.
For information about Amazon S3 Object Ownership, see Using Object Ownership.
The following operations are related to
PutBucketOwnershipControls
:
Parameter bucket
:
The name of the Amazon S3 bucket whose OwnershipControls
you
want to set.
Parameter ownershipControls
:
The OwnershipControls
(BucketOwnerPreferred or ObjectWriter)
that you want to apply to this Amazon S3 bucket.
Parameter contentMD5
:
The MD5 hash of the OwnershipControls
request body.
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.
Implementation
Future<void> putBucketOwnershipControls({
required String bucket,
required OwnershipControls ownershipControls,
String? contentMD5,
String? expectedBucketOwner,
}) async {
ArgumentError.checkNotNull(bucket, 'bucket');
ArgumentError.checkNotNull(ownershipControls, 'ownershipControls');
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)}?ownershipControls',
headers: headers,
payload: ownershipControls.toXml('OwnershipControls'),
exceptionFnMap: _exceptionFns,
);
}