lib/bigIp.js
function BigIp(options) {
    const logger = options ? options.logger : undefined;
    let loggerOptions = options ? options.loggerOptions : undefined;
    let dependentOptions = {};

    if (logger) {
        this.logger = logger;
        util.setLogger(logger);
        cryptoUtil.setLogger(logger);
        localKeyUtil.setLogger(logger);
        authn.setLogger(logger);
        dependentOptions = { logger: this.logger };
    } else {
        loggerOptions = loggerOptions || { logLevel: 'none' };
        loggerOptions.module = module;
        this.logger = Logger.getLogger(loggerOptions);
        util.setLoggerOptions(loggerOptions);
        cryptoUtil.setLoggerOptions(loggerOptions);
        localKeyUtil.setLoggerOptions(loggerOptions);
        authn.setLoggerOptions(loggerOptions);
        dependentOptions = { loggerOptions };
    }

    // We're not ready until we have all the info we need (password from URL, for example)
    // Must call init() to set this
    this.isInitialized = false;

    this.cluster = new BigIpCluster(this, dependentOptions);
    this.gtm = new BigIpGtm(this, dependentOptions);
    this.onboard = new BigIpOnboard(this, dependentOptions);
}
function BigIp(options) {
    const logger = options ? options.logger : undefined;
    let loggerOptions = options ? options.loggerOptions : undefined;
    let dependentOptions = {};

    if (logger) {
        this.logger = logger;
        util.setLogger(logger);
        cryptoUtil.setLogger(logger);
        localKeyUtil.setLogger(logger);
        authn.setLogger(logger);
        dependentOptions = { logger: this.logger };
    } else {
        loggerOptions = loggerOptions || { logLevel: 'none' };
        loggerOptions.module = module;
        this.logger = Logger.getLogger(loggerOptions);
        util.setLoggerOptions(loggerOptions);
        cryptoUtil.setLoggerOptions(loggerOptions);
        localKeyUtil.setLoggerOptions(loggerOptions);
        authn.setLoggerOptions(loggerOptions);
        dependentOptions = { loggerOptions };
    }

    // We're not ready until we have all the info we need (password from URL, for example)
    // Must call init() to set this
    this.isInitialized = false;

    this.cluster = new BigIpCluster(this, dependentOptions);
    this.gtm = new BigIpGtm(this, dependentOptions);
    this.onboard = new BigIpOnboard(this, dependentOptions);
}
function BigIp ( options ) { const logger = options ? options . logger : undefined ; let loggerOptions = options ? options . loggerOptions : undefined ; let dependentOptions = { } ; if ( logger ) { this . logger = logger ; util . setLogger ( logger ) ; cryptoUtil . setLogger ( logger ) ; localKeyUtil . setLogger ( logger ) ; authn . setLogger ( logger ) ; dependentOptions = { logger : this . logger } ; } else { loggerOptions = loggerOptions || { logLevel : 'none' } ; loggerOptions . module = module ; this . logger = Logger . getLogger ( loggerOptions ) ; util . setLoggerOptions ( loggerOptions ) ; cryptoUtil . setLoggerOptions ( loggerOptions ) ; localKeyUtil . setLoggerOptions ( loggerOptions ) ; authn . setLoggerOptions ( loggerOptions ) ; dependentOptions = { loggerOptions } ; } // We're not ready until we have all the info we need (password from URL, for example) // Must call init() to set this this . isInitialized = false ; this . cluster = new BigIpCluster ( this , dependentOptions ) ; this . gtm = new BigIpGtm ( this , dependentOptions ) ; this . onboard = new BigIpOnboard ( this , dependentOptions ) ; }
BigIp constructor

@class
@classdesc
Provides core functionality (CRUD operations, ready, etc) and maintains
references to other modules in f5-cloud-libs.

After createing a BigIp with this constructor, you must call the
async init() method.

@param {Object} [options]               - Optional parameters.
@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.
BigIp constructor