cancelKeyDeletion method
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
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);
}