getBucketPolicyStatus method
Retrieves the policy status for an Amazon S3 bucket, indicating whether
the bucket is public. In order to use this operation, you must have the
s3:GetBucketPolicyStatus
permission. For more information
about Amazon S3 permissions, see Specifying
Permissions in a Policy.
For more information about when Amazon S3 considers a bucket public, see The Meaning of "Public".
The following operations are related to
GetBucketPolicyStatus
:
- Using Amazon S3 Block Public Access
- GetPublicAccessBlock
- PutPublicAccessBlock
- DeletePublicAccessBlock
Parameter bucket
:
The name of the Amazon S3 bucket whose policy status you want to retrieve.
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<GetBucketPolicyStatusOutput> getBucketPolicyStatus({
required String bucket,
String? expectedBucketOwner,
}) async {
ArgumentError.checkNotNull(bucket, 'bucket');
final headers = <String, String>{
if (expectedBucketOwner != null)
'x-amz-expected-bucket-owner': expectedBucketOwner.toString(),
};
final $result = await _protocol.sendRaw(
method: 'GET',
requestUri: '/${Uri.encodeComponent(bucket)}?policyStatus',
headers: headers,
exceptionFnMap: _exceptionFns,
);
final $elem = await _s.xmlFromResponse($result);
return GetBucketPolicyStatusOutput(
policyStatus: PolicyStatus.fromXml($elem),
);
}