code: @Override
      public PutReportDefinitionResult putReportDefinition(PutReportDefinitionRequest request) {
          request = beforeClientExecution(request);
          return executePutReportDefinition(request);
      }
docs: <p>
  Creates a new report using the description that you provide.
  </p>
  
  @param putReportDefinitionRequest
  Creates a Cost and Usage Report.
  @return Result of the PutReportDefinition operation returned by the service.
  @throws DuplicateReportNameException
  A report with the specified name already exists in the account. Specify a different report name.
  @throws ReportLimitReachedException
  This account already has five reports defined. To define a new report, you must delete an existing
  report.
  @throws InternalErrorException
  An error on the server occurred during the processing of your request. Try again later.
  @throws ValidationException
  The input fails to satisfy the constraints specified by an AWS service.
  @sample AWSCostAndUsageReport.PutReportDefinition
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/PutReportDefinition" target="_top">AWS API
  Documentation</a>