listBuckets method

Future<ListBucketsOutput> listBuckets({
  1. String? bucketRegion,
  2. String? continuationToken,
  3. int? maxBuckets,
  4. String? prefix,
})
Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use this operation, you must add the s3:ListAllMyBuckets policy action.

For information about Amazon S3 buckets, see Creating, configuring, and working with Amazon S3 buckets.

Parameter bucketRegion : Limits the response to buckets that are located in the specified Amazon Web Services Region. The Amazon Web Services Region must be expressed according to the Amazon Web Services Region code, such as us-west-2 for the US West (Oregon) Region. For a list of the valid values for all of the Amazon Web Services Regions, see Regions and Endpoints.

Parameter continuationToken : ContinuationToken indicates to Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. You can use this ContinuationToken for pagination of the list results.

Length Constraints: Minimum length of 0. Maximum length of 1024.

Required: No.

Parameter maxBuckets : Maximum number of buckets to be returned in response. When the number is more than the count of buckets that are owned by an Amazon Web Services account, return all the buckets in response.

Parameter prefix : Limits the response to bucket names that begin with the specified bucket name prefix.

Implementation

Future<ListBucketsOutput> listBuckets({
  String? bucketRegion,
  String? continuationToken,
  int? maxBuckets,
  String? prefix,
}) async {
  _s.validateNumRange(
    'maxBuckets',
    maxBuckets,
    1,
    10000,
  );
  final $query = <String, List<String>>{
    if (bucketRegion != null) 'bucket-region': [bucketRegion],
    if (continuationToken != null) 'continuation-token': [continuationToken],
    if (maxBuckets != null) 'max-buckets': [maxBuckets.toString()],
    if (prefix != null) 'prefix': [prefix],
  };
  final $result = await _protocol.send(
    method: 'GET',
    requestUri: '/?x-id=ListBuckets',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return ListBucketsOutput.fromXml($result.body);
}