Um zu verstehen, wie die LMC Add-Ins funktionieren, müssen wir uns ansehen, welche Elemente auf die Konfiguration eines Geräts angewendet werden. Im Folgenden wird der Prozess beschrieben, in dem die Konfiguration verändert werden kann: - die ursprüngliche (oder Standard-) Konfiguration, die durch One-Time Add-Ins verändert wird
- die SD-WAN, SD-LAN, SD-WLAN, SD-Security Konfiguration
- die Konfiguration wird durch Global/Network Add-Ins unter Verwendung des ooid-Ansatzes geändert, sichtbar in der Vorschau
- die Skriptzeilen werden auf dem Gerät ausgeführt
Das Ergebnis von der Schritte 1. - 4. wird als Konfigurationsdaten Konfiguration an das Gerät gesendet. Die Skripte aus Schritt 4. werden auf dem Gerät ausgeführt, nachdem die Konfigurationsdaten übernommen wurden.
Wie oben gezeigt, gibt es zwei Möglichkeiten, die Konfiguration eines Geräts mit Add-ins zu manipulieren. - über Object Id (Oid): Dies ändert die Konfigurationsdaten, die durch die vorherigen Konfigurationskonzepte bereitgestellt werden.
- über ScriptLines: dies wird an das Gerät selbst gesendet und dort ausgeführt.
- über API-Methode: Senden von Anfragen an die UF-API für Konfigurationsänderungen für Unified Firewalls.
Operating System | config.[...]ByOid(...) | config.addScriptLine(...) | ufAPI.Method |
---|
LCOS | ✅ | ✅* | ❌ | LCOS-SX | ✅ | ✅* | ❌ | LCOS-LX | ✅ | ❌ | ❌ | LCOS-FX | ❌ | ❌ | ✅ |
* gerätespezifische Terminalsyntax Object Id (Oid)Jeder Konfigurationswert bzw. jede Tabelle wird durch eine maschinenlesbare Object Id, kurz oid, angegeben. Die oid ist eine Folge von Zahlen, die durch Punkte getrennt sind (das folgende Beispiel bezeichnet die LCOS-Cron-Tabelle): 1.2.11.20
Um die Konfigurationsdaten zu ändern, können Sie entweder einzelne Werte (Skalare) oder Tabellen/Zeilen abrufen/einstellen. SkalenSkalen sind Einzelwerte in der Konfiguration. Codeblock |
---|
| exports.main = function (config, context) {
var value = config.getScalarByOid("1.2.3.4.5.1");
config.setScalarByOid("1.2.3.4.5.2", "test");
}; |
TabellenTabellen können eine feste oder eine dynamische Anzahl von Zeilen haben. Codeblock |
---|
| 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
}; |
Skript-ZeileUm ein Skript auf dem Gerät auszuführen, nachdem die Konfiguration angewendet wurde, müssen Sie die Syntax addScriptLine verwenden: Codeblock |
---|
| exports.main = function (config, context) {
config.addScriptLine("cd /2/3/4/5/2");
config.addScriptLine("set 1 test");
}; |
Das Skript-Zeilen-Beispiel setzt den selben Wert wie das Skalen-Beispiel oben. Die erste Zahl wird weg gelassen, ebenso wie das ., das in / übersetzt wird. In diesem Fall sehen wir die Werte nicht in der UI in der detaillierten Konfiguration bei der Vorschau, sondern in der Vorschau des Skripts, das auf dem Gerät ausgeführt werden wird. Im Gegensatz zum Setzen von Werten über oid, können wir auch die menschenlesbare Notation verwenden, z.B. config.addScriptLine("cd /Setup/WAN/DSL-Broadband-Peers") . |