updateKeyDescription method

Future<void> updateKeyDescription({
  1. required String description,
  2. required String keyId,
})

Updates the description of a customer master key (CMK). To see the description of a CMK, use DescribeKey.

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:UpdateKeyDescription (key policy)

Related operations

May throw NotFoundException. May throw InvalidArnException. May throw DependencyTimeoutException. May throw KMSInternalException. May throw KMSInvalidStateException.

Parameter description : New description for the CMK.

Parameter keyId : A unique identifier for the customer master key (CMK).

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
To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

Implementation

Future<void> updateKeyDescription({
  required String description,
  required String keyId,
}) async {
  ArgumentError.checkNotNull(description, 'description');
  _s.validateStringLength(
    'description',
    description,
    0,
    8192,
    isRequired: true,
  );
  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.UpdateKeyDescription'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'Description': description,
      'KeyId': keyId,
    },
  );
}