code: @Override
      public DescribeKeyResult describeKey(DescribeKeyRequest request) {
          request = beforeClientExecution(request);
          return executeDescribeKey(request);
      }
docs: <p>
  Provides detailed information about the specified customer master key (CMK).
  </p>
  <p>
  If you use <code>DescribeKey</code> on a predefined AWS alias, that is, an AWS alias with no key ID, AWS KMS
  associates the alias with an <a
  href="http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys">AWS managed CMK</a> and
  returns its <code>KeyId</code> and <code>Arn</code> in the response.
  </p>
  <p>
  To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of
  the KeyId parameter.
  </p>
  
  @param describeKeyRequest
  @return Result of the DescribeKey operation returned by the service.
  @throws NotFoundException
  The request was rejected because the specified entity or resource could not be found.
  @throws InvalidArnException
  The request was rejected because a specified ARN was not valid.
  @throws DependencyTimeoutException
  The system timed out while trying to fulfill the request. The request can be retried.
  @throws KMSInternalException
  The request was rejected because an internal exception occurred. The request can be retried.
  @sample AWSKMS.DescribeKey
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKey" target="_top">AWS API
  Documentation</a>