code: function SimpleQueue(options) {
      options = options || {};
  
      assert(options.name, '[aws-sqs-promises] option "name" is not assigned');
  
      if (!options.useIAMRole) {
          assert(options.accessKeyId, '[aws-sqs-promises] option "accessKeyId" is not assigned');
          assert(options.secretAccessKey, '[aws-sqs-promises] option "secretAccessKey" is not assigned');
      }
  
      options.maxMessages = options.maxMessages || 10;
  
      if (options.maxMessages < 0 || options.maxMessages > 10) {
          logger.log('Queue options.maxMessages is out of range, setting default value 10');
          options.maxMessages = 10;
      }
  
      this.name = options.name;
      this.maxMessages = options.maxMessages;
      this.queueUrl = "";
      this.waitTimeSeconds = 10;
      this.requestTimeOut = 13;
  
  
      if (options.useIAMRole) {
          logger.log(this.name + ' use IAMRole');
          this.client = new AWS.SQS({
              region: options.region || "us-east-1",
              apiVersion: options.apiVersion || '2012-11-05'
          });
      } else {
          this.client = new AWS.SQS({
              accessKeyId: options.accessKeyId,
              secretAccessKey: options.secretAccessKey,
              region: options.region || "us-east-1",
              apiVersion: options.apiVersion || '2012-11-05'
          });
      }
  
      this.getQueueUrl();
  }
docs: *
  AWS Simple Queue
  @param options : {
  name: <require>,
  useIAMRole: <optional>
  accessKeyId: "<required if useIAMRole = false>",
  secretAccessKey: "<required if useIAMRole = false>",
  region: "<default: us-east-1>",
  apiVersion: <default: '2012-11-05',
  maxMessages: <default: 10>>}
  @constructor