code: function IControl(options) {
      const opts = options || {};
  
      const logger = options ? options.logger : undefined;
      let loggerOptions = options ? options.loggerOptions : undefined;
  
      if (logger) {
          this.logger = logger;
      } else {
          loggerOptions = loggerOptions || { logLevel: 'none' };
          loggerOptions.module = module;
          this.logger = Logger.getLogger(loggerOptions);
      }
  
      // Set default options
      this.host = opts.host || '127.0.0.1';
      this.port = opts.port || 443;
      this.user = opts.user || 'admin';
      this.password = opts.password || 'admin';
      this.authToken = opts.authToken;
      this.basePath = opts.basePath || '/mgmt';
      this.strict = typeof opts.strict !== 'undefined' ? opts.strict : true;
  
      this.auth = `${this.user}:${this.password}`;
  
      this.https = https;
  }
docs: Creates an IControl object
  @class
  
  @param {Object}  [options]               - Options for the creation.
  @param {String}  [options.host]          - IP Address to connect to. Default 127.0.0.1
  @param {Number}  [options.port]          - Port to use. Default 443.
  @param {String}  [options.user]          - User to use for auth. Default admin.
  @param {String}  [options.password]      - Password to use for auth. Default admin.
  @param {String}  [options.authToken]     - Auth token to use rather than user and password.
  @param {String}  [options.basePath]      - Base path to prepend to paths for all requests. Default /mgmt
  @param {Boolean} [options.strict]        - Whether or not to validate SSL certificates.
  @param {Object}  [options.logger]        - Logger to use. Or, pass loggerOptions to get your own logger.
  @param {Object}  [options.loggerOptions] - Options for the logger.
  See {@link module:logger.getLogger} for details.