Class: BigIpOnboard

BigIpOnboard(bigIpCore, optionsopt)

Provides onboarding functionality to a base BigIp object

Constructor

new BigIpOnboard(bigIpCore, optionsopt)

Onboard constructor

Parameters:
Name Type Attributes Description
bigIpCore Object

Base BigIp object.

options Object <optional>

Optional parameters.

Properties
Name Type Attributes Description
logger Object <optional>

Logger to use. Or, pass loggerOptions to get your own logger.

loggerOptions Object <optional>

Options for the logger. See module:logger.getLogger for details.

Mixes In:

Methods

createLicensePool(name, regKey) → {Promise}

Creates a license pool

Parameters:
Name Type Description
name String

The name to use for the pool

regKey String

The reg key to use for the pool

Mixes In:
Returns:

A promise which is resolved when the pool is created and all licenses are activated.

Type
Promise

createRegKeyPool(name, regKeyList) → {Promise}

Creates a license pool

Parameters:
Name Type Description
name String

The name to use for the pool

regKeyList Array.<String>

A list of reg keys to add to the pool

Mixes In:
Returns:

A promise which is resolved when the pool is created and all licenses are activated.

Type
Promise

globalSettings(settings, retryOptionsopt) → {Promise}

Sets global settings

If settings include hostname, a CM move of hostname is also performed.

Parameters:
Name Type Attributes Description
settings Object

An object containing the global settings

retryOptions Object <optional>

Options for retrying the request.

Properties
Name Type Attributes Description
maxRetries Integer <optional>

Number of times to retry if first try fails. 0 to not retry. Default 60.

retryIntervalMs Integer <optional>

Milliseconds between retries. Default 10000.

Returns:

A promise which is resolved when the global settings are set or rejected if an error occurs.

Type
Promise

hostname(name, retryOptionsopt) → {Promise}

Sets the hostname

Sets the global settings host-name and also does a cm mv from old hostname to new.

Parameters:
Name Type Attributes Description
name String

The hostname to set

retryOptions Object <optional>

Options for retrying the request.

Properties
Name Type Attributes Description
maxRetries Integer <optional>

Number of times to retry if first try fails. 0 to not retry. Default 60.

retryIntervalMs Integer <optional>

Milliseconds between retries. Default 10000.

Returns:

A promise which is resolved when the hostname is set or rejected if an error occurs.

Type
Promise

installIlxPackage(packageUri)

Installs an iControl LX/iApps LX package from a given URI

Parameters:
Name Type Description
packageUri String

URI of iControl LX/iApps LX package to install

installLicense(licenseText) → {Promise}

Installs a given license on the device

Parameters:
Name Type Description
licenseText String

The license contents (the stuff that goes in /config/bigip.license)

Returns:

A promise which is resolved when the licensing is complete or rejected if an error occurs.

Type
Promise

isMasterKeySet() → {Promise}

Determines if master key is already set

Mixes In:
Returns:

A Promise which is resolved with true or false based on whether or not the master key is set

Type
Promise

license(options, retryOptionsopt) → {Promise}

Licenses the device

Parameters:
Name Type Attributes Description
options Object

Licensing options

Properties
Name Type Attributes Description
overwrite Boolean <optional>

Whether or not to overwrite an existing license file if it exists. Default is false

registrationKey String <optional>

The registration key

addOnKeys Array.<String> <optional>

Array of add on keys.

retryOptions Object <optional>

Options for retrying the request.

Properties
Name Type Attributes Description
maxRetries Integer <optional>

Number of times to retry if first try fails. 0 to not retry. Default 60.

retryIntervalMs Integer <optional>

Milliseconds between retries. Default 10000.

Returns:

A promise which is resolved when the licensing is complete or rejected if an error occurs.

Type
Promise

licenseViaBigIq(host, user, password, poolName, cloud, optionsopt) → {Promise}

Licenses the BIG-IP from a BIG-IQ license pool

Parameters:
Name Type Attributes Description
host String

IP or FQDN of BIG-IQ.

user String

BIG-IQ admin user name.

password String

Password for BIG-IQ admin user.

poolName String

Name of pool to license from.

cloud String

Name of cloud. Only BIG-IQ 5.4+ needs this but since we don't know what version we are using, this is required. Supported values are aws, azure, gce, vmware, hyperv, kvm, xen

options Object <optional>

Options for licenseViaBigIq.

Properties
Name Type Attributes Description
passwordIsUri Boolean <optional>

Indicates that password is a URI for the password.

passwordEncrypted Boolean <optional>

Indicates that the password is encrypted

bigIpMgmtAddress String <optional>

IP address of BIG-IP management port. Default is that returned by device info.

bigIpMgmtPort String <optional>

Port of BIG-IP management port. Default is this.core.port.

bigIqMgmtPort String <optional>

Port of BIG-IQ management port. Default is 443.

skuKeyword1 String <optional>

skuKeyword1 parameter for CLPv2 licensing. Default none.

skuKeyword2 String <optional>

skuKeyword2 parameter for CLPv2 licensing. Default none.

unitOfMeasure String <optional>

unitOfMeasure parameter for CLPv2 licensing. Default none.

overwrite Boolean <optional>

Whether or not to overwrite an existing license if it exists. Default is false.

noUnreachable Boolean <optional>

Do not use the unreachable API even on BIG-IQs that support it.

autoApiType Boolean <optional>

Automatically determine API type rather than basing on BIG-IQ version.

Returns:

A promise which is resolved when the licensing is complete or rejected if an error occurs.

Type
Promise

password(user, newPassword, oldPasswordopt, retryOptionsopt, optionsopt) → {Promise}

Sets the password for a user

Parameters:
Name Type Attributes Description
user String

The user for whom to set the password

newPassword String

The password to set

oldPassword String <optional>

The old password for the user. Only required for the root user. Ignored otherwise;

retryOptions Object <optional>

Options for retrying the request.

Properties
Name Type Attributes Description
maxRetries Integer <optional>

Number of times to retry if first try fails. 0 to not retry. Default 60.

retryIntervalMs Integer <optional>

Milliseconds between retries. Default 10000.

options Object <optional>

Options for setting a user's password

Properties
Name Type Attributes Description
enableRoot String <optional>

If changing root's password, optionally set whether to enable root user

Returns:

A promise which is resolved when the password has been set, or rejected if an error occurs.

Type
Promise

provision(provisionSettings) → {Promise}

Provisions modules

Parameters:
Name Type Description
provisionSettings Object

Object map of module to provisioning level ['dedicated', 'nominial', 'minimum', 'none']

Returns:

A promise which is resolved when the modules have been provisioned, or rejected if an error occurs.

Type
Promise

revokeLicenseViaBigIq(host, user, password, poolName, optionsopt) → {Promise}

Tells BIG-IQ to revoke this BIG-IPs license

Parameters:
Name Type Attributes Description
host String

IP or FQDN of BIG-IQ.

user String

BIG-IQ admin user nam“.e

password String

Password for BIG-IQ admin user.

poolName String

Name of pool to license from.

options Object <optional>

Options for licenseViaBigIq.

Properties
Name Type Attributes Description
passwordIsUri Boolean <optional>

Indicates that password is a URI for the password.

passwordEncrypted Boolean <optional>

Indicates that the password is encrypted

bigIqMgmtPort String <optional>

Port of BIG-IQ management port. Default is 443.

noUnreachable Boolean <optional>

Do not use the unreachable API even on BIG-IQs that support it.

Returns:

A promise which is resolved when the revoke is complete or rejected if an error occurs.

Type
Promise

setDbVars(dbVars, retryOptionsopt) → {Promise}

Updates db variables

Parameters:
Name Type Attributes Description
dbVars Object

Object map of db variable to value

retryOptions Object <optional>

Options for retrying the request.

Properties
Name Type Attributes Description
maxRetries Integer <optional>

Number of times to retry if first try fails. 0 to not retry. Default 60.

retryIntervalMs Integer <optional>

Milliseconds between retries. Default 10000.

Returns:

A promise which is resolved when the db variables have been set, or rejected if an error occurs.

Type
Promise

setMasterPassphrase(passphrase) → {Promise}

Sets the passphrase for the master key (which, in turn, generates a new master key)

Parameters:
Name Type Description
passphrase String

Passphrase for master key

Mixes In:
Returns:

A promise which is resolved when the operation is complete or rejected if an error occurs.

Type
Promise

setRandomMasterPassphrase() → {Promise}

Sets the passphrase for the master key to a random value

Mixes In:
Returns:

A promise which is resolved when the operation is complete or rejected if an error occurs.

Type
Promise

setRootPassword(newPassword, oldPassword, optionsopt)

Sets the root password on the BIG-IP/BIG-IQ. Optionally enables the root user.

If the oldPassword is not provided, the root password will first be set to a randomly generated password, and then the newPassword value.

Parameters:
Name Type Attributes Description
newPassword String

Password to set for root user

oldPassword String

Old password for root user, if known

options Object <optional>

Options for setting the root password

Properties
Name Type Attributes Description
enableRoot String <optional>

Enables the root user

sslPort(sslPort, retryOptionsopt, noInitopt) → {Promise}

Sets the SSL port on which the management IP is listening

Parameters:
Name Type Attributes Description
sslPort Integer

SSL port to listen on.

retryOptions Object <optional>

Options for retrying the request.

Properties
Name Type Attributes Description
maxRetries Integer <optional>

Number of times to retry if first try fails. 0 to not retry. Default 60.

retryIntervalMs Integer <optional>

Milliseconds between retries. Default 10000.

noInit Boolean <optional>

For testing only. Used so that we don't reset iControl during unit tests.

Returns:

A promise which is resolved when the request is complete or rejected if an error occurs.

Type
Promise

updateUser(user, password, roleopt, shellopt, optionsopt) → {Promise}

Updates or creates a user

Parameters:
Name Type Attributes Description
user String

Username to update or create.

password String

Password for user or URL from which password can be retrieved.

role String <optional>

Role for user. Only valid when creating user.

shell String <optional>

Shell for user (bash | tmsh | none). Only valid when creating user. Default tmsh.

options Object <optional>

Options for user

Properties
Name Type Attributes Description
passwordIsUrl Boolean <optional>

Indicates that password is a URL for the password

Returns:

A promise which is resolved when the user has been updated or rejected if an error occurs.

Type
Promise