code: @Override
      public CreateTopicRuleResult createTopicRule(CreateTopicRuleRequest request) {
          request = beforeClientExecution(request);
          return executeCreateTopicRule(request);
      }
docs: <p>
  Creates a rule. Creating rules is an administrator-level action. Any user who has permission to create rules will
  be able to access data processed by the rule.
  </p>
  
  @param createTopicRuleRequest
  The input for the CreateTopicRule operation.
  @return Result of the CreateTopicRule operation returned by the service.
  @throws SqlParseException
  The Rule-SQL expression can't be parsed correctly.
  @throws InternalException
  An unexpected error has occurred.
  @throws InvalidRequestException
  The request is not valid.
  @throws ResourceAlreadyExistsException
  The resource already exists.
  @throws ServiceUnavailableException
  The service is temporarily unavailable.
  @throws ConflictingResourceUpdateException
  A conflicting resource update exception. This exception is thrown when two pending updates cause a
  conflict.
  @sample AWSIot.CreateTopicRule