Asignar comandos de Junos OS y salida de comandos a elementos de etiqueta XML de Junos
La API XML de Junos es una representación XML de instrucciones de configuración de Junos OS y comandos de modo operativo. Define un equivalente XML para todas las instrucciones de la jerarquía de configuración de Junos OS y muchos de los comandos que se emiten en modo operativo de CLI. Cada comando de modo operativo con una contraparte XML de Junos se asigna a un elemento de etiqueta de solicitud y, si es necesario, a un elemento de etiqueta de respuesta.
Los elementos de etiqueta de solicitud se utilizan en llamadas de procedimiento remoto (RPC) dentro de las sesiones de protocolos NETCONF y Junos XML para solicitar información de un dispositivo que ejecuta Junos OS. El servidor devuelve la respuesta mediante los elementos de etiqueta XML de Junos incluidos en el elemento de etiqueta de respuesta. Por ejemplo, el show interfaces
comando se asigna a la <get-interface-information>
etiqueta de solicitud y el servidor devuelve la <interface-information>
etiqueta de respuesta.
En las siguientes secciones se describe cómo asignar comandos, opciones de comando y salida de comandos a elementos de etiqueta XML de Junos.
Asignación de salida de comandos a elementos XML de Junos
En la interfaz de línea de comandos (CLI) de Junos OS, para mostrar el resultado del comando como elementos de etiqueta XML de Junos en lugar de como texto ASCII con formato predeterminado, incluya la | display xml
opción después del comando. Los elementos de etiqueta que describen la configuración o los datos operativos de Junos OS pertenecen a la API XML de Junos, que define el contenido de Junos OS que se puede recuperar y manipular mediante las operaciones de protocolo de administración NETCONF y Junos XML.
En el ejemplo siguiente se muestra el resultado del show chassis hardware
comando emitido en un enrutador M20 que ejecuta la versión 9.3 de Junos OS (la etiqueta de apertura <chassis-inventory>
aparece en dos líneas solo para la legibilidad). Esto es idéntico a la respuesta del servidor para la <get-chassis-inventory>
solicitud RPC.
user@host> show chassis hardware | display xml <rpc-reply xmlns:junos="http://xml.juniper.net/junos/9.3R1/junos"> <chassis-inventory \ xmlns="http://xml.juniper.net/junos/9.3R1/junos-chassis"> <chassis junos:style="inventory"> <name>Chassis</name> <serial-number>00118</serial-number> <description>M20</description> <chassis-module> <name>Backplane</name> <version>REV 06</version> <part-number>710-001517</part-number> <serial-number>AB5911</serial-number> </chassis-module> <chassis-module> <name>Power Supply A</name> <!-- other child tags of <chassis-module> --> </chassis-module> <!-- other child tags of <chassis> --> </chassis> </chassis-inventory> </rpc-reply>
Asignación de comandos a elementos de etiqueta de solicitud XML de Junos
Puede encontrar información sobre los comandos de modo operativo de Junos OS disponibles y sus etiquetas de solicitud RPC XML junos equivalentes en la herramienta Junos XML API Explorer - Operational Tags y la CLI de Junos OS. Puede utilizar la herramienta para comprobar un comando, asignar el comando a su equivalente de etiqueta de solicitud RPC XML junos y etiquetas secundarias, y ver la etiqueta de respuesta esperada para varias versiones de Junos OS.
También puede mostrar los elementos de etiqueta de solicitud XML de Junos para cualquier comando de modo operativo que tenga una contraparte XML de Junos en la CLI de Junos OS. Para mostrar las etiquetas de solicitud RPC XML de Junos para un comando de modo operativo, ingrese el comando y caño al display xml rpc
comando.
En el siguiente ejemplo, se muestran las etiquetas RPC para el show route
comando:
user@host> show route | display xml rpc <rpc-reply xmlns:junos="http://xml.juniper.net/junos/10.1I0/junos"> <rpc> <get-route-information> </get-route-information> </rpc> <cli> <banner></banner> </cli> </rpc-reply>
A partir de Junos OS versión 20.3R1, se actualizaron los nombres de algunas etiquetas de solicitud RPC XML de Junos para garantizar la coherencia en toda la API XML de Junos. Los dispositivos que ejecutan Junos OS seguirán aceptando los nombres de etiqueta de solicitud antiguos para compatibilidad con versiones anteriores, pero recomendamos usar los nuevos nombres en el futuro. Para comprobar la etiqueta de solicitud RPC XML de Junos para un comando de modo operativo en una versión dada de Junos OS, consulte la herramienta Junos XML API Explorer - Operational Tags .
Asignación de opciones de comando con valores de variable
Muchos comandos de CLI tienen opciones que identifican el objeto del que el comando afecta o informa, lo que distingue el objeto de otros objetos del mismo tipo. En algunos casos, la CLI no precede al identificador con una palabra clave de forma fija, pero la convención XML requiere que la API XML de Junos defina un elemento de etiqueta para cada opción. Para aprender los nombres de cada identificador (y cualquier otro elemento de etiqueta secundaria) para un elemento de etiqueta de solicitud operativa, consulte la entrada del elemento de etiqueta en el DTD adecuado o en la Referencia de desarrollador operativo de la API XML de Junos, o emita la opción de comando y comando en la CLI y anexe la | display xml rpc
opción.
En el ejemplo siguiente se muestran los elementos de etiqueta XML de Junos para dos comandos operativos de CLI que tienen opciones de forma variable. En el show interfaces
comando, t3-5/1/0:0 es el nombre de la interfaz. En el show bgp neighbor
comando, 10.168.1.222 es la dirección IP para el par bgp de interés.
Puede mostrar las etiquetas RPC XML de Junos para un comando y sus opciones en la CLI ejecutando la opción comando y comando y anexando | display xml rpc
.
user@host> show interfaces t3-5/1/0:0 | display xml rpc <rpc-reply xmlns:junos="http://xml.juniper.net/junos/16.1R1/junos"> <rpc> <get-interface-information> <interface-name>t3-5/1/0:0</interface-name> </get-interface-information> </rpc> <cli> <banner></banner> </cli> </rpc-reply>
Asignación para opciones de comandos de forma fija
Algunos comandos de CLI incluyen opciones que tienen un formato fijo, como las brief
cadenas y detail
, por ejemplo, especifican la cantidad de detalles que se deben incluir en el resultado. La API XML de Junos suele correlacionar esta opción con una etiqueta vacía cuyo nombre coincide con el nombre de la opción.
En el ejemplo siguiente se muestran los elementos de etiqueta XML de Junos para el comando, que show isis adjacency
tiene una opción de forma fija denominada detail
:
Para ver las etiquetas en la CLI:
user@host> show isis adjacency detail | display xml rpc <rpc-reply xmlns:junos="http://xml.juniper.net/junos/16.1R1/junos"> <rpc> <get-isis-adjacency-information> <detail/> </get-isis-adjacency-information> </rpc> <cli> <banner></banner> </cli> </rpc-reply>