lib/cloudProvider.js
function CloudProvider(options) {
    const logger = options ? options.logger : undefined;
    let loggerOptions = options ? options.loggerOptions : undefined;

    this.options = {};
    if (options) {
        Object.keys(options).forEach((option) => {
            this.options[option] = options[option];
        });
    }

    this.clOptions = {};
    if (options && options.clOptions) {
        Object.keys(options.clOptions).forEach((option) => {
            this.clOptions[option] = options.clOptions[option];
        });
    }

    // Holder for supported features. If an implementation supports an features,
    // set them to true in this map
    this.features = {};

    if (logger) {
        this.logger = logger;
    } else {
        loggerOptions = loggerOptions || { logLevel: 'none' };
        loggerOptions.module = module;
        this.logger = Logger.getLogger(loggerOptions);
        this.loggerOptions = loggerOptions;
    }
}
function CloudProvider(options) {
    const logger = options ? options.logger : undefined;
    let loggerOptions = options ? options.loggerOptions : undefined;

    this.options = {};
    if (options) {
        Object.keys(options).forEach((option) => {
            this.options[option] = options[option];
        });
    }

    this.clOptions = {};
    if (options && options.clOptions) {
        Object.keys(options.clOptions).forEach((option) => {
            this.clOptions[option] = options.clOptions[option];
        });
    }

    // Holder for supported features. If an implementation supports an features,
    // set them to true in this map
    this.features = {};

    if (logger) {
        this.logger = logger;
    } else {
        loggerOptions = loggerOptions || { logLevel: 'none' };
        loggerOptions.module = module;
        this.logger = Logger.getLogger(loggerOptions);
        this.loggerOptions = loggerOptions;
    }
}
function CloudProvider ( options ) { const logger = options ? options . logger : undefined ; let loggerOptions = options ? options . loggerOptions : undefined ; this . options = { } ; if ( options ) { Object . keys ( options ) . forEach ( ( option ) => { this . options [ option ] = options [ option ] ; } ) ; } this . clOptions = { } ; if ( options && options . clOptions ) { Object . keys ( options . clOptions ) . forEach ( ( option ) => { this . clOptions [ option ] = options . clOptions [ option ] ; } ) ; } // Holder for supported features. If an implementation supports an features, // set them to true in this map this . features = { } ; if ( logger ) { this . logger = logger ; } else { loggerOptions = loggerOptions || { logLevel : 'none' } ; loggerOptions . module = module ; this . logger = Logger . getLogger ( loggerOptions ) ; this . loggerOptions = loggerOptions ; } }
1 day 
Constructor.
@class
@classdesc
Abstract cloud provider implementation.

This class should be inherited from to implement cloud-provider
specific implementations. Any method in this class that throws
must be overridded. Methods that do not throw may be optionally
overridden.

@param {Ojbect} [options]               - Options for the instance.
@param {Object} [options.clOptions]     - Command line options if called from a script.
@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.
1 day Constructor . @class @classdesc Abstract cloud provider implementation .