Reordenar los elementos de los datos de configuración mediante el protocolo XML de Junos
Para la mayoría de los objetos de configuración, el orden en el que se crean el objeto o sus hijos no es significativo, ya que el software de administración de configuración junos OS almacena y muestra los objetos de configuración en posiciones predeterminadas en la jerarquía de configuración. Sin embargo, algunos objetos de configuración ,como las políticas de enrutamiento y los filtros de firewall, constan de elementos que se deben procesar y analizar secuencialmente para producir el comportamiento de enrutamiento deseado. Cuando una aplicación cliente usa el protocolo de administración XML de Junos para agregar un nuevo elemento a un conjunto ordenado, el elemento se anexa a la lista de elementos existente. La aplicación cliente puede reordenar los elementos, si corresponde.
En una sesión de protocolo Junos XML con un dispositivo que ejecuta Junos OS, para cambiar el orden de los elementos de configuración en un conjunto ordenado, una aplicación cliente primero incluye los elementos de etiqueta descritos en Creación, modificación o eliminación de elementos de configuración mediante el protocolo JUnos XML. Si utiliza elementos de etiqueta XML de Junos, la aplicación emite el elemento tag contenedor que representa el conjunto ordenado y encierra el elemento tag para cada identificador del elemento de configuración que se mueve. En los ejemplos siguientes, el elemento tag identificador se denomina <name>
.
Para mover un elemento existente a la primera posición de un conjunto ordenado, la aplicación incluye el atributo en la insert="first"
etiqueta contenedor de apertura para ese elemento.
<configuration> <!-- opening tag for each parent of the set --> <ordered-set insert="first"> <name>identifier-for-moving-object</name> </ordered-set> <!-- closing tag for each parent of the set --> </configuration>
Para mover un elemento existente a una posición relativa a otro elemento, la aplicación incluye el insert="before"
o insert="after"
atributo en la etiqueta contenedor de apertura para indicar la nueva posición del elemento en movimiento en relación con otro elemento de referencia en el conjunto. Para identificar el elemento de referencia, incluye cada uno de los identificadores del elemento de referencia como un atributo en la etiqueta de contenedor de apertura para el conjunto ordenado.
En el ejemplo siguiente, los elementos del conjunto tienen un identificador llamado <name>
:
<configuration> <!-- opening tag for each parent of the set --> <ordered-set insert="(before | after)" name="referent-value"> <name>identifier-for-moving-object</name> </ordered-set> <!-- closing tag for each parent of the set --> </configuration>
En el ejemplo siguiente, cada elemento del conjunto tiene dos identificadores. La etiqueta de apertura aparece en dos líneas solo para legibilidad:
<configuration> <!-- opening tag for each parent of the set --> <ordered-set insert="(before | after)" identifier1="referent-value" identifier2="referent-value"> <identifier1>value-for-moving-object</identifier1> <identifier2>value-for-moving-object</identifier2> </ordered-set> <!-- closing tag for each parent of the set --> </configuration>
El insert
atributo se puede combinar con el inactive
atributo o active
para desactivar o reactivar el elemento de configuración a medida que se reordena. Para obtener más información, consulte Cambiar el estado de activación de un elemento de configuración simultáneamente con otros cambios mediante el protocolo XML de Junos.
Cuando se utilizan comandos del modo de configuración para reordenar elementos, la aplicación especifica el insert
comando que es equivalente al comando del modo de configuración de CLI.
<configuration-set> insert statement-path-to-object identifier-for-moving-object (before | after) referent-value </configuration-set>
El insert="first"
atributo no tiene ningún comando de modo de configuración de CLI equivalente.
La operación de reordenación no está disponible cuando se utiliza texto ASCII o JSON formateado para representar los datos de configuración.
En el siguiente ejemplo, se muestra cómo mover un filtro de firewall llamado older-filter
, definido en el [edit firewall filter]
nivel jerárquico y colocarlo después de otro filtro llamado newer-filter
mediante elementos de etiqueta Junos XML. Esta operación es equivalente al siguiente comando de modo de configuración:
[edit] user@host# insert firewall family inet filter older-filter after filter newer-filter

En el siguiente ejemplo, se muestra cómo mover un filtro de firewall llamado older-filter
, definido en el [edit firewall filter]
nivel jerárquico y colocarlo después de otro filtro llamado newer-filter
mediante comandos de modo de configuración:
<rpc> <load-configuration action="set" format="text"> <configuration-set> insert firewall family inet filter older-filter after filter newer-filter </configuration-set> </load-configuration> </rpc>
En el siguiente ejemplo, se muestra cómo mover un vínculo virtual OSPF definido en el [edit protocols ospf area area]
nivel jerárquico. El vínculo con identificadores neighbor-id 192.168.0.3
y transit-area 10.10.10.1
se mueve antes que el vínculo con identificadores neighbor-id 192.168.0.5
y transit-area 10.10.10.2
. Esta operación es equivalente al siguiente comando de modo de configuración:
[edit protocols ospf area area] user@host# insert virtual-link neighbor-id 192.168.0.3 transit-area 10.10.10.1 before virtual-link neighbor-id 192.168.0.5 transit-area 10.10.10.2
Aplicación de cliente
<rpc> <load-configuration> <configuration> <protocols> <ospf> <area> <name>area</name> <virtual-link insert="before" neighbor-id="192.168.0.5" transit-area="10.10.10.2"> <neighbor-id>192.168.0.3</neighbor-id> <transit-area>10.10.10.1</transit-area> </virtual-link> </area> </ospf> </protocols> </configuration> </load-configuration> </rpc>
Servidor de protocolo XML de Junos
<rpc-reply xmlns:junos="URL"> <load-configuration-results> <load-success/> </load-configuration-results> </rpc-reply>