Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Asignar instrucciones Junos OS de configuración a JSON

Una configuración para un dispositivo que ejecuta Junos OS se almacena como una jerarquía de instrucciones. La jerarquía de instrucciones de configuración tiene dos tipos de instrucciones:

  • container statements— instrucciones que contienen otras instrucciones

  • instrucciones leaf:instrucciones que no contienen otras instrucciones

Todas las instrucciones de contenedor y leaf forman la jerarquía de configuración.

La jerarquía de configuración se puede representar mediante notación de objeto de JavaScript (JSON), además de texto ASCII formatado, elementos XML de Junos y comandos del modo set de configuración. A partir de Junos OS versión 14.2, puede ver la configuración de un dispositivo que ejecuta Junos OS en formato JSON ejecutando el comando en show configuration | display json el CLI. Además, a partir de Junos OS versión 16.1, puede cargar datos de configuración con formato JSON en el dispositivo.

Nota:

A partir de Junos OS versión 16.1, los dispositivos que se ejecutan en Junos OS emiten datos de configuración con formato JSON mediante una nueva implementación predeterminada para la serserialización. Puede configurar explícitamente el nuevo valor predeterminado, o revertir al valor predeterminado ietf anterior, configurando la instrucción adecuada en el nivel de verbose [edit system export-format json] jerarquía. Puede configurar la instrucción a partir de Junos OS versión 16.1R1, aun si la instrucción no se expone en el Junos OS CLI hasta una verbose versión posterior.

Nota:

A partir de Junos OS versiones 16.1R4, 16.2R2 y 17.1R1, los enteros de Junos OS de configuración emitidos en formato JSON no se entrecomillan entre comillas. En versiones anteriores, los enteros de los datos de configuración de JSON se tratan como cadenas y se adjuntan entre comillas.

En las siguientes secciones se describe la asignación entre el texto ASCII formateado y el formato predeterminado usado para Junos OS de configuración en ASCII:

Asignación para niveles de jerarquía e instrucciones de contenedor

La jerarquía de configuración de Junos OS se representa en JSON mediante un objeto JSON con un solo miembro de nivel superior, o un par nombre/valor, que tiene el nombre de campo establecido en y un valor que contiene un objeto JSON que representa toda la "configuration" configuración. El configuration miembro corresponde al nivel de jerarquía en CLI modo de [edit] configuración. La mayoría de las instrucciones en los próximos niveles de la jerarquía de configuración son instrucciones de contenedor.

En JSON, cada Junos OS nivel de jerarquía o instrucción de contenedor es miembro de su objeto primario. El miembro, o par nombre/valor, tiene un nombre de campo correspondiente al nombre de la jerarquía o contenedor. Su valor es un objeto JSON que contiene miembros que representan los contenedores secundarios y las instrucciones leaf en ese nivel jerárquica. El objeto también puede contener un miembro que contiene la lista de atributos, si los hay, asociados con esa jerarquía.

En el siguiente ejemplo, se muestra la asignación entre el texto ASCII formateado y ELR para dos instrucciones en el nivel superior de la jerarquía de configuración:

CLI instrucciones de configuración

Sintaxis de JSON

Asignación para objetos que tengan un identificador

En algunos niveles de jerarquía, el mismo tipo de objeto de configuración puede ocurrir varias veces. Cada instancia del objeto tiene un identificador único para distinguirlo de las otras instancias. En la CLI, la instrucción principal para dicho objeto puede estar compuesta por una palabra clave e identificador o simplemente un identificador.

keyword es una cadena fija que indica el tipo de objeto que se está definindo y es un nombre único identifier para una instancia de ese tipo. En el ejemplo siguiente, user es una palabra clave y es el username identificador.

En JSON, todas las instancias de un objeto de configuración se contienen dentro de un par de nombre/valor único en el que el nombre del campo coincide generalmente con la cadena, y el valor es una matriz de objetos JSON, cada uno de los cuales es una instancia del objeto de keyword configuración. La sintaxis de JSON difiere de la CLI en su tratamiento del identificador. En JSON, cada instancia del objeto de configuración utiliza un par nombre/valor para el identificador, en el que el nombre del campo distingue estos datos como identificador y el valor es el identificador único real del objeto. Con mayor frecuencia, el nombre del campo es solo name . Algunos objetos tienen varios identificadores y pueden usar un nombre de campo distinto de name . Los datos DE JSON que especifican un identificador siempre se enumeran primero dentro del objeto correspondiente, pero después de cualquier lista de atributos incluida para ese objeto.

Nota:

Junos OS reserva el prefijo para los identificadores de los grupos de configuración junos- definidos dentro del junos-defaults grupo de configuración. Los identificadores definidos por el usuario no pueden comenzar con la cadena junos- .

La configuración de la mayoría de los objetos que tienen identificadores incluye instrucciones leaf adicionales, las cuales representan otras características del objeto. Por ejemplo, cada grupo de BGP configurado en el nivel de jerarquía tiene un nombre asociado (el identificador) y puede tener instrucciones leaf para otras características como tipo, número de sistema autónomo par (AS) y dirección de [edit protocols bgp group] vecino. Para obtener más información acerca de la asignación DERR para instrucciones leaf, consulte Asignación de instrucciones leaf de un solo valor y de formato fijo.

En el siguiente ejemplo, se muestra la asignación de texto ASCII formateado a ASCII para instrucciones de configuración que definen dos grupos BGP denominados G1 y G2. En la sintaxis DERR, el valor del miembro es una matriz que contiene un group objeto JSON independiente para cada BGP grupo.

CLI de configuración de red

Sintaxis de JSON

Asignación para instrucciones leaf de valor único y de formato fijo

Una instrucción leaf es una instrucción CLI de configuración que no contiene ninguna otra instrucción. La mayoría de las instrucciones leaf definen un valor para una característica de un objeto de configuración y tienen el siguiente formato:

Junos OS las instrucciones leaf se asignan a pares de nombre y valor en JSON. En general, el nombre del campo es el mismo que la cadena y keyword el valor es el mismo que la value cadena.

En el siguiente ejemplo, se muestra la asignación DERR de dos instrucciones leaf que tienen una palabra clave y un valor: la instrucción en el nivel de jerarquía y la message instrucción en el nivel de [edit system login] preference [edit protocols ospf] jerarquía.

CLI instrucciones de configuración

Sintaxis de JSON

Algunas instrucciones leaf se componen de una palabra clave de formato fijo solo, sin un valor de formato variable asociado. Junos OS representa estas instrucciones en JSON estableciendo el valor en el par nombre/valor en [null] . En el siguiente ejemplo, se muestra la asignación DERR de la disable instrucción en el nivel [edit forwarding-options sampling] jerárquido.

CLI de configuración de red

Sintaxis de JSON

Asignación para instrucciones leaf con varios valores

Algunas Junos OS leaf aceptan varios valores, los cuales se pueden definir por el usuario o extraerse de un conjunto de valores predefinidos. CLI la notación utiliza corchetes para incluir todos los valores en una sola instrucción, como en el ejemplo siguiente:

Como se describe en Asignación para instrucciones leaf de un solo valor y de forma fija,las instrucciones leaf se asignan a pares de nombre y valor en ELR, donde el nombre del campo es el mismo que la keyword cadena. Para representar varios valores, la parte del valor de los datos DESC utiliza una matriz de cadenas separadas por comillas.

En el ejemplo siguiente se muestra la asignación DERR para una instrucción CLI con varios valores definidos por el usuario. La import instrucción importa dos políticas de enrutamiento definidas en otro lugar de la configuración. El texto ASCII formateado utiliza una lista de valores separados por espacio, mientras que los datos ASCII utilizan una matriz con una lista de cadenas separadas por por una coma.

CLI instrucciones de configuración

Sintaxis de JSON

En el siguiente ejemplo, se muestra la asignación DERR de una instrucción CLI con varios valores predefinidos. La permissions instrucción concede tres permisos predefinidos a los miembros de la clase de inicio de user-accounts sesión.

CLI de configuración de red

Sintaxis de JSON

Asignación para varias opciones en una o más líneas

Para algunos Junos OS de configuración, la sintaxis estándar de CLI coloca varias opciones en una sola línea, por lo general, para una mayor concisibilidad y concisa. En la mayoría de los casos, la primera opción identifica el objeto y no tiene una palabra clave, pero las opciones posteriores son palabras clave y valores emparejados.

En JSON, el mismo objeto de configuración se asigna a un par nombre/valor. El nombre del campo es el mismo que el nombre del objeto y el valor es un objeto JSON que contiene las opciones, las cuales se representan por pares nombre/valor. Si la primera opción no tiene palabra clave en la instrucción CLI, la asignación DERR asigna un nombre, el cual es equivalente al nombre de opción definido en el esquema y usado para el nombre de etiqueta XML Junos correspondiente.

En el siguiente ejemplo, se muestra la asignación DERR para una instrucción CLI de configuración con varias opciones en una sola línea. La representación DESR de la instrucción utiliza pares de nombre/valor para ambas opciones y asigna el nombre de campo para la primera opción [edit system backup-router] address (10.0.0.1), la cual no tiene ninguna palabra CLI clave.

CLI de configuración de red

Sintaxis de JSON

La sintaxis de algunos objetos de configuración incluye más de una línea de varias opciones. En EL FORMATOSR, el objeto de configuración se asigna a un par nombre/valor, como en el caso anterior. El nombre del campo es el mismo que el nombre del objeto y el valor es un objeto JSON que contiene las opciones, las cuales se representan por pares nombre/valor. Para cada opción, el nombre del campo es el mismo que el nombre de la opción y el valor es una estructura de datos JSON que representa adecuadamente los datos de configuración de esa opción. Cuando una opción usa la misma palabra clave pero se extiende por varias líneas, la representación DERR combina las opciones en un solo par nombre/valor. En este caso, el valor es una matriz de objetos JSON en la cual cada opción se asigna a un objeto independiente.

En el siguiente ejemplo, se muestra la asignación DERR de la traceoptions instrucción en el nivel [edit protocols isis] jerárquido. La traceoptions instrucción tiene tres instrucciones secundarias, cada una con varias opciones. La CLI notación muestra las opciones individuales en líneas separadas, pero la representación DERR combina los detalles en un solo flag flag par nombre/valor. El valor es una matriz de objetos en la que cada objeto contiene los detalles de un indicador.

CLI de configuración

Sintaxis de JSON

Asignación de atributos

La Junos OS jerarquía de configuración puede contener etiquetas que modifican una jerarquía o instrucción. Por ejemplo, si se emite el comando para desactivar una instrucción en la configuración, la etiqueta se antepone al elemento en la configuración para deactivate inactive: indicar esta propiedad. La API XML de Junos representa esta propiedad como un atributo en la etiqueta opening del elemento XML.

La representación DE JSON de la configuración Junos OS utiliza las notas de metadatos para representar estas propiedades. Las notas de metadatos se codifican como miembros de un único objeto JSON e incluyen el símbolo "@" como o dentro del nombre.

El objeto de metadatos que representa la lista de atributos de una instrucción de contenedor se agrega como un nuevo miembro de ese objeto. El objeto de metadatos se coloca directamente dentro del objeto contenedor que modifica y utiliza un único símbolo "@" como nombre de miembro. El objeto de metadatos que representa la lista de atributos de una instrucción leaf se agrega como un par nombre de hermano/valor que se coloca directamente después de la instrucción que modifica y que tiene un nombre de miembro que es la concatenación del símbolo "@" y el nombre de la instrucción. El valor del objeto de metadatos en ambos casos es un objeto que contiene pares nombre/valor que describen cada uno de los atributos asociados con ese contenedor o instrucción leaf.

En los ejemplos siguientes, se han desactivado tanto la jerarquía como la [edit commit] persist-groups-inheritance instrucción. En el CLI, las instrucciones van precedidas de la inactive: etiqueta. La representación XML de Junos incluye inactive="inactive" el atributo en cada una de las etiquetas de apertura de esos elementos. La asignación DERR almacena los atributos en una lista de atributos. La lista de atributos de [edit commit] la jerarquía se indica con "@", ya que es una instrucción contenedora. La lista de atributos de la instrucción se indica mediante persist-groups-inheritance "@persist-groups-inheritance", ya que es una instrucción leaf.

CLI de configuración de red

Sintaxis XML

Sintaxis de JSON

La lista de atributos de una instancia específica de un objeto es similar a la lista de atributos de un contenedor, ya que es un par nombre/valor en el que el nombre de campo es un único símbolo "@" y el valor es un objeto que contiene pares nombre/valor que describe cada uno de los atributos. La lista de atributos se incluye dentro del objeto JSON que identifica esa instancia y es el primer miembro del objeto, seguido del identificador del objeto.

En el ejemplo siguiente, la interfaz ge-0/0/0 está protegida. En el CLI, el objeto está precedido por la protect: etiqueta. La representación XML de Junos incluye protect="protect" el atributo en la etiqueta de apertura de ese objeto. La asignación DERR almacena el atributo en una lista de atributos "protect" : true que se incluye en el objeto JSON que identifica esa interfaz específica.

CLI de configuración

Sintaxis XML

Sintaxis de JSON

Asignación para comentarios de configuración

Una Junos OS configuración puede incluir comentarios que describen instrucciones en la configuración. Los datos de configuración formateados mediante texto ASCII o elementos XML de Junos muestran comentarios en la línea anterior a la instrucción que el comentario modifica. En el formato XML de Junos, la cadena de comentario se enciela en un <junos:comment> elemento.

Los comentarios se indican mediante uno de dos delimitadores: las cadenas emparejadas y el carácter que contiene el comentario, o el carácter /* */ que precede al # comentario. Puede usar cualquiera de los separadores en la cadena de comentarios cuando inserte comentarios en la configuración. Si omite el delimitador, Junos OS insertará automáticamente /* y */ .

Nota:

Junos OS conserva cualquier espacio en blanco incluido en el comentario.

Junos OS de configuración formateados mediante JSON asigna un comentario a un par nombre/valor que se almacena como un atributo de la instrucción que modifica. El nombre del campo se establece "comment" en y el valor es la cadena de texto del comentario. La cadena de texto del comentario puede incluir cualquiera de los dos delimitadores que indican un comentario. Si omite el delimitador de la cadena de texto del comentario cuando carga los datos de configuración de JSON, Junos OS agrega automáticamente los y /* */ los delimitadores al comentario. También puede crear comentarios de varias líneas en los datos de configuración de JSON insertando el carácter de línea nueva ( \n ) en la cadena de comentarios.

En el siguiente ejemplo, se muestra la configuración ASCII formateada y la sintaxis CORRESPONDIENTE de JSON para tres comentarios. En el ejemplo, se asocia un comentario con una jerarquía, otro con un objeto que tiene un identificador y un tercer comentario con una instrucción leaf.

CLI instrucciones de configuración

Sintaxis de JSON

Tabla del historial de versiones
Lanzamiento
Descripción
16.1R4
A partir de Junos OS versiones 16.1R4, 16.2R2 y 17.1R1, los enteros de Junos OS de configuración emitidos en formato JSON no se entrecomillan entre comillas. En versiones anteriores, los enteros de los datos de configuración de JSON se tratan como cadenas y se adjuntan entre comillas.
16.1
A partir de Junos OS versión 16.1, los dispositivos que se ejecutan en Junos OS emiten datos de configuración con formato JSON mediante una nueva implementación predeterminada para la serserialización.