code: function createBroker(serviceDomainName, appName, connectionInfo, configurator) {
      let params = getParams(NoConfiguration, configurator);
      return Broker(serviceDomainName, appName, createTopology(connectionInfo, params.logger), params.logger);
    }
docs: /* eslint-enable complexity 
  Create a Broker instance
  @public
  @param serviceDomainName {String} - your service's domain name, i.e. "integration-hub" (required)
  @param {String} appName - your service's app name, i.e. "unit-details-api" (required)
  @param {Object|String} connectionInfo - connection info to be passed to amqplib's connect method (required)
  @param {String} connectionInfo.name - connection name (for logging purposes)
  @param {String} connectionInfo.server - list of servers to connect to, separated by ','
  @param {String} connectionInfo.port - list of ports to connect to, separated by ','. Must have the same number of entries as connectionInfo.server
  @param {Number} connectionInfo.heartbeat - heartbeat timer - defaults to 30 seconds
  @param {String} connectionInfo.protocol - connection protocol - defaults to amqp:// or amqps://
  @param {String} connectionInfo.user - user name - defaults to guest
  @param {String} connectionInfo.pass - password - defaults to guest
  @param {String} connectionInfo.vhost - vhost to connect to - defaults to '/'
  @param {String} connectionInfo.timeout - connection timeout
  @param {String} connectionInfo.certPath - certificate file path (for SSL)
  @param {String} connectionInfo.keyPath - key file path (for SSL)
  @param {String} connectionInfo.caPath - certificate file path(s), separated by ',' (for SSL)
  @param {String} connectionInfo.passphrase - certificate passphrase (for SSL)
  @param {String} connectionInfo.pfxPath - pfx file path (for SSL)
  @param {baseConfigurator} configurator - optional function to customize broker dependencies