Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Plantilla requerida para scripts de eventos

RESUMEN Defina la plantilla para los scripts de eventos.

Los scripts de eventos de Junos OS se pueden escribir en transformaciones de lenguaje de hoja de estilos extensible (XSLT), Stylesheet Language Alternative syntaX (SLAX) o Python. Los scripts de eventos deben incluir la plantilla necesaria para ese lenguaje de script, tanto para la funcionalidad básica de scripts, como para cualquier funcionalidad opcional utilizada en el script, como las funciones de extensión de Junos OS y las plantillas con nombre. En este tema se proporciona un modelo repetitivo estándar que se puede usar en scripts de eventos XSLT, SLAX y Python.

Los scripts de eventos SLAX y XSLT se basan en elementos de etiqueta de protocolo Junos XML y Junos XML. Al igual que todos los elementos XML, los corchetes angulares encierran el nombre de un elemento de etiqueta de protocolo Junos XML o Junos XML en sus etiquetas de apertura y cierre. Se trata de una convención XML y los corchetes son una parte obligatoria del nombre completo del elemento de etiqueta. No deben confundirse con los corchetes angulares utilizados en la documentación para indicar partes opcionales de las cadenas de comandos de la CLI de Junos OS.

Plantilla XSLT para scripts de eventos

La plantilla de script de eventos XSLT es la siguiente:

La línea 1 es la instrucción de procesamiento (PI) del lenguaje de marcado extensible (XML). Este PI especifica que el código se escribe en XML utilizando la versión 1.0. El IP XML, si está presente, debe ser el primer token sin comentarios en el archivo de script.

La línea 2 abre la hoja de estilos y especifica la versión XSLT como 1.0.

En las líneas 3 a 6 se enumeran todas las asignaciones de espacio de nombres que se usan habitualmente en los scripts de eventos. No todos estos prefijos se usan en este ejemplo, pero no es un error enumerar asignaciones de espacio de nombres a las que no se hace referencia. Enumerar todas las asignaciones de espacio de nombres evita errores si las asignaciones se usan en versiones posteriores del script.

La línea 7 es una instrucción de importación XSLT. Carga las plantillas y variables del archivo al que se hace referencia como .. /import/junos.xsl, que se incluye como parte de Junos OS (en el archivo /usr/libdata/cscript/import/junos.xsl). El archivo junos.xsl contiene un conjunto de plantillas con nombre a las que puede llamar en los scripts. Estas plantillas con nombre se describen en Descripción de las plantillas con nombre en scripts de automatización de Junos OS.

La línea 8 define una plantilla que coincide con el </> elemento. El <xsl:template match="/"> elemento es el elemento raíz y representa el nivel superior de la jerarquía XML. Todas las expresiones XPath del script deben comenzar en el nivel superior. Esto permite que la secuencia de comandos acceda a todas las posibles llamadas a procedimiento remoto (RPC) de protocolo Junos XML y Junos XML. Para obtener más información, vea Información general sobre XPath.

Después del elemento tag <xsl:template match="/"> , las <event-script-results> etiquetas contenedor y </event-script-results> deben ser las etiquetas secundarias de nivel superior, como se muestra en las líneas 9 y 10.

La línea 11 cierra la plantilla.

Entre la línea 11 y la línea 12, puede definir plantillas XSLT adicionales a las que se llama desde dentro de la <xsl:template match="/"> plantilla.

La línea 12 cierra la hoja de estilos y el script del evento.

Plantilla SLAX para guiones de eventos

La plantilla de script op de SLAX es la siguiente:

Python Boilerplate para scripts de eventos

Los scripts de eventos de Python no tienen una plantilla requerida, pero deben importar cualquier objeto que se use en el script. Los scripts de eventos de Python pueden importar lo siguiente:

  • Junos_Context diccionario: contiene información sobre el entorno de ejecución de scripts.

  • Junos_Trigger_Event y Junos_Received_Events objetos: contienen detalles sobre los eventos que desencadenaron la directiva de eventos correspondiente.

  • Junos_Remote_Execution_Details: función generadora necesaria para acceder a los detalles de ejecución remota configurados para un script de eventos en el nivel jerárquico [edit event-options event-script file filename remote-execution] .

  • jcs Biblioteca: permite que la secuencia de comandos utilice las funciones de extensión de Junos OS y la funcionalidad de plantilla con nombre de Junos OS en la secuencia de comandos.

  • jnpr.junos módulo y clases: permite que el script utilice Junos PyEZ.

Por ejemplo:

Los scripts de automatización de Python no necesitan incluir una línea de directiva de intérprete (#!/usr/bin/env python) al principio del script. Sin embargo, el programa seguirá ejecutándose correctamente si hay uno presente.