untagResource method

Future<void> untagResource({
  1. required String accountId,
  2. required String resourceArn,
  3. required List<String> tagKeys,
})

This operation removes the specified user-defined tags from an S3 resource. You can pass one or more tag keys.

Permissions
For general purpose buckets, access points for general purpose buckets, Storage Lens groups, and S3 Access Grants, you must have the s3:UntagResource permission to use this operation.
Directory bucket permissions
For directory buckets, you must have the s3express:UntagResource permission to use this operation. For more information about directory buckets policies and permissions, see Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.
HTTP Host header syntax
Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.
For information about S3 Tagging errors, see List of Amazon S3 Tagging error codes.

Parameter accountId : The Amazon Web Services account ID that owns the resource that you're trying to remove the tags from.

Parameter resourceArn : The Amazon Resource Name (ARN) of the S3 resource that you're removing tags from. The tagged resource can be a directory bucket, S3 Storage Lens group or S3 Access Grants instance, registered location, or grant.

Parameter tagKeys : The array of tag key-value pairs that you're trying to remove from of the S3 resource.

Implementation

Future<void> untagResource({
  required String accountId,
  required String resourceArn,
  required List<String> tagKeys,
}) async {
  final headers = <String, String>{
    'x-amz-account-id': accountId.toString(),
  };
  final $query = <String, List<String>>{
    'tagKeys': tagKeys,
  };
  await _protocol.send(
    method: 'DELETE',
    requestUri:
        '/v20180820/tags/${resourceArn.split('/').map(Uri.encodeComponent).join('/')}',
    queryParams: $query,
    headers: headers,
    exceptionFnMap: _exceptionFns,
  );
}