AUF DIESER SEITE
Zuordnung von Konfigurationsanweisungen zu Junos XML-Tag-Elementen
Die Junos XML-API definiert ein Tag-Element für jede Container- und Leaf-Anweisung in der Konfigurationshierarchie. Auf den obersten Ebenen der Konfigurationshierarchie gibt es fast immer eine Eins-zu-Eins-Zuordnung zwischen Tag-Elementen und -Anweisungen, und die meisten Tag-Namen stimmen mit dem Namen der Konfigurationsanweisung überein. Auf tieferen Ebenen der Hierarchie erfolgt die Zuordnung manchmal weniger direkt, da einige CLI-Notationalkonventionen nicht direkt der XML-konformen Tagging-Syntax zugeordnet werden.
Bei einigen Konfigurationsanweisungen unterscheidet sich die beim Eingeben der Anweisung in der Eingabeaufforderung für den CLI-Konfigurationsmodus verwendete Notation von der in einer Konfigurationsdatei verwendeten Schreibweise. Dasselbe Junos XML-Tag-Element ordnet beide Notationsstile zu.
In den folgenden Abschnitten wird die Zuordnung zwischen Konfigurationsanweisungen und Junos XML-Tag-Elementen beschrieben:
Zuordnung für Hierarchieebenen und Containeranweisungen
Das <configuration>
Element ist das Junos XML-Containerelement der obersten Ebene für Konfigurationsanweisungen. Sie entspricht der [edit]
Hierarchieebene im CLI-Konfigurationsmodus. Die meisten Anweisungen auf den nächsten Ebenen der Konfigurationshierarchie sind Container-Anweisungen. Das Junos XML-Container-Tag-Element, das einer Container-Anweisung entspricht, hat fast immer den gleichen Namen wie die Anweisung.
Das folgende Beispiel zeigt die Junos XML-Tag-Elemente für zwei Anweisungen auf der obersten Ebene der Konfigurationshierarchie. Beachten Sie, dass eine schließende Klammer in einer CLI-Konfigurationsanweisung einem schließenden Junos XML-Tag entspricht.

Zuordnung für Objekte, die über eine Kennung verfügen
Auf einigen Hierarchieebenen kann dieselbe Art von Konfigurationsobjekt mehrmals auftreten. Jede Instanz des Objekts verfügt über eine eindeutige Kennung, um es von den anderen Instanzen zu unterscheiden. In der CLI-Notation besteht die übergeordnete Anweisung für ein solches Objekt aus einem Schlüsselwort und einer Kennung des folgenden Formulars:
keyword identifier { … configuration statements for individual characteristics … }
keyword
ist eine feste Zeichenfolge, die den Objekttyp angibt, der definiert wird, und identifier
der eindeutige Name für diese Instanz des Typs ist. In der Junos XML-API ist das dem Schlüsselwort entsprechende Tag-Element ein Container-Tag-Element für untergeordnete Tag-Elemente, die die Eigenschaften des Objekts darstellen. Der Name des Container-Tag-Elements entspricht im Allgemeinen der keyword
Zeichenfolge.
Die Junos XML-API unterscheidet sich von der BEFEHLSZEILE in ihrer Behandlung der Kennung. Da die Junos XML-API nicht zulässt, dass Container-Tag-Elemente sowohl andere Tag-Elemente als auch nicht gekennzeichnete Zeichendaten wie einen Bezeichnernamen enthalten, muss der Identifikator in einem eigenen Tag-Element eingeschlossen werden. Am häufigsten werden Identifier-Tag-Elemente für Konfigurationsobjekte aufgerufen <name>
. Einige Objekte haben mehrere Kennungen, die normalerweise andere Namen als <name>
. Um den Namen jedes Identifier-Tag-Elements für ein Konfigurationsobjekt zu überprüfen, lesen Sie den Eintrag für das Objekt in der Junos XML API Configuration Developer Reference.
Das Junos OS reserviert das Präfix junos-
für die Identifikatoren von Konfigurationsgruppen, die innerhalb der junos-defaults
Konfigurationsgruppe definiert sind. Benutzerdefinierte Bezeichner können nicht mit der Zeichenfolge junos-
beginnen.
Kennungs-Tag-Elemente stellen auch eine Ausnahme von der allgemeinen XML-Konvention dar, bei der Tag-Elemente auf der gleichen Hierarchieebene in jeder Reihenfolge angezeigt werden können. das Identifier-Tag-Element tritt immer als erstes innerhalb des Container-Tag-Elements auf.
Die Konfiguration für die meisten Objekte mit Identifikatoren enthält zusätzliche Leaf-Anweisungen, die andere Merkmale des Objekts darstellen. Beispielsweise verfügt jede auf Hierarchieebene [edit protocols bgp group]
konfigurierte BGP-Gruppe über einen zugehörigen Namen (den Identifier) und kann Leaf-Anweisungen für andere Merkmale wie Typ, autonome Peer-System-Nummer (AS) und Nachbaradresse haben. Informationen zur Junos XML-Zuordnung für Leaf-Anweisungen finden Sie unter Zuordnung für Einzelwert- und Festform-Leaf-Anweisungen, Zuordnen für Leaf-Anweisungen mit mehreren Werten und Zuordnen für mehrere Optionen in einer oder mehreren Zeilen.
Das folgende Beispiel zeigt die Junos XML-Tag-Elemente für Konfigurationsanweisungen, die zwei BGP-Gruppen namens <name>
und <name>
definieren. Beachten Sie, dass das Junos XML-Element <name>
, das die Kennung jeder Gruppe (und die Kennung des Nachbarn innerhalb einer Gruppe) umschließt, kein Gegenstück in den CLI-Anweisungen hat.

Zuordnung für Einzelwert- und Festform-Leaf-Anweisungen
Eine Leaf-Anweisung ist eine CLI-Konfigurationsanweisung, die keine anderen Anweisungen enthält. Die meisten Leaf-Anweisungen definieren einen Wert für ein Merkmal eines Konfigurationsobjekts und haben folgende Form:
keyword value;
Im Allgemeinen ist der Name des Junos XML-Tag-Elements, das einer Leaf-Anweisung entspricht, der gleiche wie die keyword
Zeichenfolge. Die Zeichenfolge zwischen den öffnenden und schließenden Junos XML-Tags ist die gleiche wie die value
Zeichenfolge.
Das folgende Beispiel zeigt die Junos XML-Tag-Elemente für zwei Leaf-Anweisungen mit einem Schlüsselwort und einem Wert: die message
Anweisung auf [edit system login]
Hierarchieebene und die preference
Anweisung auf [edit protocols ospf]
Hierarchieebene.

Einige Leaf-Anweisungen bestehen nur aus einem Schlüsselwort mit fester Form, ohne einen zugehörigen variablen Formwert. Die Junos XML-API stellt solche Anweisungen mit einem leeren Tag dar. Das folgende Beispiel zeigt die Xml-Tag-Elemente von Junos für die disable
Anweisung auf Hierarchieebene [edit forwarding-options sampling]
.

Zuordnung für Leaf-Anweisungen mit mehreren Werten
Einige Junos OS Leaf-Anweisungen akzeptieren mehrere Werte, die entweder benutzerdefinierte oder aus einer Reihe vordefinierter Werte gezogen werden können. Die CLI-Notation verwendet eckige Klammern, um alle Werte in einer einzigen Anweisung zu umschließen, wie im Folgenden:
statement [ value1 value2 value3 ...];
Die Junos XML-API umschließt stattdessen jeden Wert in ein eigenes Tag-Element. Das folgende Beispiel zeigt die Junos XML-Tag-Elemente für eine CLI-Anweisung mit mehreren benutzerdefinierten Werten. Die import
Anweisung importiert zwei Routing-Richtlinien, die an anderer Stelle in der Konfiguration definiert sind.

Das folgende Beispiel zeigt die Junos XML-Tag-Elemente für eine CLI-Anweisung mit mehreren vordefinierten Werten. Die permissions
Anweisung gewährt mitgliedern der user-accounts
Anmeldeklasse drei vordefinierte Berechtigungen.

Zuordnung für mehrere Optionen in einer oder mehreren Zeilen
Bei einigen Junos OS-Konfigurationsobjekten werden mit der Standard-CLI-Syntax mehrere Optionen in einer einzigen Zeile platziert, was in der Regel eine bessere Lesbarkeit und Prägnanenz bietet. In den meisten solchen Fällen identifiziert die erste Option das Objekt und hat kein Schlüsselwort, aber spätere Optionen sind gekoppelte Keywords und Werte. Die Junos XML-API umschließt jede Option in ihrem eigenen Tag-Element. Da die erste Option in der CLI-Anweisung kein Schlüsselwort hat, weist die Junos XML-API ihrem Tag-Element einen Namen zu.
Das folgende Beispiel zeigt die Junos XML-Tag-Elemente für eine CLI-Konfigurationsanweisung mit mehreren Optionen in einer einzigen Zeile. Die Junos XML-API definiert ein Tag-Element für beide Optionen und weist dem Tag-Element für die erste Option (10.0.0.1) einen Namen zu, der kein CLI-Schlüsselwort hat.

Die Syntax für einige Konfigurationsobjekte umfasst mehr als eine Multioptionszeile. Auch hier definiert die Junos XML API für jede Option ein separates Tag-Element. Im folgenden Beispiel werden die Junos XML-Tag-Elemente für eine traceoptions
Anweisung auf Hierarchieebene [edit protocols isis]
dargestellt. Die Anweisung verfügt über drei untergeordnete Anweisungen, die jeweils mehrere Optionen haben.

Zuordnen von Kommentaren zu Konfigurationsanweisungen
Eine Junos OS-Konfiguration kann Kommentare enthalten, die Anweisungen in der Konfiguration beschreiben. Im CLI-Konfigurationsmodus definiert der Befehl den Kommentar, der annotate
einer Anweisung auf der aktuellen Hierarchieebene zugeordnet werden soll. Sie können auch einen Texteditor verwenden, um Kommentare direkt in eine Konfigurationsdatei einzufügen. Weitere Informationen finden Sie im CLI-Benutzerhandbuch.
Die Junos XML-API umschließt Kommentare zu Konfigurationsanweisungen im <junos:comment>
Element. (Diese Kommentare unterscheiden sich von den Kommentaren, die in den Zeichenfolgen <!--
eingeschlossen sind und -->
automatisch vom Protokollserver verworfen werden.)
In der Junos XML-API vorangestellt das <junos:comment>
Element unmittelbar dem Element für die zugehörige Konfigurationsanweisung. (Wenn das Tag-Element für die zugehörige Anweisung weggelassen wird, wird der Kommentar nicht in der Konfigurationsdatenbank aufgezeichnet.) Die Kommentartextzeichenfolge kann eines der beiden Trennzeichen enthalten, die einen Kommentar in der Konfigurationsdatenbank angeben: entweder das #
Zeichen vor dem Kommentar oder die gekoppelten Zeichenfolgen /*
vor dem Kommentar und */
danach. Wenn die Clientanwendung das Trennzeichen nicht enthält, fügt der Protokollserver das entsprechende hinzu, wenn der Kommentar der Konfiguration hinzugefügt wird. Der Protokollserver behält auch den im Kommentar enthaltenen Leerraum bei.
Das folgende Beispiel zeigt die Xml-Tag-Elemente von Junos, die Kommentare in einer Beispielkonfigurationsanweisung zwei Anweisungen zuordnen. Der erste Kommentar zeigt, wie das Einbeziehen von Zeileneinbrüchen in den Inhalt des <junos:comment>
Elements (/* New backbone area */
) dazu führt, dass der Kommentar in seiner eigenen Zeile in der Konfigurationsdatei angezeigt wird. Im Inhalt des zweiten <junos:comment>
Elements sind keine Zeilenneuzeilenzeichen enthalten, sodass der Kommentar in der Konfigurationsdatei direkt der zugehörigen Anweisung in derselben Zeile folgt.
