add regexFilter and docs

This commit is contained in:
Bastian Schroll 2019-10-26 13:41:17 +02:00
parent a92dd8d94c
commit 61e085d555
No known key found for this signature in database
GPG key ID: 0AE96912A20E9F5F
8 changed files with 144 additions and 5 deletions

View file

@ -2,7 +2,7 @@
---
## Beschreibung
Mit diesem Modul ist es Möglich, die Pakete auf bestimmte Modes (FMS, POCSAG, ZVEI) zu Filtern. Je nach Konfiguration werden Pakete eines bestimmten Modes im aktuellen Router weitergeleitet oder verworfen.
Mit diesem Modul ist es möglich, die Pakete auf bestimmte Modes (FMS, POCSAG, ZVEI) zu Filtern. Je nach Konfiguration werden Pakete eines bestimmten Modes im aktuellen Router weitergeleitet oder verworfen.
## Resource
`filter.modeFilter`

View file

@ -0,0 +1,70 @@
# <center>Regex Filter</center>
---
## Beschreibung
Mit diesem Modul ist es möglich, komplexe Filter basierend auf Regulären Ausdrücken (Regex) anzulegen.
Für einen Filter können beliebig viele Checks angelegt werden, welche Felder eines BOSWatch Pakets mittels Regex prüfen.
Folgendes gilt:
- Die Filter werden nacheinander abgearbeitet
- Innerhalb des Filters werden die Checks nacheinander abgearbeitet
- Sobald ein einzelner Check fehlschlägt ist der ganze Filter fehlgeschlagen
- Sobald ein Filter mit all seinen Checks besteht, wird mit der Ausführung des Routers fortgefahren
- Sollten alle Filter fehlschlagen wird die Ausführung des Routers beendet
## Resource
`filter.regexFilter`
## Konfiguration
|Feld|Beschreibung|Default|
|----|------------|-------|
|filter|Enthält eine Liste der einzelnen Filter||
#### `filter:`
|Feld|Beschreibung|Default|
|----|------------|-------|
|name|Beliebiger Name des Filters||
|checks|Liste der einzelnen Checks innerhalb des Filters||
#### `checks:`
|Feld|Beschreibung|Default|
|----|------------|-------|
|field|Name des Feldes innerhalb des BOSWatch Pakets welches untersucht werden soll||
|regex|Regulärer Ausdruck (Bei Sonderzeichen " " verwenden)||
**Beispiel:**
```yaml
- type: module
res: filter.regexFilter
config:
filter:
- name: "Zvei filter"
checks:
- field: zvei
regex: "65[0-9]{3}" # all zvei with starting 65
- name: "FMS Stat 3"
checks:
- field: mode
regex: "fms" # check if mode is fms
- field: status
regex: "3" # check if status is 3
```
---
## Abhängigkeiten
- keine
---
## Paket Modifikationen
- keine
---
## Zusätzliche Wildcards
- keine