EN ESTA PÁGINA
Cómo solicitar datos de configuración mediante el protocolo XML de Junos
Especifique el origen de la base de datos para los datos de configuración que se devolverán
Especifique el formato de salida para los datos de configuración que se devolverán
Especifique el ámbito de los datos de configuración que se van a devolver
Solicitar datos de configuración mediante el protocolo XML de Junos
Las aplicaciones cliente del protocolo XML de Junos pueden usar la <get-configuration> operación para solicitar datos de configuración de dispositivos Junos.
Cómo solicitar datos de configuración mediante el protocolo XML de Junos
Una aplicación cliente de protocolo XML de Junos puede solicitar datos de configuración de un dispositivo que ejecute Junos OS o de un dispositivo que ejecute Junos OS Evolved. Para solicitar datos de configuración, una aplicación cliente encierra la <get-configuration> operación en un <rpc> elemento. Una aplicación cliente puede incluir atributos opcionales para especificar el origen y el formato de la información de configuración que se va a devolver. Además, una aplicación cliente puede definir el ámbito de la información que se va a devolver incluyendo los elementos de etiqueta secundarios adecuados. Por ejemplo, el cliente puede solicitar la configuración completa o partes específicas de la configuración.
La sintaxis básica es la siguiente:
<rpc>
<!-- Request the complete configuration -->
<get-configuration [optional attributes]/>
<!-- Request part of the configuration -->
<get-configuration [optional attributes]>
<configuration>
<!-- tag elements representing the data to return -->
</configuration>
</get-configuration>
</rpc>
Para ver los datos de configuración en una instancia específica de la base de datos de configuración efímera, una aplicación cliente debe abrir la instancia efímera mediante la <open-configuration> operación con las etiquetas secundarias adecuadas antes de ejecutar la <get-configuration> solicitud.
Una aplicación cliente de protocolo XML de Junos puede usar la operación para solicitar toda la <get-configuration> configuración del sistema lógico o jerarquías de configuración del sistema lógico específicas.
En los temas siguientes se describe cómo una aplicación cliente especifica el origen, el formato y el alcance de la información devuelta por el servidor de protocolo XML de Junos:
-
Especifique el origen de la base de datos para los datos de configuración que se devolverán
-
Especifique el formato de salida para los datos de configuración que se devolverán
-
Especifique el ámbito de los datos de configuración que se van a devolver
El servidor de protocolo XML de Junos encierra su respuesta en un <rpc-reply> elemento. Dentro del <rpc-reply> elemento, el servidor encierra los datos de configuración dentro de la etiqueta que corresponde al formato solicitado para todos los formatos excepto JavaScript Object Notation (JSON).
-
<configuration>: incluye la salida etiquetada XML de Junos -
<configuration-text>: encierra la salida ASCII formateada -
<configuration-set>: incluye comandos de modo de configuración
Para los datos XML y JSON de Junos, el servidor incluye atributos con el junos: prefijo para indicar cuándo se cambió o confirmó la configuración por última vez y el usuario que la confirmó. Para obtener más información acerca de los atributos, consulte Especificar el origen de base de datos para que se devuelvan los datos de configuración.
<rpc-reply xmlns:junos="URL">
<!-- If the application requests Junos XML tag elements -->
<configuration junos:(changed | commit)-seconds="seconds" \
junos:(changed | commit)-localtime="YYYY-MM-DD hh:mm:ss TZ" \
[junos:commit-user="username"]>
<!-- Junos XML tag elements representing configuration elements -->
</configuration>
<!-- If the application requests formatted ASCII text -->
<configuration-text>
<!-- formatted ASCII configuration statements -->
</configuration-text>
<!-- If the application requests configuration mode commands -->
<configuration-set>
<!-- configuration mode commands -->
</configuration-set>
<!-- If the application requests JSON format -->
<!-- JSON configuration data -->
</rpc-reply>
Cuando se muestran datos operativos o de configuración que contienen caracteres fuera del juego de caracteres ASCII de 7 bits, Junos OS escapa y codifica estos caracteres utilizando la referencia de caracteres decimales UTF-8 equivalente. Para obtener más información, consulte Descripción de la codificación de caracteres en dispositivos que ejecutan Junos OS.
Las aplicaciones también pueden solicitar otra información relacionada con la configuración, como una representación de esquema XML de la jerarquía de configuración o información sobre configuraciones confirmadas anteriormente. Para obtener más información, consulte lo siguiente:
-
Recuperar una configuración anterior (revertir) mediante el protocolo XML de Junos
-
Recuperar la configuración de rescate mediante el protocolo XML de Junos
-
Compare dos configuraciones anteriores (reversión) con el protocolo XML de Junos
-
Solicitar un esquema XML para la jerarquía de configuración mediante el protocolo XML de Junos
Especifique el origen de la base de datos para los datos de configuración que se devolverán
Una aplicación cliente de protocolo XML de Junos puede usar la <get-configuration> operación para solicitar datos de configuración de un dispositivo Junos. Una aplicación cliente puede solicitar información de las siguientes bases de datos de configuración:
-
Base de datos de configuración de candidatos
-
Base de datos de configuración activa
-
Instancia abierta de la base de datos de configuración efímera
Una aplicación cliente puede solicitar información de la configuración candidata o de la configuración activa mediante la <get-configuration> operación y estableciendo el database atributo en el valor adecuado. De forma predeterminada, la <get-configuration> operación devuelve datos de la base de datos de configuración candidata. El servidor de protocolos XML de Junos devuelve la salida etiquetada XML de Junos de forma predeterminada, excepto cuando se incluye el compare atributo.
El database atributo se puede combinar con uno o más de los siguientes atributos en la <get-configuration> etiqueta: changed, , comparecommit-scripts, y, inherit opcionalmentegroups, formaty interface-ranges.
Las siguientes secciones: describir cómo especificar el origen de los datos de configuración solicitados; describir la respuesta del servidor de protocolo XML de Junos; y proporcione una solicitud de muestra.
- Solicitar datos de configuración del candidato
- Solicitar datos de configuración activa
- Solicitar datos de configuración efímera
- Respuesta del servidor de protocolo XML de Junos
- Ejemplo: Solicitar la configuración activa
Solicitar datos de configuración del candidato
Para solicitar información de la base de datos de configuración candidata, una aplicación cliente incluye el database="candidate" atributo u omite el database atributo.
<rpc>
<get-configuration/>
<!-- OR -->
<get-configuration>
<!-- tag elements for the configuration elements to return -->
</get-configuration>
</rpc>
Solicitar datos de configuración activa
Para solicitar información de la base de datos de configuración activa, una aplicación cliente incluye el database="committed" atributo.
<rpc>
<get-configuration database="committed"/>
<!-- OR -->
<get-configuration database="committed">
<!-- tag elements for the configuration elements to return -->
</get-configuration>
</rpc>
Solicitar datos de configuración efímera
Para solicitar información de una instancia específica de la base de datos de configuración efímera, una aplicación cliente abre primero la instancia efímera utilizando la <open-configuration> operación con las etiquetas secundarias adecuadas.
<rpc>
<!-- Default instance -->
<open-configuration>
<ephemeral/>
</open-configuration>
<!-- Named instance -->
<open-configuration>
<ephemeral-instance>instance-name</ephemeral-instance>
</open-configuration>
</rpc>
Después de abrir la instancia efímera, la aplicación cliente solicita información de esa instancia mediante la <get-configuration> operación. Una vez completadas todas las operaciones de la instancia efímera, la aplicación cliente cierra la instancia con la <close-configuration/> operación.
<rpc>
<get-configuration/>
<!-- OR -->
<get-configuration>
<!-- tag elements for the configuration elements to return -->
</get-configuration>
</rpc>
<rpc>
<close-configuration/>
</rpc>
Respuesta del servidor de protocolo XML de Junos
El servidor de protocolo XML de Junos encierra su respuesta en un <rpc-reply> elemento. Según el origen de la base de datos, el servidor de protocolos XML de Junos incluye información acerca de cuándo fue la última vez que se cambió o confirmó la configuración. Los datos JSON y de salida etiquetados con XML de Junos incluyen esta información como atributos en la etiqueta u objeto de apertura configuration .
| Base de datos | Atributo | Descripción |
|---|---|---|
| Configuración candidata o instancia efímera abierta |
junos:changed-localtime="YYYY-MM-DD hh:mm:ss TZ" |
Representa la hora del último cambio como la fecha y hora en la zona horaria local del dispositivo. |
junos:changed-seconds="seconds" |
Representa la hora del último cambio como el número de segundos desde la medianoche del 1 de enero de 1970. |
|
| Configuración activa |
junos:commit-localtime="YYYY-MM-DD hh:mm:ss TZ" |
Representa la hora de confirmación como la fecha y hora en la zona horaria local del dispositivo. |
junos:commit-seconds="seconds" |
Representa el tiempo de confirmación como el número de segundos desde la medianoche del 1 de enero de 1970. |
|
junos:commit-user="username" |
Usuario que solicitó la operación de confirmación. |
Por ejemplo, cuando se devuelve información de la configuración candidata o de una instancia de la base de datos de configuración efímera, el resultado incluye información acerca de cuándo se cambió la configuración por última vez.
<rpc-reply xmlns:junos="URL">
<configuration junos:changed-seconds="seconds" \
junos:changed-localtime="YYYY-MM-DD hh:mm:ss TZ">
<!-- Junos XML tag elements representing configuration elements -->
</configuration>
</rpc-reply>
Cuando se devuelve información de la configuración activa, el resultado incluye información acerca de cuándo se confirmó por última vez la configuración.
<rpc-reply xmlns:junos="URL">
<configuration junos:commit-seconds="seconds" \
junos:commit-localtime="YYYY-MM-DD hh:mm:ss TZ" \
junos:commit-user="username">
<!-- Junos XML tag elements representing configuration elements -->
</configuration>
</rpc-reply>
Ejemplo: Solicitar la configuración activa
En el ejemplo siguiente se solicita la configuración completa confirmada. En la salida real, la Junos-version variable se sustituye por un valor como 20.4R1 para la versión inicial de Junos OS versión 20.4.
Especifique el formato de salida para los datos de configuración que se devolverán
Una aplicación cliente de protocolo XML de Junos puede usar la <get-configuration> operación para solicitar datos de configuración de un dispositivo Junos. Una aplicación cliente puede incluir el atributo opcional format para especificar el formato de los datos de configuración. La aplicación puede solicitar datos de configuración en los siguientes formatos:
-
Formato XML de Junos (predeterminado)
-
Texto ASCII formateado
-
Comandos del modo de configuración
-
JSON
Las aplicaciones cliente utilizan elementos de etiqueta XML de Junos para representar los elementos de configuración que se mostrarán independientemente del formato de salida que soliciten. El format atributo controla únicamente el formato de salida del servidor de protocolo XML de Junos.
Las siguientes secciones: describir cómo especificar el formato de los datos de configuración solicitados; Discuta los atributos que puede combinar con el format atributo; y proporcione una solicitud de ejemplo.
- Solicitar formato XML de Junos
- Solicitar texto ASCII con formato
- Solicitar comandos del modo de configuración
- Solicitar formato JSON
- Incluir atributos adicionales
- Ejemplo: solicitar datos de configuración y especificar el formato
Solicitar formato XML de Junos
Para solicitar que el servidor de protocolo XML de Junos devuelva datos de configuración en la salida etiquetada con XML de Junos, una aplicación cliente incluye el format="xml" atributo en la <get-configuration> etiqueta u omite el format atributo. El servidor de protocolos XML de Junos devuelve la salida etiquetada XML de Junos de forma predeterminada, excepto cuando se incluye el compare atributo.
<rpc>
<get-configuration/>
<!-- OR -->
<get-configuration>
<!-- tag elements for the configuration elements to return -->
</get-configuration>
</rpc>
Cuando la aplicación solicita elementos de etiqueta XML de Junos, el servidor de protocolo XML de Junos encierra su salida en <rpc-reply> y <configuration> elementos.
<rpc-reply xmlns:junos="URL">
<configuration attributes>
<!-- Junos XML tag elements representing configuration elements -->
</configuration>
</rpc-reply>
Solicitar texto ASCII con formato
Para solicitar que el servidor de protocolo XML de Junos devuelva los datos de configuración como texto ASCII con formato, una aplicación cliente incluye el format="text" atributo en la <get-configuration> etiqueta.
<rpc>
<get-configuration format="text"/>
<!-- OR -->
<get-configuration format="text">
<!-- tag elements for the configuration elements to return -->
</get-configuration>
</rpc>
Cuando la aplicación solicita una salida ASCII formateada, el servidor de protocolos XML de Junos encierra los datos en <rpc-reply> y <configuration-text> elementos. El servidor formatea los datos de la misma manera que el comando de la CLI show configuration muestra los datos de configuración. La salida utiliza el carácter de nueva línea, tabulaciones, llaves y corchetes para indicar las relaciones jerárquicas entre las instrucciones de configuración.
<rpc-reply xmlns:junos="URL">
<configuration-text>
<!-- formatted ASCII configuration statements -->
</configuration-text>
</rpc-reply>
Solicitar comandos del modo de configuración
Para solicitar datos de configuración formateados como comandos de modo de configuración, una aplicación cliente incluye el format="set" atributo en la <get-configuration> etiqueta.
<rpc>
<get-configuration format="set"/>
<!-- OR -->
<get-configuration format="set">
<!-- tag elements for the configuration elements to return -->
</get-configuration>
</rpc>
Cuando la aplicación solicita comandos de modo de configuración, el servidor de protocolos XML de Junos encierra los datos en <rpc-reply> y <configuration-set> elementos. El servidor formatea los datos de la misma manera que el comando de la CLI show configuration | display set muestra los datos de configuración.
<rpc-reply xmlns:junos="URL">
<configuration-set>
<!-- configuration mode commands -->
</configuration-set>
</rpc-reply>
Solicitar formato JSON
Para devolver datos de configuración en formato JSON, una aplicación cliente incluye el format="json" atributo en la <get-configuration> etiqueta.
<rpc>
<get-configuration format="json"/>
<!-- OR -->
<get-configuration format="json">
<!-- tag elements for the configuration elements to return -->
</get-configuration>
</rpc>
Cuando la aplicación solicita el formato JSON, el servidor de protocolos XML de Junos encierra los datos JSON en un <rpc-reply> elemento.
<rpc-reply xmlns:junos="URL">
<!-- JSON configuration data -->
</rpc-reply>
Los datos de configuración de Junos OS emitidos en formato JSON no encierran enteros entre comillas.
Incluir atributos adicionales
El format atributo se puede combinar con uno o más de los siguientes atributos en la <get-configuration/> etiqueta:
-
comparecon el valorcompare="rollback"y conrollback="0". Al comparar la configuración candidata con la configuración activa (rollback="0"), puede mostrar las diferencias en formatos distintos del texto incluyendo el valor adecuado para elformatatributo en la solicitud. -
commit-scriptscon un valor decommit-scripts="apply"ocommit-scripts="apply-no-transients". Elcommit-scripts="view"atributo devuelve la salida etiquetada XML de Junos de forma predeterminada, incluso si elformat="text"atributo está incluido, ya que este es el formato que se introduce para confirmar scripts. -
database, que se describe en Especificar el origen de la base de datos para que se devuelvan los datos de configuración. -
inherity, opcionalmentegroups, yinterface-ranges, que se describen en Especificar cómo mostrar la herencia para grupos de configuración y rangos de interfaces mediante el protocolo XML de Junos.
Los indicadores de cambio e identificador solo aparecen en la salida con etiquetas XML y JSON de Junos. Por lo tanto, no puede combinar el format="text" atributo con el atributo ni incluirlo después de changed solicitar un indicador para identificadores.
Ejemplo: solicitar datos de configuración y especificar el formato
En el siguiente ejemplo, se solicita el nivel de [edit policy-options] jerarquía en la configuración candidata como salida ASCII formateada.
Especifique el ámbito de los datos de configuración que se van a devolver
Una aplicación cliente de protocolo XML de Junos puede usar la <get-configuration> operación para solicitar datos de configuración de un dispositivo Junos. Una aplicación cliente puede solicitar la configuración completa o partes específicas de la configuración desde el dispositivo. Para solicitar la configuración completa o parcial, una aplicación cliente encierra la <get-configuration> operación en un <rpc> elemento e incluye los elementos de etiqueta secundarios adecuados.
Para obtener información sobre cómo especificar el ámbito de la información de configuración que se va a devolver, consulte los temas siguientes:
-
Solicite la configuración completa mediante el protocolo XML de Junos
-
Solicitar un número específico de objetos de configuración mediante el protocolo XML de Junos
-
Solicitar un único objeto de configuración mediante el protocolo XML de Junos
-
Solicitar subconjuntos de objetos de configuración mediante expresiones regulares
-
Solicitar múltiples elementos de configuración mediante el protocolo XML de Junos