getBucketPolicyStatus method

Future<GetBucketPolicyStatusOutput> getBucketPolicyStatus({
  1. required String bucket,
  2. String? expectedBucketOwner,
})

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:

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),
  );
}