cancelKeyDeletion method

Future<CancelKeyDeletionResponse> cancelKeyDeletion({
  1. required String keyId,
})

Cancels the deletion of a customer master key (CMK). When this operation succeeds, the key state of the CMK is Disabled. To enable the CMK, use EnableKey.

For more information about scheduling and canceling deletion of a CMK, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

Cross-account use: No. You cannot perform this operation on a CMK in a different AWS account.

Required permissions: kms:CancelKeyDeletion (key policy)

Related operations: ScheduleKeyDeletion

May throw NotFoundException. May throw InvalidArnException. May throw DependencyTimeoutException. May throw KMSInternalException. May throw KMSInvalidStateException.

Parameter keyId : The unique identifier for the customer master key (CMK) for which to cancel deletion.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

Implementation

Future<CancelKeyDeletionResponse> cancelKeyDeletion({
  required String keyId,
}) async {
  ArgumentError.checkNotNull(keyId, 'keyId');
  _s.validateStringLength(
    'keyId',
    keyId,
    1,
    2048,
    isRequired: true,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'TrentService.CancelKeyDeletion'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'KeyId': keyId,
    },
  );

  return CancelKeyDeletionResponse.fromJson(jsonResponse.body);
}