Parámetros

El ejecutor tiene tres superficies de configuración:

  1. Flags de CLI (esta sección).
  2. Parámetros en tiempo de ejecuciónargs posicionales y params con nombre, pasados después de los flags (esta sección).
  3. La plantilla YAML — tareas, agentes/módulos y transferencia. Referencia completa en Referencia de plantillas.

Flags de CLI

pandora-plugin_exec -t <plantilla.yml> [flags] [args...] [clave=valor...]
Flag Efecto
-t, --template <ruta> Plantilla a ejecutar (obligatorio)
--dry-run Imprime el XML generado por stdout, no transfiere
--strict Aborta en el primer fallo de tarea en lugar de omitir
-v, --verbose Registro de depuración en stderr (resultados de tareas, omisiones, avisos)
--version Imprime la versión y sale
Código de salida Significado
0 Éxito
1 Error de parseo/validación de la plantilla
2 Fallo de tarea bajo --strict
3 Error de transferencia

Los flags van antes de los argumentos: el parseo de flags se detiene en el primer token que no es flag, así que los flags deben preceder a los argumentos (pandora-plugin_exec -t tpl.yml --dry-run sda1, no ... sda1 --dry-run). Un argumento que empieza por guion se rechaza con un error claro en lugar de tratarse silenciosamente como posicional.

Parámetros en tiempo de ejecución

Los tokens que quedan después de los flags alimentan dos variables reservadas, sembradas en el almacén antes de que se ejecute ninguna tarea:

Reglas de parseo:

  1. Cada token se divide por el primer = sin escapar. Un = inmediatamente precedido por \ es un literal escapado y no divide.
  2. El token tiene nombre solo si la clave candidata (tras desescapar \==) coincide con [A-Za-z_][A-Za-z0-9_]*. En caso contrario, todo el token es posicional.

Todo token se clasifica — no hay casos de error. Claves con nombre duplicadas: gana la última. Los valores con aspecto numérico se convierten en números, así que la aritmética funciona con ellos. Las variables de tarea no pueden llamarse args ni params (reservadas); for_each: args sí es válido.

Trampa del escapado en shell: bash consume \= antes de que el ejecutor lo vea. Protege la barra invertida con comillas simples ('query\=a=b') o duplícala (query\\=a=b).

Token Se convierte en
sda1 args[0] = "sda1"
90 args[0] = 90 (número)
host=db01 params.host = "db01"
threshold=90 params.threshold = 90 (número)
conn=user=a;pw=b params.conn = "user=a;pw=b" (solo el primer = divide)
'query\=a=b' posicional "query=a=b" (la clave contendría = — no es un identificador)
=foo posicional "=foo" (clave vacía)
k=1 k=2 params.k = 2 (gana la última)

Parámetros opcionales

Los parámetros en tiempo de ejecución fallan de forma explícita, no silenciosa: referenciar una variable no definida no renderiza una cadena vacía — el módulo se omite con un aviso, para proteger contra erratas. Por tanto, un {{ params.x }} a secas omite el módulo cuando x no se pasó. Para hacer opcional un parámetro, elige un patrón explícito:

Patrón Efecto
{{ params.missing ?? "default" }} Renderiza un valor por defecto cuando falta la clave
when: "'k' in params" Incluye el módulo solo cuando se pasó la clave
{{ len(args) > 1 ? args[1] : "all" }} Protege un acceso posicional según el tamaño

Parámetros aceptados por las plantillas incluidas

Plantilla Parámetro Por defecto Efecto
templates/df_used.yml include Fuerza monitorizar un montaje cuyo fstype está fuera de la lista por defecto (coincidencias exactas de montaje separadas por comas)
templates/df_used.yml exclude Nunca monitoriza un montaje — exclude siempre gana sobre include
templates/pandora_netusage.yml include Monitoriza solo estas interfaces (nombres exactos separados por comas)
templates/pandora_netusage.yml exclude Nunca monitoriza una interfaz — exclude siempre gana sobre include
templates/pandora_mem_used.yml mem_critical 95 Umbral crítico para el porcentaje de Memory_Used
templates/pandora_mem_used.yml swap_critical 95 Umbral crítico para el porcentaje de Swap_Used

Revision #2
Created 19 August 2026 11:03:20 by Rafael Ameijeiras
Updated 19 August 2026 11:10:23 by Rafael Ameijeiras