Konfigurationselemente mit NETCONF löschen
ZUSAMMENFASSUNG Konfigurationselemente löschen
Sie können NETCONF verwenden, um Konfigurationselemente, einschließlich Hierarchieebenen oder Konfigurationsobjekte, aus der Junos-Konfiguration zu löschen. Sie können Objekte aus der Kandidatenkonfiguration oder der offenen Konfigurationsdatenbank löschen (wenn die Clientanwendung vor der Ausführung des Vorgangs <edit-config>
den Junos XML-Protokollvorgang <open-configuration>
ausgestellt hat).
Um ein Element zu löschen, gibt eine Clientanwendung die grundlegenden Tag-Elemente aus, die unter Ändern einzelner Konfigurationselemente mithilfe von NETCONF beschrieben werden. Es gibt auch das <default-operation>
Tag-Element mit dem Wert none
aus, um den Standardmodus in no-change
.
<rpc> <edit-config> <target> <candidate/> </target> <default-operation>none</default-operation> <!-- EITHER --> <config> <configuration> <!-- tag elements representing the configuration elements to delete --> </configuration> </config> <!-- OR --> <url> <!-- location specifier for file containing elements to delete --> </url> </edit-config> </rpc> ]]>]]>
Im No-Change-Modus bleiben vorhandene Konfigurationselemente unverändert, es sei denn, das entsprechende Element in der neuen Konfiguration hat das operation="delete"
Attribut oder operation="remove"
Attribut im öffnenden Tag. Dieser Modus verhindert, dass der NETCONF-Server übergeordnete Hierarchieebenen für ein Element erstellt, das gelöscht wird. Wir empfehlen, dass Clientanwendungen Löschvorgänge nur durchführen, wenn sie den Änderungsmodus verwenden. Beim Zusammenführen, Ersetzen oder Erstellen von Konfigurationselementen verwenden Clientanwendungen den Zusammenführungsmodus.
Die delete
Attribute und remove
beide weisen den NETCONF-Server an, das angegebene Konfigurationselement in der Zielkonfiguration zu löschen. Der NETCONF-Server verhält sich jedoch für jedes Attribut unterschiedlich, wenn das angegebene Konfigurationselement nicht vorhanden ist. Wenn Sie das remove
Attribut verwenden und das Element nicht vorhanden ist, ignoriert der Server die Anforderung unbemerkt. Wenn Sie das delete
Attribut verwenden und das Element nicht vorhanden ist, gibt der Server ein <rpc-error>
Element mit dem <error-tag>
Wert " von data-missing
. Wir empfehlen, dass Sie das remove
Attribut verwenden, wenn Sie ein Element löschen möchten, aber nicht sicher sind, ob das Element vorhanden ist.
Um jedes zu löschende Konfigurationselement darzustellen (entweder innerhalb des <config>
Tag-Elements oder in der nach dem <url>
Tag-Element benannten Datei), emittiert die Anwendung die Tag-Elemente, die ihre übergeordneten Hierarchieebenen darstellen, wie in Ändern einzelner Konfigurationselemente mithilfe von NETCONF beschrieben. Die Platzierung des Attributs oder operation="remove"
Attributs operation="delete"
hängt vom Elementtyp ab, wie in den folgenden Abschnitten beschrieben.
Löschen eines Hierarchie- oder Container-Objekts
Um eine Hierarchieebene und alle ihre untergeordneten Objekte (oder ein Containerobjekt, das untergeordnete, aber keine Bezeichner enthält) zu löschen, enthält eine Clientanwendung das operation="delete"
Attribut oder das operation="remove"
Attribut im leeren Tag, das die Ebene darstellt.
<configuration> <!-- opening tags for each parent level --> <level-to-delete operation="(delete | remove)"/> <!-- closing tags for each parent level --> </configuration>
Wir empfehlen, dass die Anwendung den Standardmodus auf no-change setzt, indem das <default-operation>
Tag-Element mit dem Wert none
einschleist, wie unter Festlegen des Konfigurationsmodus in einer NETCONF-Sitzung beschrieben. Weitere Informationen zu Hierarchieebenen und Containerobjekten finden Sie unter Zuordnen von Konfigurationsanweisungen zu Junos XML-Tag-Elementen.
Das folgende Beispiel zeigt, wie Sie die [edit protocols ospf]
Hierarchieebene der Kandidatenkonfiguration entfernen:

Löschen eines Konfigurationsobjekts mit einem Bezeichner
Um ein Konfigurationsobjekt mit einem Bezeichner zu löschen, enthält eine Clientanwendung das operation="delete"
Attribut oder das operation="remove"
Attribut im Container-Tag-Element für das Objekt. Innerhalb des Container-Tag-Elements enthält es nur das Identifier-Tag-Element, nicht alle Tag-Elemente, die andere Merkmale darstellen. Im Folgenden heißt <name>
das Identifier-Tag-Element:
<configuration> <!-- opening tags for each parent of the object --> <object operation="(delete | remove)"> <name>identifier</name> </object> <!-- closing tags for each parent of the object --> </configuration>
Das delete
Attribut oder remove
das Attribut wird im öffnend container-Tag angezeigt, nicht im Identifier-Tag-Element. Sie fügen das Bezeichner-Tag-Element ein, um das angegebene Objekt zu löschen, nicht die gesamte Hierarchieebene, die durch das Container-Tag dargestellt wird.
Wir empfehlen, dass die Anwendung den Standardmodus auf no-change setzt, indem das <default-operation>
Tag-Element mit dem Wert none
einschleist, wie unter Festlegen des Konfigurationsmodus in einer NETCONF-Sitzung beschrieben. Weitere Informationen zu Bezeichnern finden Sie unter Zuordnen von Konfigurationsanweisungen zu Junos XML-Tag-Elementen.
Das folgende Beispiel zeigt, wie das Benutzerobjekt barbara
aus der [edit system login user]
Hierarchieebene in der Kandidatenkonfiguration entfernt wird:

Löschen einer Option mit einem Wert oder fester Form aus einem Konfigurationsobjekt
Wenn Sie entweder eine Option mit fester Form oder eine Option löschen möchten, die nur einen Wert aus einem Konfigurationsobjekt annimmt, enthält eine Clientanwendung das operation="delete"
Attribut oder das operation="remove"
Attribut im Tag-Element für die Option. Im folgenden Beispiel heißt <name>
das Identifier-Tag-Element für das Objekt . (Informationen zum Löschen einer Option, die mehrere Werte annehmen kann, finden Sie unter Löschen von Werten aus einer Mehrwertoption eines Konfigurationsobjekts.)
<configuration> <!-- opening tags for each parent of the object --> <object> <name>identifier</name> <!-- if object has an identifier --> <option1 operation="(delete | remove)"> <option2 operation="(delete | remove)"> <!-- tag elements for other options to delete --> </object> <!-- closing tags for each parent of the object --> </configuration>
Wir empfehlen, dass die Anwendung den Standardmodus auf no-change setzt, indem das <default-operation>
Tag-Element mit dem Wert none
einschleist, wie unter Festlegen des Konfigurationsmodus in einer NETCONF-Sitzung beschrieben. Weitere Informationen zu Optionen finden Sie unter Zuordnen von Konfigurationsanweisungen zu Junos XML-Tag-Elementen.
Das folgende Beispiel zeigt, wie Sie die Option disable
mit fester Form auf [edit forwarding-options sampling]
Hierarchieebene entfernen:

Löschen von Werten aus einer mehrwertigen Option eines Konfigurationsobjekts
Wie in Zuordnen von Konfigurationsanweisungen zu Junos XML-Tag-Elementen beschrieben, sind einige Junos OS-Konfigurationsobjekte Leaf-Anweisungen, die mehrere Werte aufweisen. In der formatierten ASCII-CLI-Darstellung werden die Werte in eckige Klammern nach dem Namen des Objekts eingeschlossen:
object [value1 value2 value3 ...];
Die Junos-XML-Darstellung verwendet kein übergeordnetes Tag für das Objekt, sondern verwendet stattdessen eine separate Instanz des Object-Tag-Elements für jeden Wert. Im folgenden Beispiel heißt <name>
das Identifier-Tag-Element:
<parent-object> <name>identifier</name> <object>value1</object> <object>value2</object> <object>value3</object> </parent-object>
Um einen oder mehrere Werte für ein solches Objekt zu entfernen, enthält eine Clientanwendung das operation="delete"
Attribut oder das operation="remove"
Attribut im öffnenten Tag für jeden Wert. Es enthält keine Tag-Elemente, die Werte darstellen, die aufbewahrt werden müssen. Im folgenden Beispiel heißt <name>
das Identifier-Tag-Element:
<configuration> <!-- opening tags for each parent of the parent object --> <parent-object> <name>identifier</name> <object operation="(delete | remove)">value1</object> <object operation="(delete | remove)">value2</object> </parent-object> <!-- closing tags for each parent of the parent object --> </configuration>
Wir empfehlen, dass die Anwendung den Standardmodus auf no-change setzt, indem das <default-operation>
Tag-Element mit dem Wert none
einschleist, wie unter Festlegen des Konfigurationsmodus in einer NETCONF-Sitzung beschrieben. Weitere Informationen zu Leaf-Anweisungen mit mehreren Werten finden Sie unter Zuordnen von Konfigurationsanweisungen zu Junos XML Tag Elements.
Das folgende Beispiel zeigt, wie Sie zwei der Berechtigungen entfernen, die der user-accounts
Anmeldeklasse gewährt werden:

<rpc-error>
geändert, wenn
<edit-config>
der
operation="delete"
Vorgang verwendet wird, um ein Konfigurationselement zu löschen, das in der Zielkonfiguration fehlt. Der Fehlerschweregrad ist Fehler statt Warnung, und das
<rpc-error>
Element umfasst die
<error-tag>data-missing</error-tag>
und
<error-type>application</error-type>
Elemente.