Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 6 Nächste Version anzeigen »



To understand of how LMC Add-ins work, we need to consider which elements are applied to the configuration of a device.

The following is the process in which the configuration can be modified:

  1. The existing (or default) configuration - visible in the detail configuration of a device - may be modified by One-time Add-ins or manual user changes.
  2. The Software Defined (SD-WAN,SD-LAN,SD-WLAN) configuration - also called Smart configuration - may be modified by global or network Add-ins using OIDs.
    Those changes are visible via show preview in the detail configuration.
  3. The ScriptLines are executed on the device after the configuration roll out and may not be visible in the LMC.

The result of steps 1 and 2 is sent as configuration data to the device.
The scripts from step 3 are sent as extra actions with a configuration roll out and will be executed on the device after the combined configuration data from step 1and 2 has been applied to the device.

As shown above, we have two ways of manipulating the configuration of a device with Add-ins.

  1. via Object Id (Oid): this modifies the configuration data provided by the previous config concepts.
  2. via ScriptLines: this is sent to and executed on the device itself.
  3. via API Method: send requests to the UF-API for configuration changes for Unified Firewalls.
Operating Systemconfig.[...]ByOid(...)config.addScriptLine(...)ufAPI.Method
LCOS✅*
LCOS-SX✅*
LCOS-LX
LCOS-FX

* device specific terminal syntax

Object Id (Oid)

Each configuration value or table is specified by a machine readable Object Id, short oid.
The oid is a sequence of numbers separated by dots (the following example denotes the LCOS cron-table):

1.2.11.20

To modify the configuration data you can either get/set single values (scalars) or tables/rows.

Scalars

Scalars are single values in the configuration.

exports.main = function (config, context) {
    var value = config.getScalarByOid("1.2.3.4.5.1");

    config.setScalarByOid("1.2.3.4.5.2", "test");
};

Tables

Tables can have a fixed or a dynamic number of rows.

exports.main = function (config, context) {
    var table = config.getTableByOid("1.2.3.4.5.3");
    var rows = table.getRows(); // array of rows

    var row = table.createNewRow(); //create a new empty row
    table.addOrMerge(row); // add/merge this row into table
};

Script-Line

To execute a script on the device after applying the configuration you need to use the addScriptLine syntax:

exports.main = function (config, context) {
    config.addScriptLine("cd /2/3/4/5/2");
    config.addScriptLine("set 1 test");
};

The scriptline example sets the same value as the scalar example above. The first number is ommitted as well as the . which is translated to /
In this case we will not see the values in the UI in the detailed config when previewing, but in the preview of the script that will be executed on the device.

In contrast to setting of values via oid, we can also use the human readable notation, e.g. config.addScriptLine("cd /Setup/WAN/DSL-Broadband-Peers").




  • Keine Stichwörter