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