obliterate method

Future<void> obliterate(
  1. ObliterateCseKeyPairRequest request,
  2. String userId,
  3. String keyPairId, {
  4. String? $fields,
})

Deletes a client-side encryption key pair permanently and immediately.

You can only permanently delete key pairs that have been turned off for more than 30 days. To turn off a key pair, use the DisableCseKeyPair method. Gmail can't restore or decrypt any messages that were encrypted by an obliterated key. Authenticated users and Google Workspace administrators lose access to reading the encrypted messages. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured.

request - The metadata request object.

Request parameters:

userId - The requester's primary email address. To indicate the authenticated user, you can use the special value me.

keyPairId - The identifier of the key pair to obliterate.

$fields - Selector specifying which fields to include in a partial response.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<void> obliterate(
  ObliterateCseKeyPairRequest request,
  core.String userId,
  core.String keyPairId, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ =
      'gmail/v1/users/' +
      commons.escapeVariable('$userId') +
      '/settings/cse/keypairs/' +
      commons.escapeVariable('$keyPairId') +
      ':obliterate';

  await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
    downloadOptions: null,
  );
}