Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Configuración de una directiva de eventos para pasar argumentos a un script de eventos

Cuando una política de eventos invoca un script de eventos, la política puede pasar argumentos al script. En las secciones siguientes se describe cómo configurar los argumentos de la directiva de eventos y cómo usarlos dentro del script de eventos:

Configuración de argumentos de script de eventos en una directiva de eventos

Los argumentos que una directiva de eventos pasa a una secuencia de comandos de eventos se configuran dentro de la cláusula de la directiva en la then event-script filename arguments jerarquía. Puede configurar cualquier número de argumentos para cada script de evento invocado.

Los argumentos de la secuencia de comandos se incluyen como pares nombre/valor. Los valores de argumento pueden incluir variables que contienen información sobre el evento desencadenante u otros eventos recibidos. La secuencia de comandos de eventos puede hacer referencia a esta información durante la ejecución. Puede utilizar variables de las siguientes formas:

  • {$$.attribute-name}: la notación del signo de dólar doble ($$) representa el evento que desencadena una política. Cuando se combina con un nombre de atributo, la variable se resuelve en el valor del atributo asociado al evento desencadenante. Por ejemplo, {$$.interface-name} se resuelve en el nombre de interfaz asociado al evento desencadenante.

  • {$event.attribute-name}: el signo de un dólar con la notación del nombre del evento ($event) representa el evento más reciente que coincide con event. Cuando se combina con un nombre de atributo, la variable se resuelve en el valor del atributo asociado a ese evento. Por ejemplo, {$COSD_CHAS_SCHED_MAP_INVALID.interface-name} se resuelve en el nombre de interfaz asociado con el evento más reciente COSD_CHAS_SCHED_MAP_INVALID almacenado en caché por el proceso eventd.

Para un evento determinado, puede ver una lista de atributos de evento a los que puede hacer referencia emitiendo el help syslog event comando.

Por ejemplo, en la siguiente salida de comando, el texto entre corchetes angulares (< >) muestra los atributos del COSD_CHASSIS_SCHEDULER_MAP_INVALID evento:

Otra forma de ver una lista de atributos de evento es emitir el comando de modo de configuración en el set attributes-match event? [edit event-options policy policy-name] nivel de jerarquía.

Por ejemplo, en la siguiente salida de comando, la event.attribute lista muestra que error-message y interface-name son atributos del cosd_chassis_scheduler_map_invalid evento:

En este set comando, no hay espacio entre el nombre del evento y el signo de interrogación (?).

Para ver una lista de todos los atributos de evento a los que puede hacer referencia, ejecute el comando de modo de configuración en el set attributes-match ? nivel de [edit event-options policy policy-name] jerarquía.

Usar argumentos en un script de eventos

Cuando una política de eventos invoca un script de eventos, el script de eventos puede hacer referencia a cualquiera de los argumentos pasados por la directiva. Los nombres de los argumentos de la secuencia de comandos de eventos deben coincidir con los nombres de los argumentos configurados para esa secuencia de comandos de eventos en la jerarquía de la [edit event-options policy policy-name then event-scripts filename arguments] configuración.

Para utilizar los argumentos dentro de un script de eventos SLAX o XSLT, debe incluir una declaración de parámetros para cada argumento. La secuencia de comandos de eventos asigna el valor de cada argumento de secuencia de comandos al parámetro correspondiente del mismo nombre, al que se puede hacer referencia en todo el script.

Sintaxis XSLT

Sintaxis de SLAX

Para utilizar los argumentos dentro de un script de eventos de Python, puede utilizar cualquier medio válido en el lenguaje Python. En el ejemplo siguiente se utiliza el módulo Python argparse para procesar los argumentos del script. Se debe incluir una parser.add_argument instrucción para cada argumento pasado al script.

Sintaxis de Python