code: @Override
      public GetBotsResult getBots(GetBotsRequest request) {
          request = beforeClientExecution(request);
          return executeGetBots(request);
      }
docs: <p>
  Returns bot information as follows:
  </p>
  <ul>
  <li>
  <p>
  If you provide the <code>nameContains</code> field, the response includes information for the
  <code>$LATEST</code> version of all bots whose name contains the specified string.
  </p>
  </li>
  <li>
  <p>
  If you don't specify the <code>nameContains</code> field, the operation returns information about the
  <code>$LATEST</code> version of all of your bots.
  </p>
  </li>
  </ul>
  <p>
  This operation requires permission for the <code>lex:GetBots</code> action.
  </p>
  
  @param getBotsRequest
  @return Result of the GetBots operation returned by the service.
  @throws NotFoundException
  The resource specified in the request was not found. Check the resource and try again.
  @throws LimitExceededException
  The request exceeded a limit. Try your request again.
  @throws InternalFailureException
  An internal Amazon Lex error occurred. Try your request again.
  @throws BadRequestException
  The request is not well formed. For example, a value is invalid or a required field is missing. Check the
  field values, and try again.
  @sample AmazonLexModelBuilding.GetBots
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBots" target="_top">AWS API
  Documentation</a>