Indicateurs d’identification de demande pour les éléments de configuration utilisant le protocole XML Junos
Dans une session de protocole XML Junos avec un équipement exécutant Junos OS, pour demander au serveur d’indiquer si un élément de configuration enfant est un identificateur pour son élément parent, une application cliente inclut l’attribut dans la balise d’ouverture <junoscript>
de la session de protocole XML Junos ou inclut l’attribut junos:key="key"
junos:key="key"
ou key="key"
dans la <get-configuration>
balise request :
<junoscript version="version" hostname="hostname" junos:key="key" release="release-code"> <!-- OR --> <rpc> <get-configuration (junos:key | key)="key"> <!-- tag elements for the configuration elements to return --> </get-configuration> </rpc>
Pour plus d’informations sur la balise, reportez-vous à la <junoscript>
section Démarrage de sessions Junos XML Protocol.
Lorsque l’indicateur d’identificateur est demandé, le serveur de protocole XML Junos inclut l’attribut junos:key="key"
dans la balise d’ouverture de chaque identifiant. Comme toujours, le serveur de protocole XML Junos entoure sa réponse et <configuration>
ses éléments de <rpc-reply>
balise . Dans l’exemple suivant, l’élément de balise d’identificateur est appelé <name>
:
<rpc-reply xmlns:junos="URL"> <configuration attributes> <!-- opening tag for each parent of the object --> <!-- For each configuration object with an identifier --> <object> <name junos:key="key">identifier</name> <!-- additional children of object --> </object> <!-- closing tag for each parent of the object --> </configuration> </rpc-reply>
Si le format de sortie demandé est JSON, le serveur de protocole XML Junos ajoute un objet de métadonnées qui inclut "junos:key" : "key"
pour indiquer l’identificateur. Si l’objet Junos OS utilise name
l’identificateur, un objet de métadonnées portant le nom « @ » est ajouté en tant que nouveau membre de l’objet. Si l’objet Junos OS utilise un identificateur autre que , l’objet de métadonnées est ajouté en tant que name
paire nom/valeur frère qui utilise le nom « @ » concaténé avec le nom de l’identificateur. La réponse est placée dans <configuration-json>
des éléments de balise <rpc-reply>
.
<rpc-reply xmlns:junos="URL"> <configuration-json> { "configuration" : { /* JSON objects for parent levels of the element */ "object" : [ { "@" : { "junos:key" : "key" }, "name" : "identifier", "identifier-name" : "identifier-value", "@identifier-name" : { "junos:key" : "key" }, /* additional data and child objects */ # if any } ] /* closing braces for parent levels of the element */ } } </configuration-json> </rpc-reply>
Dans la sortie suivante, la combinaison de et next-hop
identifier de name
manière unique la route statique :
{ "configuration" : { "routing-options" : { "static" : { "route" : [ { "@" : { "junos:key" : "key" }, "name" : "172.16.0.0/12", "next-hop" : ["198.51.100.1"], "@next-hop" : { "junos:key" : "key" }, "retain" : [null], "no-readvertise" : [null] } ] } } } }
À partir de Junos OS version 16.1, les équipements exécutant Junos OS émettent des données de configuration au format JSON à l’aide d’une nouvelle implémentation par défaut pour la sérialisation. La nouvelle valeur par défaut utilise le symbole « @ » au lieu du nom de champ « attribut » pour indiquer un attribut.
L’application cliente peut inclure un ou plusieurs des autres attributs suivants dans la balise ou la <get-configuration/>
balise d’ouverture lorsque l’attribut est inclus dans l’ouverture <junoscript>
<get-configuration>
junos:key
ou <get-configuration>
les balises :
changed
, décrit dans Demande d’indicateurs de modification pour des éléments de configuration à l’aide du protocole XML Junoscommit-scripts
, décrite dans Demande de données de configuration XML de type script de commit à l’aide du protocole XML Junosdatabase
, décrite dans Spécification de la source des demandes d’informations de configuration dans une session Junos XML Protocolinherit
et éventuellementgroups
etinterface-ranges
, qui sont décrits dans Spécification du format de sortie pour les groupes de configuration et les plages d’interfaces à l’aide du protocole XML Junos
Lorsque vous demandez un indicateur d’identificateurs, il n’est pas judicieux d’inclure l’attribut dans l’élément format="text"
<get-configuration>
tag (comme décrit dans Spécification du format de sortie des données de configuration dans une session Junos XML Protocol). L’attribut junos:key="key"
apparaît uniquement dans la sortie balisée XML Junos, qui est le format de sortie par défaut, et dans la sortie JSON. L’attribut compare
produit uniquement une sortie de texte, de sorte que lorsque l’attribut est inclus dans la balise, l’attribut compare
n’apparaît junos:key="key"
pas dans la <get-configuration>
sortie.
L’exemple suivant montre comment les indicateurs d’identificateurs apparaissent sur les éléments de configuration au niveau de la hiérarchie dans la configuration candidate lorsque l’attribut est inclus dans la balise d’ouverture <junoscript>
émise par l’application junos:key="key"
cliente pour la [edit interfaces]
session. Les deux balises d’ouverture <junoscript>
apparaissent sur plusieurs lignes pour des raisons de lisibilité uniquement. Ni les applications clientes ni le serveur de protocole XML Junos n’insèrent de caractères de nouvelle ligne dans les balises. De plus, pour plus de brièveté, la sortie ne comprend qu’une seule interface, l’interface de bouclage lo0.
