getKeyRotationStatus method
Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified customer master key (CMK).
You cannot enable automatic rotation of asymmetric CMKs, CMKs with
imported key material, or CMKs in a custom
key store. The key rotation status for these CMKs is always
false
.
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.
- Disabled: The key rotation status does not change when you disable a CMK. However, while the CMK is disabled, AWS KMS does not rotate the backing key.
-
Pending deletion: While a CMK is pending deletion, its key rotation status
is
false
and AWS KMS does not rotate the backing key. If you cancel the deletion, the original key rotation status is restored.
KeyId
parameter.
Required permissions: kms:GetKeyRotationStatus (key policy)
Related operations:
May throw NotFoundException. May throw InvalidArnException. May throw DependencyTimeoutException. May throw KMSInternalException. May throw KMSInvalidStateException. May throw UnsupportedOperationException.
Parameter keyId
:
A unique identifier for the customer master key (CMK).
Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.
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<GetKeyRotationStatusResponse> getKeyRotationStatus({
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.GetKeyRotationStatus'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'KeyId': keyId,
},
);
return GetKeyRotationStatusResponse.fromJson(jsonResponse.body);
}