Verstehen der YANG-Module für Junos Operational Commands
Juniper Networks veröffentlicht YANG-Module, die die Remote-Prozeduraufrufe (RPCs) für Junos Betriebsmodus-Befehle definieren. Aufgrund der großen Anzahl von Betriebsbefehlen gibt es für jede Gerätefamilie mehrere YANG-Module. Es gibt ein Modul für jede operative Befehlsgruppe auf der obersten Ebene (clear
, file
, monitor
usw.), in der mindestens ein Befehl innerhalb dieser Hierarchie mit einem RPC-Äquivalent vorhanden ist. Es gibt auch ein eigenes Modul für jeden Bereich innerhalb der show
Befehlshierarchie.
Ab Junos OS Version 17.2 sind Junos YANG-Module spezifisch für eine Gerätefamilie und verwenden eine neue Konvention für den Modul-Namespace. Darüber hinaus definiert jedes der einzelnen Betriebsbefehlsmodule sein Namespace-Präfix mithilfe des Befehlshierarchiebereichs der rpCs, die in diesem Modul enthalten sind. Vor Junos OS Version 17.2 war jrpc
das Präfix für alle Betriebsbefehlsmodule .
Ab Junos OS Version 17.4R1 verwenden junos OS YANG-Module eine neue Namenskonvention für den Namen, den Dateinamen und den Namespace des Moduls. Weitere Informationen finden Sie unter Grundlegendes zu Junos YANG-Modulen.
Die Betriebsbefehlsmodule definieren die RPCs, die den Betriebsbefehlen in dem im Dateinamen angegebenen Befehlshierarchiebereich entsprechen. Das folgende Beispiel zeigt einen Teil des Moduls, der die RPCs für Befehle in der clear
Befehlshierarchie enthält:
user@host> file show /var/tmp/yang/junos-rpc-clear@2017-01-01.yang /* * Copyright (c) 2017 Juniper Networks, Inc. * All rights reserved. */ module junos-rpc-clear { namespace "http://yang.juniper.net/junos/rpc/clear"; prefix clear; import junos-common-types { prefix jt; } organization "Juniper Networks, Inc."; contact "yang-support@juniper.net"; description "Junos RPC YANG module for clear command(s)"; revision 2017-01-01 { description "Junos: 17.4R1.17"; } rpc clear-cli-logical-system { description "Clear logical system association"; output { leaf output { type string; } } } rpc clear-cli-satellite { description "Clear satellite association"; output { leaf output { type string; } } } ...
YANG definiert die Betriebsabläufe mithilfe der rpc
Anweisung. Die RPC-Definition kann Unterstellungen enthalten input
, output
die die Ein- und Ausgabeparameter des Vorgangs beschreiben. Ab Junos OS Version 23.1R1 enthält die RPC-Anweisung ein genaues output
Ausgabeschema, und Junos-Geräte geben standardmäßig die neuen Schemas aus.
In früheren Versionen enthält das Ausgabeschema des RPC die anyxml
Anweisung, um einen nicht gekonten Abschnitt von XML in der RPC-Antwort darzustellen. Konfigurieren Sie device-specific
die RPC-Schemata, die die anyxml
Anweisung auf einem Junos-Gerät enthalten, auf Hierarchieebene.emit-anyxml-in-rpc-output
[edit system services netconf yang-modules]
Nach der Konfiguration der Anweisungen generiert der show system schema
Befehl die Schemas, die anyxml
.
Sie können die Junos YANG-Module von der Download-Website von Juniper Networks oder dem GitHub-Repository von Juniper Networks für YANG herunterladen, oder Sie können die Module auf dem lokalen Gerät generieren. Um den Betriebsbefehl YANG-Module auf dem lokalen Gerät zu generieren, erteilen Sie den show system schema format yang module module
Befehl. Die Junos OS-Version bestimmt die verfügbaren Befehlsoptionen.
-
Geben Sie in Junos OS Version 17.3 und früher das
juniper-command
Modul an, um alle Betriebsbefehlsmodule zu generieren.user@host> show system schema format yang module juniper-command
Hinweis:Ab Junos OS Version 17.1 werden die Ausgabedateien beim Generieren des
juniper-command
Moduls in das aktuelle Arbeitsverzeichnis abgelegt, das standardmäßig das Homeverzeichnis des Benutzers ist. In Junos OS Version 16.2 und früher werden die Ausgabedateien in das Verzeichnis /var/tmp abgelegt. -
Geben Sie in Junos OS Version 17.4R1 und höher einen einzelnen Modulnamen an, um ein einzelnes Betriebsbefehlsmodul zurückzugeben, oder geben Sie an
all-rpc
, dass alle Betriebsbefehlsmodule zurückgegeben werden sollen.user@host> show system schema format yang module all-rpc output-directory /var/tmp/yang
Ab Junos OS Version 19.1R2 und 19.2R1 muss der Befehl die
show system schema
output-directory
Befehlsoption enthalten und das Verzeichnis angeben, in dem die Datei oder Dateien generiert werden sollen. In früheren Versionen können Sie dieoutput-directory
Option auslassen, wenn Sie ein einzelnes Modul zur Anzeige des Moduls in der Standardausgabe anfordern.
Um die Module aus einer Remotesitzung zu generieren, führen Sie den <get-yang-schema>
Junos OS RPC- oder <get-schema>
NETCONF-Vorgang mit den entsprechenden Optionen aus.
Wenn Sie oder module all-rpc
angebenmodule juniper-command
, umfassen die Ausgabedateien sowohl native Betriebsbefehlmodule von Junos als auch alle standard- oder benutzerdefinierten Betriebsbefehlsmodule, die dem Gerät hinzugefügt wurden. Um einen RPC in Ihrem benutzerdefinierten YANG-Modul zu verwenden, müssen Sie das Modul, das den gewünschten RPC enthält, in Ihr benutzerdefiniertes Modul importieren.
Sie können die emit-extensions
Anweisung auf [edit system services netconf yang-modules]
Hierarchieebene so konfigurieren, dass die YANG-Schemas mit zusätzlichen Junos-Erweiterungsanweisungen emittiert werden. Die Junos-Erweiterungen sind in Understanding the Junos DDL Extensions YANG Module definiert. Das Gerät gibt die Erweiterungsaussage aus, die junos:command
in Junos OS Version 22.4R1 und Junos OS Evolved Release 22.4R1 beginnt.
Ab Junos OS Version 17.4R1 enthalten die auf einem lokalen Gerät generierten nativen YANG-Module familienspezifische Schemata, die auf allen Geräten in der jeweiligen Gerätefamilie identisch sind. In früheren Versionen enthalten die generierten Module gerätespezifische Schemata. Um gerätespezifische Module in Junos OS Version 17.4R1 und höher zu generieren, konfigurieren Sie die device-specific
Konfigurationsaussage auf [edit system services netconf yang-modules]
Hierarchieebene.
junos:command
mit Erweiterungen ausgegeben werden.
show system schema
output-directory
Befehlsoption enthalten und das Verzeichnis angeben, in dem die Datei oder Dateien generiert werden sollen.
juniper-command
Moduls im aktuellen Arbeitsverzeichnis abgelegt, das standardmäßig das Homeverzeichnis des Benutzers ist.