Filtrer la sortie des commandes opérationnelles pour les éléments de conteneur sans identificateur dans les sessions de protocole XML NETCONF et Junos
Dans une session de protocole NETCONF ou Junos XML avec un équipement exécutant Junos OS, une application cliente peut demander des informations opérationnelles pour le périphérique et filtrer la sortie pour sélectionner un élément de conteneur spécifique et ses descendants. Pour filtrer la sortie de la commande opérationnelle d’un élément conteneur qui n’a pas d’identificateur (<name>
ou d’élément équivalent), une application cliente émet une demande RPC d’informations opérationnelles et inclut un <filter type="subtree">
élément qui entoure les éléments de balise représentant tous les niveaux de la hiérarchie de sortie de la commande opérationnelle, de l’élément racine jusqu’au niveau parent immédiat de l’objet conteneur. Le conteneur lui-même est représenté par une balise vide.
<rpc> <operational-request> <!-- optional tag elements representing the options --> <filter type="subtree"> <!-- opening tags for each parent of the requested level --> <level-or-container/> <!-- closing tags for each parent of the requested level --> </filter> </operational-request> </rpc>
Le serveur renvoie le nœud conteneur spécifié dans la requête avec tous ses descendants. La sortie est enfermée dans un <rpc-reply>
élément.
Dans l’exemple suivant, l’application cliente demande des informations pour la show system uptime
commande opérationnelle, qui correspondent à la <get-system-uptime-information>
balise de requête RPC. Le client sélectionne le <uptime-information/>
noeud dans la sortie.
<rpc> <get-system-uptime-information> <filter type="subtree"> <system-uptime-information> <uptime-information/> </system-uptime-information> </filter> </get-system-uptime-information> </rpc>
La réponse RPC renvoie la sortie demandée, qui inclut l’élément <uptime-information>
et ses descendants.
<rpc-reply xmlns:junos="URL"> <system-uptime-information xmlns="URL"> <uptime-information> <date-time junos:seconds="1447360705">12:38PM</date-time> <up-time junos:seconds="17982062">208 days, 3:01</up-time> <active-user-count junos:format="2 users">2</active-user-count> <load-average-1>0.10</load-average-1> <load-average-5>0.08</load-average-5> <load-average-15>0.08</load-average-15> </uptime-information> </system-uptime-information> </rpc-reply>
L’application cliente peut également sélectionner des noeuds leaf spécifiques dans le conteneur en incluant ces noeuds en tant que noeuds de sélection, ou balises vides, dans l’élément conteneur de la requête. Pour retourner uniquement l’élément <up-time>
dans la sortie de l’exemple précédent, le client émet la balise vide pour ce nœud dans la requête.
<rpc> <get-system-uptime-information> <filter type="subtree"> <system-uptime-information> <uptime-information> <up-time/> </uptime-information> </system-uptime-information> </filter> </get-system-uptime-information> </rpc>
La réponse RPC renvoie uniquement le noeud demandé.
<rpc-reply xmlns:junos="URL"> <system-uptime-information xmlns="URL"> <uptime-information> <up-time junos:seconds="17982062">208 days, 3:01</up-time> </uptime-information> </system-uptime-information> </rpc-reply>