Remplacer uniquement les éléments mis à jour dans les données de configuration à l’aide du protocole XML Junos
Dans une session de protocole Junos XML avec un équipement exécutant Junos OS, pour remplacer les éléments de configuration (niveaux hiérarchiques et objets de configuration) uniquement s’ils diffèrent entre la configuration chargée et la configuration existante, l’application émet l’élément de balise par l’attribut <load-configuration>
action="update"
d’un <rpc>
élément de balise.
<rpc> <!-- For a file --> <load-configuration action="update" url="file" [format="format"]/> <!-- For a data stream --> <load-configuration action="update" [format="format"]> <!-- configuration data --> </load-configuration> </rpc>
Pour plus d’informations sur les attributs et format
les url
attributs, voir Chargement et mise en forme des données de configuration dans une session du protocole Junos XML.
À partir de la version 21.1R1 de Junos OS, la base de données de configuration éphémère prend en charge l’attribut sur les action="update"
plates-formes prises en charge.
Cette opération équivaut à la commande du mode de configuration cli de Junos OS load update
. Le logiciel de gestion de configuration Junos OS compare les deux configurations complètes. Chaque élément de configuration différent dans la configuration chargée remplace l’élément correspondant dans la configuration existante. Les éléments qui sont les mêmes dans les deux configurations restent inchangés. Lorsque la configuration est validée ultérieurement, seuls les processus système affectés par les éléments de configuration modifiés analysent la nouvelle configuration.
Pour représenter les éléments de remplacement, l’application utilise la même syntaxe que pour les nouveaux éléments, comme décrit dans Création de nouveaux éléments dans les données de configuration à l’aide du protocole JUNOs XML. Dans les représentations JUNOs XML et JSON suivantes de la configuration, l’identificateur d’objet est appelé name
.
Éléments Junos XML :
<configuration> <!-- opening tag for each parent of the element --> <container-tag> <name>identifier</name> <!-- tag elements for other children, if any --> </container-tag> <!-- closing tag for each parent of the element --> </configuration>
Texte ASCII :
<configuration-text> /* statements for parent levels of the element */ element identifier { /* child statements if any */ } /* closing braces for parent levels of the element */ </configuration-text>
JSON:
<configuration-json> { "configuration" : { /* JSON objects for parent levels of the element */ "container-tag" : { "object" : [ { "name" : "identifier", "statement-name" : "statement-value", # if any /* additional data and child objects */ # if any } ], /* data and child objects */ # if any } /* closing braces for parent levels of the element */ } } </configuration-json>
Vous pouvez charger les données de configuration formatées à l’aide de JavaScript Object Notation (JSON) à partir de la version 16.1 de Junos OS.
L’exemple suivant montre comment mettre à jour la configuration du candidat avec le contenu du fichier /tmp/new.conf (qui se trouve sur l’équipement). Le fichier contient une configuration complète représentée sous la forme d’éléments de balise XML Junos (par défaut), de sorte que l’attribut format
est omis.
