describeCustomKeyStores method
Gets information about custom key stores in the account and Region.
This operation is part of the custom key stores feature in KMS, which combines the convenience and extensive integration of KMS with the isolation and control of a key store that you own and manage.
By default, this operation returns information about all custom key stores
in the account and Region. To get only information about a particular
custom key store, use either the CustomKeyStoreName or
CustomKeyStoreId parameter (but not both).
To determine whether the custom key store is connected to its CloudHSM
cluster or external key store proxy, use the ConnectionState
element in the response. If an attempt to connect the custom key store
failed, the ConnectionState value is FAILED and
the ConnectionErrorCode element in the response indicates the
cause of the failure. For help interpreting the
ConnectionErrorCode, see CustomKeyStoresListEntry.
Custom key stores have a DISCONNECTED connection state if the
key store has never been connected or you used the
DisconnectCustomKeyStore operation to disconnect it. Otherwise, the
connection state is CONNECTED. If your custom key store connection state
is CONNECTED but you are having trouble using it, verify that
the backing store is active and available. For an CloudHSM key store,
verify that the associated CloudHSM cluster is active and contains the
minimum number of HSMs required for the operation, if any. For an external
key store, verify that the external key store proxy and its associated
external key manager are reachable and enabled.
For help repairing your CloudHSM key store, see the Troubleshooting CloudHSM key stores. For help repairing your external key store, see the Troubleshooting external key stores. Both topics are in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a custom key store in a different Amazon Web Services account.
Required permissions: kms:DescribeCustomKeyStores (IAM policy)
Related operations:
- ConnectCustomKeyStore
- CreateCustomKeyStore
- DeleteCustomKeyStore
- DisconnectCustomKeyStore
- UpdateCustomKeyStore
May throw CustomKeyStoreNotFoundException.
May throw InvalidMarkerException.
May throw KMSInternalException.
Parameter customKeyStoreId :
Gets only information about the specified custom key store. Enter the key
store ID.
By default, this operation gets information about all custom key stores in
the account and Region. To limit the output to a particular custom key
store, provide either the CustomKeyStoreId or
CustomKeyStoreName parameter, but not both.
Parameter customKeyStoreName :
Gets only information about the specified custom key store. Enter the
friendly name of the custom key store.
By default, this operation gets information about all custom key stores in
the account and Region. To limit the output to a particular custom key
store, provide either the CustomKeyStoreId or
CustomKeyStoreName parameter, but not both.
Parameter limit :
Use this parameter to specify the maximum number of items to return. When
this value is present, KMS does not return more than the specified number
of items, but it might return fewer.
Parameter marker :
Use this parameter in a subsequent request after you receive a response
with truncated results. Set it to the value of NextMarker
from the truncated response you just received.
Implementation
Future<DescribeCustomKeyStoresResponse> describeCustomKeyStores({
String? customKeyStoreId,
String? customKeyStoreName,
int? limit,
String? marker,
}) async {
_s.validateNumRange(
'limit',
limit,
1,
1000,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'TrentService.DescribeCustomKeyStores'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
if (customKeyStoreId != null) 'CustomKeyStoreId': customKeyStoreId,
if (customKeyStoreName != null)
'CustomKeyStoreName': customKeyStoreName,
if (limit != null) 'Limit': limit,
if (marker != null) 'Marker': marker,
},
);
return DescribeCustomKeyStoresResponse.fromJson(jsonResponse.body);
}