code: @Override
      public DescribeTagsResult describeTags(DescribeTagsRequest request) {
          request = beforeClientExecution(request);
          return executeDescribeTags(request);
      }
docs: <p>
  Retrieves a list of configuration items that have tags as specified by the key-value pairs, name and value,
  passed to the optional parameter <code>filters</code>.
  </p>
  <p>
  There are three valid tag filter names:
  </p>
  <ul>
  <li>
  <p>
  tagKey
  </p>
  </li>
  <li>
  <p>
  tagValue
  </p>
  </li>
  <li>
  <p>
  configurationId
  </p>
  </li>
  </ul>
  <p>
  Also, all configuration items associated with your user account that have tags can be listed if you call
  <code>DescribeTags</code> as is without passing any parameters.
  </p>
  
  @param describeTagsRequest
  @return Result of the DescribeTags operation returned by the service.
  @throws AuthorizationErrorException
  The AWS user account does not have permission to perform the action. Check the IAM policy associated with
  this account.
  @throws ResourceNotFoundException
  The specified configuration ID was not located. Verify the configuration ID and try again.
  @throws InvalidParameterException
  One or more parameters are not valid. Verify the parameters and try again.
  @throws InvalidParameterValueException
  The value of one or more parameters are either invalid or out of range. Verify the parameter values and
  try again.
  @throws ServerInternalErrorException
  The server experienced an internal error. Try again.
  @sample AWSApplicationDiscovery.DescribeTags