code: @Override
      public MeterUsageResult meterUsage(MeterUsageRequest request) {
          request = beforeClientExecution(request);
          return executeMeterUsage(request);
      }
docs: <p>
  API to emit metering records. For identical requests, the API is idempotent. It simply returns the metering
  record ID.
  </p>
  <p>
  MeterUsage is authenticated on the buyer's AWS account, generally when running from an EC2 instance on the AWS
  Marketplace.
  </p>
  
  @param meterUsageRequest
  @return Result of the MeterUsage operation returned by the service.
  @throws InternalServiceErrorException
  An internal error has occurred. Retry your request. If the problem persists, post a message with details
  on the AWS forums.
  @throws InvalidProductCodeException
  The product code passed does not match the product code used for publishing the product.
  @throws InvalidUsageDimensionException
  The usage dimension does not match one of the UsageDimensions associated with products.
  @throws InvalidEndpointRegionException
  The endpoint being called is in a Region different from your EC2 instance. The Region of the Metering
  Service endpoint and the Region of the EC2 instance must match.
  @throws TimestampOutOfBoundsException
  The timestamp value passed in the meterUsage() is out of allowed range.
  @throws DuplicateRequestException
  A metering record has already been emitted by the same EC2 instance for the given {usageDimension,
  timestamp} with a different usageQuantity.
  @throws ThrottlingException
  The calls to the API are throttled.
  @sample AWSMarketplaceMetering.MeterUsage
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/meteringmarketplace-2016-01-14/MeterUsage" target="_top">AWS
  API Documentation</a>