deleteCustomKeyStore method
Deletes a custom key store. This operation does not delete the AWS CloudHSM cluster that is associated with the custom key store, or affect any users or keys in the cluster.
The custom key store that you delete cannot contain any AWS KMS customer
master keys (CMKs). Before deleting the key store, verify that you
will never need to use any of the CMKs in the key store for any cryptographic
operations. Then, use ScheduleKeyDeletion to delete the AWS KMS
customer master keys (CMKs) from the key store. When the scheduled waiting
period expires, the ScheduleKeyDeletion
operation deletes the
CMKs. Then it makes a best effort to delete the key material from the
associated cluster. However, you might need to manually delete
the orphaned key material from the cluster and its backups.
After all CMKs are deleted from AWS KMS, use DisconnectCustomKeyStore to disconnect the key store from AWS KMS. Then, you can delete the custom key store.
Instead of deleting the custom key store, consider using DisconnectCustomKeyStore to disconnect it from AWS KMS. While the key store is disconnected, you cannot create or use the CMKs in the key store. But, you do not need to delete CMKs and you can reconnect a disconnected custom key store at any time.
If the operation succeeds, it returns a JSON object with no properties.
This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.
Cross-account use: No. You cannot perform this operation on a custom key store in a different AWS account.
Required permissions: kms:DeleteCustomKeyStore (IAM policy)
Related operations:
- ConnectCustomKeyStore
- CreateCustomKeyStore
- DescribeCustomKeyStores
- DisconnectCustomKeyStore
- UpdateCustomKeyStore
May throw CustomKeyStoreHasCMKsException. May throw CustomKeyStoreInvalidStateException. May throw CustomKeyStoreNotFoundException. May throw KMSInternalException.
Parameter customKeyStoreId
:
Enter the ID of the custom key store you want to delete. To find the ID of
a custom key store, use the DescribeCustomKeyStores operation.
Implementation
Future<void> deleteCustomKeyStore({
required String customKeyStoreId,
}) async {
ArgumentError.checkNotNull(customKeyStoreId, 'customKeyStoreId');
_s.validateStringLength(
'customKeyStoreId',
customKeyStoreId,
1,
64,
isRequired: true,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'TrentService.DeleteCustomKeyStore'
};
await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'CustomKeyStoreId': customKeyStoreId,
},
);
}