10.8. Xform predefinite

Le espressioni Xform possono essere complesse e ripetitive.

Sanet permette di assegnare alle espressioni xform degli alias utilizzabili al posto dell'espressione vera e propria.

Esempio di xform per le valie tipologie di nodo:

Interfacce

ifdescr            byRegexpUnique(1.3.6.1.2.1.2.2.1.2@, '^' + $distinguisher + '$')
                   byRegexpUnique(1.3.6.1.2.1.2.2.1.2@, "^" + $distinguisher + "$")

Storage

storagedescr       byRegexpUnique(1.3.6.1.2.1.25.2.3.1.3@, '^' + $distinguisher)

Processi

procdescr          byRegexpUnique(1.3.6.1.2.1.25.4.2.1.2@, '^' + $distinguisher + '$')

procdescrargs      byMultiRegexpUnique( 1.3.6.1.2.1.25.4.2.1@ , '4', 's/' + strsplit($distinguisher,' ')[0], '5', 's/' + strsplit($distinguisher, ' ',1)[1] )

Device

hpsensdescr'       byRegexpUnique(1.3.6.1.4.1.11.2.14.11.1.2.6.1.7@, '^' + $distinguisher + '$')

10.8.1. Definire nuovi alias XForm

Gli alias sono configurabili tramite CLI nella sezione "global-config", quindi sono usabili in tutti i tenant.

Per l'Xform e' possibile specificare un nome che verra' usato al posto dell'espressione, l'espressione princiaple ad esso associata e altre espressioni secondarie che possono essere associate al nome.

Di seguito un esempio di configurazione degli xform:

xform-<tipo>  <name>

    expr        <espressione>
    description <description>

    alias       <espressione alternativa 1>
    alias       <espressione alternativa 2>
    alias       ...
    alias       <espressione alternativa N>

exit

Esempio:

Dove tipo puo' essere "interface", "storage", "service", e "device":

xform-interface ifdescr

    expr "byRegexpUnique(1.3.6.1.2.1.2.2.1.2@, '^'+re_escape($distinguisher)+'$')"

    alias "byRegexpUnique(1.3.6.1.2.1.2.2.1.2@, '^'+$distinguisher+'$')"
    alias "byRegexpUnique(1.3.6.1.2.1.2.2.1.2@, \"^\"+re_escape($distinguisher)+\"$\")"
    alias "byRegexpUnique(1.3.6.1.2.1.2.2.1.2@, \"^\"+$distinguisher+\"$\")"
exit


xform-service procdescrargs
    expr "byMultiRegexpUnique( 1.3.6.1.2.1.25.4.2.1@ , '4', 's/'+re_escape(strsplit($distinguisher,' ')[0]), '5', 's/'+re_escape(strsplit($distinguisher, ' ',1)[1]) ) "
exit

Documentazione per creazione alias xform: Xform