update condition's doc
This commit is contained in:
parent
6d571d8cac
commit
0585ab0b11
7 changed files with 166 additions and 0 deletions
5
doc/condition/README.md
Normal file
5
doc/condition/README.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Les conditions
|
||||||
|
|
||||||
|
- [Déclaration d'une condition](condition.md)
|
||||||
|
- [Les différentes conditions](conditions.md)
|
||||||
|
- [Réfinition](redefine.md)
|
50
doc/condition/condition.md
Normal file
50
doc/condition/condition.md
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
# Les conditions
|
||||||
|
|
||||||
|
Les conditions permettent d'ajouter ou de supprimer des propriétés à une [variable](../variable/README.md), une [famille](../family/README.md), un [fichier](../service/file.md), un [port](../service/port.md) ou une [ip](../service/ip.md) suivant le contexte.
|
||||||
|
|
||||||
|
Nous allons nous concentrer ici sur la condition hidden_if_in, mais [il existe d'autre conditions](conditions.md).
|
||||||
|
|
||||||
|
La condition hidden_if_in permet de cacher une variable où une famille à l'utilisateur, mais cette variable est toujours accessible dans un calcul, un vérification ou dans un template.
|
||||||
|
|
||||||
|
```
|
||||||
|
<variables>
|
||||||
|
<variable name="condition" type="boolean"/>
|
||||||
|
<variable name="my_variable"/>
|
||||||
|
</variables>
|
||||||
|
|
||||||
|
<constraints>
|
||||||
|
<condition name="hidden_if_in" source="condition">
|
||||||
|
<param>True</param>
|
||||||
|
<target>my_variable</target>
|
||||||
|
</condition>
|
||||||
|
</constraints>
|
||||||
|
```
|
||||||
|
|
||||||
|
Le [paramètres](../param/README.md) de la condition permet de définir les valeurs que doit avoir la source pour appliquer l'action.
|
||||||
|
|
||||||
|
La [cible](../target/README.md) de la condition est ici "my_variable".
|
||||||
|
|
||||||
|
Donc ici la variable est caché à l'utilisateur si la variable "condition" est à True (le paramètre).
|
||||||
|
|
||||||
|
Il est également possible de mettre plusieurs paramètre :
|
||||||
|
|
||||||
|
```
|
||||||
|
<variables>
|
||||||
|
<variable name="condition"/>
|
||||||
|
<variable name="my_variable"/>
|
||||||
|
</variables>
|
||||||
|
|
||||||
|
<constraints>
|
||||||
|
<condition name="hidden_if_in" source="condition">
|
||||||
|
<param>yes</param>
|
||||||
|
<param>maybe</param>
|
||||||
|
<target>my_variable</target>
|
||||||
|
</condition>
|
||||||
|
</constraints>
|
||||||
|
```
|
||||||
|
|
||||||
|
FIXME
|
||||||
|
<!ELEMENT condition ((target|param)+)>
|
||||||
|
<!ATTLIST condition fallback (True|False) "False">
|
||||||
|
<!ATTLIST condition force_condition_on_fallback (True|False) "False">
|
||||||
|
<!ATTLIST condition force_inverse_condition_on_fallback (True|False) "False">
|
29
doc/condition/conditions.md
Normal file
29
doc/condition/conditions.md
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# Les conditions
|
||||||
|
|
||||||
|
## Les conditions \_if_in et \_if_not_in
|
||||||
|
|
||||||
|
Il existe deux types de conditions :
|
||||||
|
|
||||||
|
- les conditions dont le nom fini par \_if_in : dans ce cas si la variable source est égal à un des paramètres, l'action est effective
|
||||||
|
- les conditions dont le nom fini par \_if_not_in : dans ce cas si la variable source est différents de tous les paramètres, l'action est effective
|
||||||
|
|
||||||
|
## Désactivation
|
||||||
|
|
||||||
|
Il est possible de désactiver une [variable](../variable/README.md) ou une [famille](../family/README.md) avec les conditions :
|
||||||
|
|
||||||
|
- disabled_if_in
|
||||||
|
- disabled_if_not_in
|
||||||
|
|
||||||
|
## Caché
|
||||||
|
|
||||||
|
Il est possible de cacher une [variable](../variable/README.md), une [famille](../family/README.md), un [fichier](../service/file.md), un [port](../service/port.md) ou une [ip](../service/ip.md) avec les conditions :
|
||||||
|
|
||||||
|
- hidden_if_in
|
||||||
|
- hidden_if_not_in
|
||||||
|
|
||||||
|
## Obligatoire
|
||||||
|
|
||||||
|
Il est possible de rendre obligatoire une [variable](../variable/README.md) avec les conditions :
|
||||||
|
|
||||||
|
- mandatory_if_in
|
||||||
|
- mandatory_if_not_in
|
29
doc/condition/redefine.md
Normal file
29
doc/condition/redefine.md
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# Rédéfinition
|
||||||
|
|
||||||
|
Il se peut que dans un dictionnaire on décide de définir une condition.
|
||||||
|
|
||||||
|
Dans un second dictionnaire il est possible de supprimer cette condition.
|
||||||
|
|
||||||
|
Dans un premier dictionnaire déclarons notre variable et notre calcule :
|
||||||
|
|
||||||
|
```
|
||||||
|
<variables>
|
||||||
|
<variable name="condition" type="boolean"/>
|
||||||
|
<variable name="my_variable"/>
|
||||||
|
</variables>
|
||||||
|
|
||||||
|
<constraints>
|
||||||
|
<condition name="hidden_if_in" source="condition">
|
||||||
|
<param>True</param>
|
||||||
|
<target>my_variable</target>
|
||||||
|
</condition>
|
||||||
|
</constraints>
|
||||||
|
```
|
||||||
|
|
||||||
|
Dans un second dictionnaire supprimer ce calcul :
|
||||||
|
|
||||||
|
```
|
||||||
|
<variables>
|
||||||
|
<variable name="condition" redefine="True" remove_condition="True"/>
|
||||||
|
</variables>
|
||||||
|
```
|
5
doc/target/README.md
Normal file
5
doc/target/README.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# La cible
|
||||||
|
|
||||||
|
- [De type variable)](../target/variable.md)
|
||||||
|
- [De type famille)](../target/family.md)
|
||||||
|
- [De type \*list](../target/list.md)
|
13
doc/target/family.md
Normal file
13
doc/target/family.md
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# Cible de type "variable"
|
||||||
|
|
||||||
|
Une cible peut être de type famille :
|
||||||
|
|
||||||
|
```
|
||||||
|
<target type="family">my_family</target>
|
||||||
|
```
|
||||||
|
|
||||||
|
Mais une target peut être optionnelle. C'est à dire que si la famille n'existe pas, l'action ne sera pas associé à cette famille.
|
||||||
|
|
||||||
|
```
|
||||||
|
<target type="family" optional="True">my_family</target>
|
||||||
|
```
|
35
doc/target/list.md
Normal file
35
doc/target/list.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# Cible de type \*list
|
||||||
|
|
||||||
|
## Les différences cible de type \*.list
|
||||||
|
|
||||||
|
### filelist
|
||||||
|
|
||||||
|
Une cible peut être de type [fichier](../service/file.md) :
|
||||||
|
|
||||||
|
```
|
||||||
|
<target type="filelist">example</target>
|
||||||
|
```
|
||||||
|
|
||||||
|
### portlist
|
||||||
|
|
||||||
|
Une cible peut être de type [port](../service/port.md) :
|
||||||
|
|
||||||
|
```
|
||||||
|
<target type="portlist">example</target>
|
||||||
|
```
|
||||||
|
|
||||||
|
### iplist
|
||||||
|
|
||||||
|
Une cible peut être de type [ip](../service/ip.md) :
|
||||||
|
|
||||||
|
```
|
||||||
|
<target type="iplist">example</target>
|
||||||
|
```
|
||||||
|
|
||||||
|
## La cible optionnelle
|
||||||
|
|
||||||
|
Mais une target peut être optionnelle. C'est à dire que si la \*list n'existe pas, l'action ne sera pas associé.
|
||||||
|
|
||||||
|
```
|
||||||
|
<target type="filelist" optional="True">unknown</target>
|
||||||
|
```
|
Loading…
Reference in a new issue