7.5. Template

I template sono delle stringhe di testo identificate da un nome.

Come opzione di ogni match o target puo' essere specificato un template nella forma #template:<nometemplate>

entables -A DEFAULT -m attributes --attr-priority >10 -j SMTP --smtp_message '#template:message1'

7.5.1. Tag

Caratteristicha dei template e' che possono contenere delle "wildcard" chiamati tag che vengono sostituiti secondo criteri ben definiti.

I tag utilizzabili all'interno dei template sono definiti da dei moduli chamati tagprovider.

Se all'interno di un template si vuole usare un particolare tag bisogna inserire un'istruzione secondo la seguente sintassi:

{{<tagprovider>.<nometag>}}

Warning

Esiste una sintassi deprecata ancora supportata per motivi di retrocompatibilita'.

${tags['<tagprovider>:<nometag>']}

Esempio di template che usa tag:

Allarme dal sito: {{builtin.tenant.name}}
L'elemento {{builtin.element.type}} chiamato {{builtin.node.name}} e' attualmente in stato {{builtin.condition.status}}

viene convertito/espanso cosi':

site Sito
L'elemento node chiamato mason e' attualmente in stato DOWN

7.5.2. Tag di sistema (o builtin)

Per semplificare l'utilizzo dei tag, alcuni tag di sistema possono essere utilizzati con una sintassi abbreviata:

{{builtin.node.name}}    ->   {{node.name}}

Esempio: i due seguenti template sono equivalenti

Allarme dal sito: {{builtin.tenant.name}}
L'elemento {{type}} chiamato {{name}} e' attualmente in stato {{status}}
Allarme dal sito: {{tenant.name}}
L'elemento {{element.type}} chiamato {{node.name}} e' attualmente in stato {{condition.status}}

Note

Solo i tag forniti dai tagprovider standard di Sanet possono sfruttare questa versione abbreviata. Eventuali tagprovider implementati estarnamente dovranno essere utilizzati attraverso la sintassi "lunga".