describeCustomKeyStores method
Gets information about custom key stores in the account and region.
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.
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 AWS CloudHSM
cluster, 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 use the
DisconnectCustomKeyStore operation to disconnect it. If your custom
key store state is CONNECTED
but you are having trouble using
it, make sure that its associated AWS CloudHSM cluster is active and
contains the minimum number of HSMs required for the operation, if any.
For help repairing your custom key store, see the Troubleshooting Custom Key Stores topic in the AWS Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a custom key store in a different AWS account.
Required permissions: kms:DescribeCustomKeyStores (IAM policy)
Related operations:
- ConnectCustomKeyStore
- CreateCustomKeyStore
- DeleteCustomKeyStore
- DisconnectCustomKeyStore
- UpdateCustomKeyStore
May throw CustomKeyStoreNotFoundException. 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, you can use 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, you can use 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, AWS 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.validateStringLength(
'customKeyStoreId',
customKeyStoreId,
1,
64,
);
_s.validateStringLength(
'customKeyStoreName',
customKeyStoreName,
1,
256,
);
_s.validateNumRange(
'limit',
limit,
1,
1000,
);
_s.validateStringLength(
'marker',
marker,
1,
1024,
);
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);
}