better markdown display

This commit is contained in:
egarette@silique.fr 2022-11-03 22:17:43 +01:00
parent 61cbde95d0
commit 854bc6a013
27 changed files with 246 additions and 237 deletions

View file

@ -6,7 +6,7 @@ Une fonction de vérification est une fonction complémentaire au type qui perme
Voici un exemple simple de validation des valeurs : Voici un exemple simple de validation des valeurs :
``` ```xml
<variables> <variables>
<variable name="my_variable"/> <variable name="my_variable"/>
</variables> </variables>
@ -19,7 +19,7 @@ Voici un exemple simple de validation des valeurs :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_variable name: my_variable
@ -37,7 +37,7 @@ Dans cette exemple, la valeur de la variable "my_variable" va être validé par
Voici le contenu de la fonction : Voici le contenu de la fonction :
``` ```python
def islower(value): def islower(value):
if value is None: if value is None:
return return
@ -58,7 +58,7 @@ Il est possible de définir des [paramètres](../param/README.md) à cette fonct
Dans la contrainte, il est possible de spécifier le niveau d'erreur et le mettre en avertissement : Dans la contrainte, il est possible de spécifier le niveau d'erreur et le mettre en avertissement :
``` ```xml
<check name="islower" level="warning"> <check name="islower" level="warning">
<target>my_variable</target> <target>my_variable</target>
</check> </check>
@ -66,7 +66,7 @@ Dans la contrainte, il est possible de spécifier le niveau d'erreur et le mettr
En YAML : En YAML :
``` ```yml
- check: - check:
- name: islower - name: islower
level: warning level: warning

View file

@ -4,7 +4,7 @@
Dans un premier dictionnaire déclarons notre variable et sa fonction de vérification : Dans un premier dictionnaire déclarons notre variable et sa fonction de vérification :
``` ```xml
<variables> <variables>
<variable name="my_variable"/> <variable name="my_variable"/>
</variables> </variables>
@ -17,7 +17,7 @@ Dans un premier dictionnaire déclarons notre variable et sa fonction de vérifi
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_variable name: my_variable
@ -30,7 +30,7 @@ constraints:
Dans un second dictionnaire il est possible de redéfinir le calcul : Dans un second dictionnaire il est possible de redéfinir le calcul :
``` ```xml
<variables> <variables>
<variable name="my_variable" redefine="True"/> <variable name="my_variable" redefine="True"/>
</variables> </variables>
@ -43,7 +43,7 @@ Dans un second dictionnaire il est possible de redéfinir le calcul :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_variable name: my_variable
@ -65,7 +65,7 @@ Dans un second dictionnaire il est possible de supprimer cette vérification.
Dans un premier dictionnaire déclarons notre variable et notre fonction de vérification : Dans un premier dictionnaire déclarons notre variable et notre fonction de vérification :
``` ```xml
<variables> <variables>
<variable name="my_variable"/> <variable name="my_variable"/>
</variables> </variables>
@ -78,7 +78,7 @@ Dans un premier dictionnaire déclarons notre variable et notre fonction de vér
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_variable name: my_variable
@ -91,7 +91,7 @@ constraints:
Dans un second dictionnaire supprimer cette vérification : Dans un second dictionnaire supprimer cette vérification :
``` ```xml
<variables> <variables>
<variable name="my_variable" redefine="True" remove_check="True"/> <variable name="my_variable" redefine="True" remove_check="True"/>
</variables> </variables>
@ -99,7 +99,7 @@ Dans un second dictionnaire supprimer cette vérification :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_variable name: my_variable

View file

@ -8,7 +8,7 @@ Nous allons nous concentrer ici sur la condition hidden_if_in, mais [il existe d
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. 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.
``` ```xml
<variables> <variables>
<variable name="condition" type="boolean"/> <variable name="condition" type="boolean"/>
<variable name="my_variable"/> <variable name="my_variable"/>
@ -24,7 +24,7 @@ La condition hidden_if_in permet de cacher une variable où une famille à l'uti
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: condition name: condition
@ -51,7 +51,7 @@ Donc ici la variable est caché à l'utilisateur si la variable "condition" est
Il est également possible de mettre plusieurs paramètre : Il est également possible de mettre plusieurs paramètre :
``` ```xml
<variables> <variables>
<variable name="condition"/> <variable name="condition"/>
<variable name="my_variable"/> <variable name="my_variable"/>
@ -68,7 +68,7 @@ Il est également possible de mettre plusieurs paramètre :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: condition name: condition
@ -105,7 +105,7 @@ Ces deux comportements peuvent être changé à tout moment avec l'attribut "app
Exemple : Exemple :
``` ```xml
<condition name="hidden_if_in" source="condition" optional="True", apply_on_fallback="False"> <condition name="hidden_if_in" source="condition" optional="True", apply_on_fallback="False">
<param>yes</param> <param>yes</param>
<param>maybe</param> <param>maybe</param>
@ -115,7 +115,7 @@ Exemple :
En YAML : En YAML :
``` ```yml
- condition: - condition:
- name: hidden_if_in - name: hidden_if_in
source: condition source: condition

View file

@ -6,7 +6,7 @@ Dans un second dictionnaire il est possible de supprimer cette condition.
Dans un premier dictionnaire déclarons notre variable et notre calcule : Dans un premier dictionnaire déclarons notre variable et notre calcule :
``` ```xml
<variables> <variables>
<variable name="condition" type="boolean"/> <variable name="condition" type="boolean"/>
<variable name="my_variable"/> <variable name="my_variable"/>
@ -22,7 +22,7 @@ Dans un premier dictionnaire déclarons notre variable et notre calcule :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: condition name: condition
@ -41,7 +41,7 @@ constraints:
Dans un second dictionnaire supprimer ce calcul : Dans un second dictionnaire supprimer ce calcul :
``` ```xml
<variables> <variables>
<variable name="condition" redefine="True" remove_condition="True"/> <variable name="condition" redefine="True" remove_condition="True"/>
</variables> </variables>
@ -49,7 +49,7 @@ Dans un second dictionnaire supprimer ce calcul :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: condition name: condition

View file

@ -10,7 +10,7 @@ Commençons par créer un dictionnaire simple.
Voici un premier dictionnaire /srv/rougail/dictionaries/00-base.xml : Voici un premier dictionnaire /srv/rougail/dictionaries/00-base.xml :
``` ```xml
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<rougail> <rougail>
<variables> <variables>
@ -36,7 +36,7 @@ Un nouveau fichier 'example.py' va être créé dans le répertoire local
En plus du dictionnaire précédent, créons un dictionnaire extra /srv/rougail/extra_dictionaries/00-base.xml En plus du dictionnaire précédent, créons un dictionnaire extra /srv/rougail/extra_dictionaries/00-base.xml
``` ```xml
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<rougail> <rougail>
<variables> <variables>
@ -62,7 +62,7 @@ rougail.save('example.py')
Nous créons un dictionnaire complémentaire pour ajouter notre template /srv/rougail/dictionaries/00-template.xml : Nous créons un dictionnaire complémentaire pour ajouter notre template /srv/rougail/dictionaries/00-template.xml :
``` ```xml
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<rougail> <rougail>
<services> <services>
@ -130,7 +130,7 @@ Il peut être intéressant de réaliser un patch à un template pour corriger un
Testons en créant le patch /srv/rougail/patches/example.conf.patch : Testons en créant le patch /srv/rougail/patches/example.conf.patch :
``` ```patch
--- /srv/rougail/templates/example.conf 2021-02-13 19:41:38.677491087 +0100 --- /srv/rougail/templates/example.conf 2021-02-13 19:41:38.677491087 +0100
+++ tmp/example.conf 2021-02-13 20:12:55.525089820 +0100 +++ tmp/example.conf 2021-02-13 20:12:55.525089820 +0100
@@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
@ -160,7 +160,7 @@ Deux choses importantes à savoir sur les patchs :
Nous créons un dictionnaire complémentaire pour ajouter un calcul à la variable "my_variable" dans /srv/rougail/dictionaries/00-fill.xml : Nous créons un dictionnaire complémentaire pour ajouter un calcul à la variable "my_variable" dans /srv/rougail/dictionaries/00-fill.xml :
``` ```xml
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<rougail> <rougail>
<constraints> <constraints>

View file

@ -38,7 +38,7 @@ Les familles et variables de ces dictionnaires sont classés, par défaut, dans
Par exemple pour ajouter l'extra "example" il faut faire : Par exemple pour ajouter l'extra "example" il faut faire :
``` ```python
RougailConfig['extra_dictionaries']['example'] = ['/dir1', '/dir2'] RougailConfig['extra_dictionaries']['example'] = ['/dir1', '/dir2']
``` ```

View file

@ -5,7 +5,7 @@ Le nom et la description de la famille et des variables qu'elle contient sera en
Par exemple : Par exemple :
``` ```xml
<variable name='varname' multi="True"> <variable name='varname' multi="True">
<value>val1</value> <value>val1</value>
<value>val2</value> <value>val2</value>
@ -17,7 +17,7 @@ Par exemple :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: variable name: variable

View file

@ -33,7 +33,7 @@ Les variables meneuses et suiveuses doivent dans une famille de type "leadership
Voici un exemple de définition d'une variable meneuse et de deux variables meneuses : Voici un exemple de définition d'une variable meneuse et de deux variables meneuses :
``` ```xml
<variables> <variables>
<family name="family" leadership='True'> <family name="family" leadership='True'>
<variable name="leader" multi='True'/> <variable name="leader" multi='True'/>
@ -45,7 +45,7 @@ Voici un exemple de définition d'une variable meneuse et de deux variables mene
En YAML : En YAML :
``` ```yml
variables: variables:
- family: - family:
name: family name: family
@ -65,7 +65,7 @@ variables:
Pour ajouter, dans un nouveau dictionnaire, une variable suiveuse à notre groupe, rien de plus simple, il suffit définir une ou des nouvelles variables dans la famille : Pour ajouter, dans un nouveau dictionnaire, une variable suiveuse à notre groupe, rien de plus simple, il suffit définir une ou des nouvelles variables dans la famille :
``` ```xml
<variables> <variables>
<family name="family"> <family name="family">
<variable name="follower3"/> <variable name="follower3"/>
@ -75,7 +75,7 @@ Pour ajouter, dans un nouveau dictionnaire, une variable suiveuse à notre group
En YAML : En YAML :
``` ```yml
variables: variables:
- family: - family:
name: family name: family

View file

@ -4,20 +4,20 @@ Une famille est un conteneur de variables. Elle peut contenir également des fam
Pour décrire une famille il faut mettre au minimum un nom : Pour décrire une famille il faut mettre au minimum un nom :
``` ```xml
<family name="my_family"/> <family name="my_family"/>
``` ```
En YAML : En YAML :
``` ```yml
- family: - family:
name: my_family name: my_family
``` ```
Cette famille doit être placé dans une balise [variables](../variables.md) : Cette famille doit être placé dans une balise [variables](../variables.md) :
``` ```xml
<variables> <variables>
<family name="my_family"/> <family name="my_family"/>
</variables> </variables>
@ -25,7 +25,7 @@ Cette famille doit être placé dans une balise [variables](../variables.md) :
En YAML : En YAML :
``` ```yml
variables: variables:
- family: - family:
name: my_family name: my_family
@ -33,7 +33,7 @@ variables:
Ou dans une autre famille : Ou dans une autre famille :
``` ```xml
<variables> <variables>
<family name="my_family"> <family name="my_family">
<family name="second_family"/> <family name="second_family"/>
@ -43,7 +43,7 @@ Ou dans une autre famille :
En YAML : En YAML :
``` ```yml
variables: variables:
- family: - family:
name: my_family name: my_family
@ -58,13 +58,13 @@ Attention, une famille vide sera automatiquement supprimée.
En plus d'un nom, il est possible de mettre une "description" à la famille. C'est une information "utilisateur" qui nous permettra d'avoir des informations complémentaires sur le contenu de cette famille : En plus d'un nom, il est possible de mettre une "description" à la famille. C'est une information "utilisateur" qui nous permettra d'avoir des informations complémentaires sur le contenu de cette famille :
``` ```xml
<family name="my_family" description="This is a great family"/> <family name="my_family" description="This is a great family"/>
``` ```
En YAML : En YAML :
``` ```yml
variables: variables:
- family: - family:
name: my_family name: my_family
@ -73,13 +73,13 @@ variables:
En plus de la description, il est possible de préciser une aide complémentaire : En plus de la description, il est possible de préciser une aide complémentaire :
``` ```xml
<family name="my_family" help="This is a great family"/> <family name="my_family" help="This is a great family"/>
``` ```
En YAML : En YAML :
``` ```yml
variables: variables:
- family: - family:
name: my_family name: my_family
@ -94,13 +94,13 @@ Changer le [mode](../mode.md) d'une famille permet de définir le [mode](../mode
Pour définir le [mode](../mode.md) : Pour définir le [mode](../mode.md) :
``` ```xml
<family name="my_family" mode="expert"/> <family name="my_family" mode="expert"/>
``` ```
En YAML : En YAML :
``` ```yml
- family: - family:
name: my_family name: my_family
mode: expert mode: expert
@ -115,13 +115,13 @@ Par contre ces variables sont accessibles lorsqu'on va utiliser ces variables.
Pour cacher une famille : Pour cacher une famille :
``` ```xml
<family name="my_family" hidden="True"/> <family name="my_family" hidden="True"/>
``` ```
En YAML : En YAML :
``` ```yml
- family: - family:
name: my_family name: my_family
hidden: true hidden: true

View file

@ -4,7 +4,7 @@
Créeons deux variables multiples, une pour accueillir la liste des éléments du nom variable (ici `zones_list`), la seconde étant le nom du fichier calculé (ici `netwokd_configurations`) : Créeons deux variables multiples, une pour accueillir la liste des éléments du nom variable (ici `zones_list`), la seconde étant le nom du fichier calculé (ici `netwokd_configurations`) :
``` ```xml
<variables> <variables>
<variable name="zones_list" type="string" multi="True"> <variable name="zones_list" type="string" multi="True">
<value>zone1</value> <value>zone1</value>
@ -17,7 +17,7 @@ Créeons deux variables multiples, une pour accueillir la liste des éléments d
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: zones_list name: zones_list
@ -36,7 +36,7 @@ variables:
Calculons la valeur de la seconde variable à partir de la première : Calculons la valeur de la seconde variable à partir de la première :
``` ```xml
<constraints> <constraints>
<fill name="calc_value"> <fill name="calc_value">
<param>/systemd/network/10-</param> <param>/systemd/network/10-</param>
@ -51,7 +51,7 @@ Calculons la valeur de la seconde variable à partir de la première :
En YAML : En YAML :
``` ```yml
constraints: constraints:
- fill: - fill:
- name: calc_value - name: calc_value
@ -76,7 +76,7 @@ Le contenu de la variable `netwokd_configurations` sera alors :
Enfin déclarer une balise file en utilisant ces deux variables : Enfin déclarer une balise file en utilisant ces deux variables :
``` ```xml
<services> <services>
<service name="systemd-networkd"> <service name="systemd-networkd">
<file file_type="variable" source="network" variable="zones_list">netwokd_configurations</file> <file file_type="variable" source="network" variable="zones_list">netwokd_configurations</file>
@ -86,7 +86,7 @@ Enfin déclarer une balise file en utilisant ces deux variables :
En YAML : En YAML :
``` ```yml
services: services:
- service: - service:
- name: systemd-networkd - name: systemd-networkd

View file

@ -4,7 +4,7 @@
Dans un premier dictionnaire déclarons notre variable et notre calcule : Dans un premier dictionnaire déclarons notre variable et notre calcule :
``` ```xml
<variables> <variables>
<variable name="my_calculated_variable"/> <variable name="my_calculated_variable"/>
</variables> </variables>
@ -17,7 +17,7 @@ Dans un premier dictionnaire déclarons notre variable et notre calcule :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_calculated_variable name: my_calculated_variable
@ -30,7 +30,7 @@ constraints:
Dans un second dictionnaire il est possible de redéfinir le calcul : Dans un second dictionnaire il est possible de redéfinir le calcul :
``` ```xml
<variables> <variables>
<variable name="my_calculated_variable" redefine="True"/> <variable name="my_calculated_variable" redefine="True"/>
</variables> </variables>
@ -43,7 +43,7 @@ Dans un second dictionnaire il est possible de redéfinir le calcul :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_calculated_variable name: my_calculated_variable
@ -65,7 +65,7 @@ Dans un second dictionnaire il est possible de supprimer ce calcul.
Dans un premier dictionnaire déclarons notre variable et notre calcule : Dans un premier dictionnaire déclarons notre variable et notre calcule :
``` ```xml
<variables> <variables>
<variable name="my_calculated_variable"/> <variable name="my_calculated_variable"/>
</variables> </variables>
@ -78,7 +78,7 @@ Dans un premier dictionnaire déclarons notre variable et notre calcule :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_calculated_variable name: my_calculated_variable
@ -91,7 +91,7 @@ constraints:
Dans un second dictionnaire supprimer ce calcul : Dans un second dictionnaire supprimer ce calcul :
``` ```xml
<variables> <variables>
<variable name="my_calculated_variable" redefine="True" remove_fill="True"/> <variable name="my_calculated_variable" redefine="True" remove_fill="True"/>
</variables> </variables>
@ -99,7 +99,7 @@ Dans un second dictionnaire supprimer ce calcul :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_calculated_variable name: my_calculated_variable

View file

@ -4,7 +4,7 @@
Créons une variable dont la valeur est retournée par la fonction "return_no" : Créons une variable dont la valeur est retournée par la fonction "return_no" :
``` ```xml
<variables> <variables>
<variable name="my_calculated_variable"/> <variable name="my_calculated_variable"/>
</variables> </variables>
@ -17,7 +17,7 @@ Créons une variable dont la valeur est retournée par la fonction "return_no" :
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_calculated_variable name: my_calculated_variable
@ -30,7 +30,7 @@ constraints:
Puis créons la fonction "return_no" : Puis créons la fonction "return_no" :
``` ```python
def return_no(): def return_no():
return 'no' return 'no'
``` ```
@ -41,7 +41,7 @@ Dans ce cas, la valeur par défaut est la valeur retournée par la fonction (ici
Attention, si une valeur par défaut est définit dans la variable "my_calculated_variable" : Attention, si une valeur par défaut est définit dans la variable "my_calculated_variable" :
``` ```xml
<variable name="my_calculated_variable"> <variable name="my_calculated_variable">
<value>yes</value> <value>yes</value>
</variable> </variable>
@ -49,7 +49,7 @@ Attention, si une valeur par défaut est définit dans la variable "my_calculate
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_calculated_variable name: my_calculated_variable
@ -65,13 +65,13 @@ Il est possible de définir des [paramètres](../param/README.md) à cette fonct
En ajoutant le paramètre "hidden" à "True" dans la variable précédente, l'utilisateur n'aura plus la possibilité de modifié la valeur. La valeur de la variable sera donc systématiquement calculée : En ajoutant le paramètre "hidden" à "True" dans la variable précédente, l'utilisateur n'aura plus la possibilité de modifié la valeur. La valeur de la variable sera donc systématiquement calculée :
``` ```xml
<variable name="my_calculated_variable" hidden="True"/> <variable name="my_calculated_variable" hidden="True"/>
``` ```
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_calculated_variable name: my_calculated_variable
@ -90,7 +90,7 @@ Si la variable n'est pas multiple, il ne faut pas que le calcule retourne une li
Il est également possible de calculer [une variable d'une famille dynamique](../family/auto.md) à partir d'une variable standard : Il est également possible de calculer [une variable d'une famille dynamique](../family/auto.md) à partir d'une variable standard :
``` ```xml
<variables> <variables>
<variable name='suffixes' type='string' description="Suffixes of dynamic family" multi="True"> <variable name='suffixes' type='string' description="Suffixes of dynamic family" multi="True">
<value>val1</value> <value>val1</value>
@ -115,7 +115,7 @@ Il est également possible de calculer [une variable d'une famille dynamique](..
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: suffixes name: suffixes
@ -159,7 +159,7 @@ Si c'est ce que vous cherchez à faire, il faudra prévoir un traitement particu
Dans ce cas, il faut explicitement demander la valeur du suffix dans la fonction : Dans ce cas, il faut explicitement demander la valeur du suffix dans la fonction :
``` ```xml
<constraints> <constraints>
<fill name="return_value_suffix"> <fill name="return_value_suffix">
<param type="variable">my_variable</param> <param type="variable">my_variable</param>
@ -171,7 +171,7 @@ Dans ce cas, il faut explicitement demander la valeur du suffix dans la fonction
En YAML : En YAML :
``` ```yml
constraints: constraints:
- fill: - fill:
- name: return_value_suffix - name: return_value_suffix
@ -185,7 +185,7 @@ constraints:
Et ainsi faire un traitement spécifique pour ce suffix : Et ainsi faire un traitement spécifique pour ce suffix :
``` ```python
def return_value_suffix(value, suffix): def return_value_suffix(value, suffix):
if suffix == 'val1': if suffix == 'val1':
return value return value

View file

@ -4,13 +4,13 @@
Le paramètre peut être la valeur est issue d'une information de la configuration : Le paramètre peut être la valeur est issue d'une information de la configuration :
``` ```xml
<param type="information">server_name</param> <param type="information">server_name</param>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: information - type: information
text: server_name text: server_name
@ -23,14 +23,14 @@ Si l'information n'existe pas, la paramètre aura la valeur "None".
Le paramètre peut être la valeur est issue d'une information de la cible du calcul : Le paramètre peut être la valeur est issue d'une information de la cible du calcul :
``` ```xml
<param type="target_information">test</param> <param type="target_information">test</param>
<param type="target_information">help</param> <param type="target_information">help</param>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: target_information - type: target_information
text: test text: test

View file

@ -2,20 +2,20 @@
Déclarons un paramètre positionnel : Déclarons un paramètre positionnel :
``` ```xml
<param>no</param> <param>no</param>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- text: no - text: no
``` ```
Créons la fonction correspondante : Créons la fonction correspondante :
``` ```python
def return_value(value): def return_value(value):
return value return value
``` ```
@ -26,13 +26,13 @@ La variable "value" de la fonction "return_value" aura donc "no" comme valeur pu
Déclarons maintenant un paramètre nommée : Déclarons maintenant un paramètre nommée :
``` ```xml
<param name="valeur">no</param> <param name="valeur">no</param>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- name: valeur - name: valeur
text: no text: no

View file

@ -2,13 +2,13 @@
Déclarons un paramètre avec une string : Déclarons un paramètre avec une string :
``` ```xml
<param type="string">no</param> <param type="string">no</param>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: string - type: string
text: no text: no
@ -20,13 +20,13 @@ C'est le type par défaut pour un paramètre.
Déclarons un paramètre avec un nombre : Déclarons un paramètre avec un nombre :
``` ```xml
<param type="number">1</param> <param type="number">1</param>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: number - type: number
text: '1' text: '1'
@ -34,7 +34,7 @@ param:
Créons la fonction correspondante : Créons la fonction correspondante :
``` ```python
def return_value_with_number(value): def return_value_with_number(value):
if value == 1: if value == 1:
return 'no' return 'no'
@ -47,13 +47,13 @@ La variable aura donc "no" comme valeur puisque le paramètre aura la valeur fix
Déclarons un paramètre avec un booléen : Déclarons un paramètre avec un booléen :
``` ```xml
<param type="boolean">True</param> <param type="boolean">True</param>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: boolean - type: boolean
text: true text: true
@ -63,13 +63,13 @@ param:
Le paramètre peut être une valeur null (None en python) : Le paramètre peut être une valeur null (None en python) :
``` ```xml
<param type="nil"/> <param type="nil"/>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: nil - type: nil
``` ```
@ -78,13 +78,13 @@ param:
Les paramètres sont chargés en supprimer les espaces en début ou fin de chaîne. Ce qui rend impossible d'avoir un paramètre " ". Avec le type "space", le paramètre sera donc un simple espace : Les paramètres sont chargés en supprimer les espaces en début ou fin de chaîne. Ce qui rend impossible d'avoir un paramètre " ". Avec le type "space", le paramètre sera donc un simple espace :
``` ```xml
<param type="space"/> <param type="space"/>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: space - type: space
``` ```

View file

@ -2,13 +2,13 @@
Imaginons que la variable "my_variable" pré-existe. La valeur de la variable sera utilisé comme paramètre : Imaginons que la variable "my_variable" pré-existe. La valeur de la variable sera utilisé comme paramètre :
``` ```xml
<param type="variable">my_variable</param> <param type="variable">my_variable</param>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: variable - type: variable
text: my_variable text: my_variable
@ -22,13 +22,13 @@ Suivant le contexte une variable peut exister ou ne pas exister.
Un paramètre de type "variable" peut être "optional" : Un paramètre de type "variable" peut être "optional" :
``` ```xml
<param type="variable" optional="True">unknow_variable</param> <param type="variable" optional="True">unknow_variable</param>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: variable - type: variable
optional: true optional: true
@ -45,13 +45,13 @@ Si une variable est désactivé, l'utilisation de cette variable peut poser prob
Il est possible de ne pas générer d'erreur si une variable est désactivé en utilisant le paramètre "propertyerror" : Il est possible de ne pas générer d'erreur si une variable est désactivé en utilisant le paramètre "propertyerror" :
``` ```xml
<param type="variable" propertyerror="False">variable1</param> <param type="variable" propertyerror="False">variable1</param>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: variable - type: variable
propertyerror: false propertyerror: false
@ -66,13 +66,13 @@ Il est possible de faire un calcul avec comme paramètre [une variable d'une fam
Par exemple : Par exemple :
``` ```xml
<param type="variable">vardynval1</param> <param type="variable">vardynval1</param>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: variable - type: variable
text: vardynval1 text: vardynval1
@ -82,13 +82,13 @@ Dans ce cas, la valeur du paramètre de la fonction sera la valeur de la variabl
Il peut être utile de récupérer la valeur du suffix dans la fonction, pour cela il suffit de mettre un paramètre de type suffix : Il peut être utile de récupérer la valeur du suffix dans la fonction, pour cela il suffit de mettre un paramètre de type suffix :
``` ```xml
<param type="suffix"/> <param type="suffix"/>
``` ```
En YAML : En YAML :
``` ```yml
param: param:
- type: suffix - type: suffix
``` ```

View file

@ -8,7 +8,7 @@ Cette balise permet de définir tous les éléments ([fichier](file.md), [IP](ip
Il faut, à la création du service, préciser son nom : Il faut, à la création du service, préciser son nom :
``` ```xml
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<rougail version="0.10"> <rougail version="0.10">
<services> <services>
@ -19,7 +19,7 @@ Il faut, à la création du service, préciser son nom :
En YAML : En YAML :
``` ```yml
version: '0.10' version: '0.10'
services: services:
- service: - service:
@ -35,13 +35,13 @@ Les services peuvent être de plusieurs type :
- swap : fichier utilisé par systemd-swap - swap : fichier utilisé par systemd-swap
- timer : tâche planifié pour systemd - timer : tâche planifié pour systemd
``` ```xml
<service name="dev-disk-by\x2dpartlabel-swap" type="swap"/> <service name="dev-disk-by\x2dpartlabel-swap" type="swap"/>
``` ```
En YAML : En YAML :
``` ```yml
- service: - service:
- name: dev-disk-by\x2dpartlabel-swap - name: dev-disk-by\x2dpartlabel-swap
type: swap type: swap
@ -51,13 +51,13 @@ En YAML :
Active le service systemd pour une target systemd déterminé. Par défaut, l'activation du service n'est pas gérer par rougail. Active le service systemd pour une target systemd déterminé. Par défaut, l'activation du service n'est pas gérer par rougail.
``` ```xml
<service name="squid" target="multi-user"/> <service name="squid" target="multi-user"/>
``` ```
En YAML : En YAML :
``` ```yml
- service: - service:
- name: squid - name: squid
target: multi-user target: multi-user
@ -73,13 +73,13 @@ Deux types de template sont aujourd'hui disponible :
- creole - creole
- jinja2 - jinja2
``` ```xml
<service name="dev-disk-by\x2dpartlabel-swap" type="swap" engine="creole"/> <service name="dev-disk-by\x2dpartlabel-swap" type="swap" engine="creole"/>
``` ```
En YAML : En YAML :
``` ```yml
- service: - service:
- name: dev-disk-by\x2dpartlabel-swap - name: dev-disk-by\x2dpartlabel-swap
type: swap type: swap
@ -92,13 +92,13 @@ Dans ce cas, rougail utilisera le template "dev-disk-by\x2dpartlabel-swap.swap"
Un service peut être factice, donc non géré par le système de service du système : Un service peut être factice, donc non géré par le système de service du système :
``` ```xml
<service name="ldap_client" manage="False"/> <service name="ldap_client" manage="False"/>
``` ```
En YAML : En YAML :
``` ```yml
- service: - service:
- name: ldap_client - name: ldap_client
manage: false manage: false
@ -110,13 +110,13 @@ Un service factice est généralement une service qui n'existe pas réellement (
Il est possible de désactiver un service. Pour cela il faut rajouter l'attribut "disabled" à True : Il est possible de désactiver un service. Pour cela il faut rajouter l'attribut "disabled" à True :
``` ```xml
<service name="test" disabled="True"/> <service name="test" disabled="True"/>
``` ```
En YAML : En YAML :
``` ```yml
- service: - service:
- name: test - name: test
disabled: true disabled: true
@ -126,7 +126,7 @@ Dans ce cas, le service et les éléments qu'il compose ([fichier](file.md), [IP
Il est possible de définir une [condition](../condition/README.md) de type "disabled_if_in" ou "disabled_if_not_in" sur une balise service : Il est possible de définir une [condition](../condition/README.md) de type "disabled_if_in" ou "disabled_if_not_in" sur une balise service :
``` ```xml
<services> <services>
<service name="test" servicelist="test"> <service name="test" servicelist="test">
</service> </service>
@ -144,7 +144,7 @@ Il est possible de définir une [condition](../condition/README.md) de type "dis
En YAML : En YAML :
``` ```yml
services: services:
- service: - service:
- name: test - name: test
@ -172,13 +172,13 @@ La désactivation du service va créé un lien symbolique vers /dev/null.
Si vous ne voulez juste pas créer le fichier de service et ne pas faire de lien symbolique, il faut utiliser l'attribut undisable : Si vous ne voulez juste pas créer le fichier de service et ne pas faire de lien symbolique, il faut utiliser l'attribut undisable :
``` ```xml
<service name="test" disabled="True" undisable="True"/> <service name="test" disabled="True" undisable="True"/>
``` ```
En YAML : En YAML :
``` ```yml
- service: - service:
- name: test - name: test
disabled: true disabled: true

View file

@ -8,7 +8,7 @@ La déclaration du fichier permet de générer un fichier à partir d'un templat
Il est nécessaire, au minimum, de spécifier le chemin complet du fichier : Il est nécessaire, au minimum, de spécifier le chemin complet du fichier :
``` ```xml
<services> <services>
<service name="squid"> <service name="squid">
<file>/etc/squid/squid.conf</file> <file>/etc/squid/squid.conf</file>
@ -18,7 +18,7 @@ Il est nécessaire, au minimum, de spécifier le chemin complet du fichier :
En YAML : En YAML :
``` ```yml
services: services:
- service: - service:
- name: squid - name: squid
@ -30,13 +30,13 @@ Dans ce cas, le nom du template est déduit du nom du fichier, ici cela sera "sq
Si le template a un nom différent (par exemple si plusieurs template se retrouve avec le même nom), il est possible de changer le nom du template avec l'attribut source : Si le template a un nom différent (par exemple si plusieurs template se retrouve avec le même nom), il est possible de changer le nom du template avec l'attribut source :
``` ```xml
<file source="template-squid.conf">/etc/squid/squid.conf</file> <file source="template-squid.conf">/etc/squid/squid.conf</file>
``` ```
En YAML : En YAML :
``` ```yml
file: file:
- source: template-squid.conf - source: template-squid.conf
text: /etc/squid/squid.conf text: /etc/squid/squid.conf
@ -46,7 +46,7 @@ file:
Il est possible également de définir le nom du fichier dans une variable : Il est possible également de définir le nom du fichier dans une variable :
``` ```xml
<services> <services>
<service name="squid"> <service name="squid">
<file file_type="variable" source="squid.conf">my_variable</file> <file file_type="variable" source="squid.conf">my_variable</file>
@ -61,7 +61,7 @@ Il est possible également de définir le nom du fichier dans une variable :
En YAML : En YAML :
``` ```yml
services: services:
- service: - service:
- name: squid - name: squid
@ -82,7 +82,7 @@ Dans le cas des fichiers dynamique, la source est obligatoire.
Il est même possible de définir une variable de type multiple, ce qui génèrera plusiers fichiers : Il est même possible de définir une variable de type multiple, ce qui génèrera plusiers fichiers :
``` ```xml
<services> <services>
<service name="squid"> <service name="squid">
<file file_type="variable" source="squid.conf">my_variable</file> <file file_type="variable" source="squid.conf">my_variable</file>
@ -98,7 +98,7 @@ Il est même possible de définir une variable de type multiple, ce qui génère
En YAML : En YAML :
``` ```yml
services: services:
- service: - service:
- name: squid - name: squid
@ -125,7 +125,7 @@ Dans ce cas il y a deux possibilités :
En effet, il est possible de passer le contenu d'une variable au template : En effet, il est possible de passer le contenu d'une variable au template :
``` ```xml
<services> <services>
<service name="squid"> <service name="squid">
<file file_type="variable" source="squid.conf" variable="my_variable2">my_variable1</file> <file file_type="variable" source="squid.conf" variable="my_variable2">my_variable1</file>
@ -145,7 +145,7 @@ En effet, il est possible de passer le contenu d'une variable au template :
En YAML : En YAML :
``` ```yml
services: services:
- service: - service:
- name: squid - name: squid
@ -179,13 +179,13 @@ Par défaut les droits du fichier généré sont "0644" avec comme utilisateur "
Il est possible de définir les droits, l'utilisateur ou le groupe d'un fichier généré : Il est possible de définir les droits, l'utilisateur ou le groupe d'un fichier généré :
``` ```xml
<file mode="0640" owner="nobody" group="squid">/etc/squid/squid.conf</file> <file mode="0640" owner="nobody" group="squid">/etc/squid/squid.conf</file>
``` ```
En YAML : En YAML :
``` ```yml
file: file:
- mode: '0640' - mode: '0640'
owner: nobody owner: nobody
@ -199,13 +199,13 @@ Il est possible de personnaliser les droits par défaut dans la [configuration d
Il est possible de désactiver la génération d'un fichier avec l'attribut "disabled" : Il est possible de désactiver la génération d'un fichier avec l'attribut "disabled" :
``` ```xml
<file disabled="True">/etc/squid/squid.conf</file> <file disabled="True">/etc/squid/squid.conf</file>
``` ```
En YAML : En YAML :
``` ```yml
file: file:
- disabled: true - disabled: true
text: /etc/squid/squid.conf text: /etc/squid/squid.conf
@ -213,7 +213,7 @@ file:
Il est aussi possible de définir une [condition](../condition/README.md) de type "disabled_if_in" ou "disabled_if_not_in" sur une balise fichier : Il est aussi possible de définir une [condition](../condition/README.md) de type "disabled_if_in" ou "disabled_if_not_in" sur une balise fichier :
``` ```xml
<services> <services>
<service name="test"> <service name="test">
<file filelist="squid">/etc/squid/squid.conf</file> <file filelist="squid">/etc/squid/squid.conf</file>
@ -232,7 +232,7 @@ Il est aussi possible de définir une [condition](../condition/README.md) de typ
En YAML : En YAML :
``` ```yml
services: services:
- service: - service:
- name: text - name: text
@ -260,23 +260,32 @@ Dans ce cas, tous les fichiers avec un attribut filelist à "squid" seront désa
Il est possible de redéfinir les éléments d'un fichier dans un dictionnaire différent en utilisant l'attribut redefine : Il est possible de redéfinir les éléments d'un fichier dans un dictionnaire différent en utilisant l'attribut redefine :
``` ```xml
<file source="template-squid.conf" redefine="True">/etc/squid/squid.conf</file> <file source="template-squid.conf" redefine="True">/etc/squid/squid.conf</file>
``` ```
En YAML :
```yml
file:
- source: template-squid.conf
redefine: true
text: /etc/squid/squid.conf
```
## Choix du moteur de templating ## Choix du moteur de templating
Par défaut, le moteur de templating est le moteur de templating compatible avec "creole". Par défaut, le moteur de templating est le moteur de templating compatible avec "creole".
Il est possible de désactiver la templatisation du fichier (il sera alors uniquement copié) : Il est possible de désactiver la templatisation du fichier (il sera alors uniquement copié) :
``` ```xml
<file engine="none">/etc/squid/squid.conf</file> <file engine="none">/etc/squid/squid.conf</file>
``` ```
En YAML : En YAML :
``` ```yml
file: file:
- engine: 'none' - engine: 'none'
text: /etc/squid/squid.conf text: /etc/squid/squid.conf
@ -284,13 +293,13 @@ file:
Ou d'utiliser le moteur "jinja2" : Ou d'utiliser le moteur "jinja2" :
``` ```xml
<file engine="jinja2">/etc/squid/squid.conf</file> <file engine="jinja2">/etc/squid/squid.conf</file>
``` ```
En YAML : En YAML :
``` ```yml
file: file:
- engine: jinja2 - engine: jinja2
text: /etc/squid/squid.conf text: /etc/squid/squid.conf
@ -338,14 +347,14 @@ template content
Et déclaront ces deux templates : Et déclaront ces deux templates :
``` ```xml
<file>/etc/squid/squid.conf</file> <file>/etc/squid/squid.conf</file>
<file included="name" engine="none">/etc/squid/squid.d/squid.conf</file> <file included="name" engine="none">/etc/squid/squid.d/squid.conf</file>
``` ```
En YAML : En YAML :
``` ```yml
file: file:
- text: /etc/squid/squid.conf - text: /etc/squid/squid.conf
- included: name - included: name
@ -385,14 +394,14 @@ template content
Et déclaront ces deux templates : Et déclaront ces deux templates :
``` ```xml
<file>/etc/squid/squid.conf</file> <file>/etc/squid/squid.conf</file>
<file included="content" engine="none">squid.d/squid.conf</file> <file included="content" engine="none">squid.d/squid.conf</file>
``` ```
En YAML : En YAML :
``` ```yml
file: file:
- text: /etc/squid/squid.conf - text: /etc/squid/squid.conf
- included: content - included: content

View file

@ -8,13 +8,13 @@ La déclaration de l'attribut permet d'associer une IP autorisé à accéder au
Il est nécessaire, au minimum, de spécifier le nom d'une variable de type "IP" : Il est nécessaire, au minimum, de spécifier le nom d'une variable de type "IP" :
``` ```xml
<ip ip_type="variable">variable_ip</ip> <ip ip_type="variable">variable_ip</ip>
``` ```
En YAML : En YAML :
``` ```yml
ip: ip:
- ip_type: variable_ip - ip_type: variable_ip
text: variable_ip text: variable_ip
@ -24,13 +24,13 @@ ip:
L'adresse peut être de type réseau ("network") : L'adresse peut être de type réseau ("network") :
``` ```xml
<ip netmask="variable_netmask">variable_ip</ip> <ip netmask="variable_netmask">variable_ip</ip>
``` ```
En YAML : En YAML :
``` ```yml
ip: ip:
- netmask: variable_netmask - netmask: variable_netmask
text: variable_ip text: variable_ip
@ -42,7 +42,7 @@ Attention, dans ce cas il faut préciser une variable de type "netmask" dans l'a
Il est possible de définir une [condition](../condition/README.md) de type "disabled_if_in" ou "disabled_if_not_in" sur une balise IP : Il est possible de définir une [condition](../condition/README.md) de type "disabled_if_in" ou "disabled_if_not_in" sur une balise IP :
``` ```xml
<services> <services>
<service name="test"> <service name="test">
<ip iplist="test_ip">variable_ip</ip> <ip iplist="test_ip">variable_ip</ip>
@ -62,7 +62,7 @@ Il est possible de définir une [condition](../condition/README.md) de type "dis
En YAML : En YAML :
``` ```yml
services: services:
- service: - service:
- name: test - name: test

View file

@ -8,7 +8,7 @@ La balise override permet de redéfinir facilement un service systemd.
Il suffit d'avoir un template dont le nom est par défaut le nom du service avec l'extension "service" et de déclarer la balise : Il suffit d'avoir un template dont le nom est par défaut le nom du service avec l'extension "service" et de déclarer la balise :
``` ```xml
<services> <services>
<service name="squid"> <service name="squid">
<override/> <override/>
@ -18,7 +18,7 @@ Il suffit d'avoir un template dont le nom est par défaut le nom du service avec
En YAML : En YAML :
``` ```yml
services: services:
- service: - service:
- name: squid - name: squid
@ -29,13 +29,13 @@ Dans cette exemple, le template associé doit s'appeler squid.service
Si le fichier service a un nom différent (par exemple si plusieurs template se retrouve avec le même nom), il est possible de changer le nom du template avec l'attribut source : Si le fichier service a un nom différent (par exemple si plusieurs template se retrouve avec le même nom), il est possible de changer le nom du template avec l'attribut source :
``` ```xml
<override source="test.service"/> <override source="test.service"/>
``` ```
En YAML : En YAML :
``` ```yml
override: override:
- source: test.service - source: test.service
``` ```
@ -48,26 +48,26 @@ Par défaut, le moteur de templating est le moteur de templating compatible avec
Il est possible de désactiver la templatisation du fichier (il sera alors uniquement copié) : Il est possible de désactiver la templatisation du fichier (il sera alors uniquement copié) :
``` ```xml
<override engine="none"/> <override engine="none"/>
``` ```
En YAML : En YAML :
``` ```yml
override: override:
- engine: 'none' - engine: 'none'
``` ```
Ou d'utiliser le moteur "jinja2" : Ou d'utiliser le moteur "jinja2" :
``` ```xml
<override engine="jinja2"/> <override engine="jinja2"/>
``` ```
En YAML : En YAML :
``` ```yml
override: override:
- engine: 'jinja2' - engine: 'jinja2'
``` ```

View file

@ -4,7 +4,7 @@ La balise "services" est le conteneur de l'ensemble des [services](service/READM
Il est placé à la racine du dictionnaire : Il est placé à la racine du dictionnaire :
``` ```xml
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<rougail> <rougail>
<services/> <services/>
@ -13,7 +13,7 @@ Il est placé à la racine du dictionnaire :
En YAML : En YAML :
``` ```yml
version: '0.10' version: '0.10'
services: none services: none
``` ```

View file

@ -2,13 +2,13 @@
Une cible peut être de type famille : Une cible peut être de type famille :
``` ```xml
<target type="family">my_family</target> <target type="family">my_family</target>
``` ```
En YAML : En YAML :
``` ```yml
target: target:
- type: family - type: family
text: my_family text: my_family
@ -16,13 +16,13 @@ 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. Mais une target peut être optionnelle. C'est à dire que si la famille n'existe pas, l'action ne sera pas associé à cette famille.
``` ```xml
<target type="family" optional="True">my_family</target> <target type="family" optional="True">my_family</target>
``` ```
En YAML : En YAML :
``` ```yml
target: target:
- type: family - type: family
optional: true optional: true

View file

@ -6,13 +6,13 @@
Une cible peut être de type [service](../service/README.md) : Une cible peut être de type [service](../service/README.md) :
``` ```xml
<target type="servicelist">example</target> <target type="servicelist">example</target>
``` ```
En YAML : En YAML :
``` ```yml
target: target:
- type: servicelist - type: servicelist
text: example text: example
@ -22,13 +22,13 @@ target:
Une cible peut être de type [fichier](../service/file.md) : Une cible peut être de type [fichier](../service/file.md) :
``` ```xml
<target type="filelist">example</target> <target type="filelist">example</target>
``` ```
En YAML : En YAML :
``` ```yml
target: target:
- type: filelist - type: filelist
text: example text: example
@ -38,13 +38,13 @@ target:
Une cible peut être de type [ip](../service/ip.md) : Une cible peut être de type [ip](../service/ip.md) :
``` ```xml
<target type="iplist">example</target> <target type="iplist">example</target>
``` ```
En YAML : En YAML :
``` ```yml
target: target:
- type: iplist - type: iplist
text: example text: example
@ -54,13 +54,13 @@ target:
Mais une target peut être optionnelle. C'est à dire que si la \*list n'existe pas, l'action ne sera pas associé. Mais une target peut être optionnelle. C'est à dire que si la \*list n'existe pas, l'action ne sera pas associé.
``` ```xml
<target type="filelist" optional="True">unknown</target> <target type="filelist" optional="True">unknown</target>
``` ```
En YAML : En YAML :
``` ```yml
target: target:
- type: filelist - type: filelist
optional: true optional: true

View file

@ -2,26 +2,26 @@
Par défaut une cible est de type variable. Par défaut une cible est de type variable.
``` ```xml
<target>my_variable</target> <target>my_variable</target>
``` ```
En YAML : En YAML :
``` ```yml
target: target:
- text: my_variable - text: my_variable
``` ```
Mais une target peut être optionnelle. C'est à dire que si la variable n'existe pas, l'action ne sera pas associé à cette variable. Mais une target peut être optionnelle. C'est à dire que si la variable n'existe pas, l'action ne sera pas associé à cette variable.
``` ```xml
<target optional='True'>my_variable</target> <target optional='True'>my_variable</target>
``` ```
En YAML : En YAML :
``` ```yml
target: target:
- optional: true - optional: true
text: my_variable text: my_variable

View file

@ -6,7 +6,7 @@ Une variable est forcement dans [variables](../variables.md) ou dans une [famill
Une variable est déjà un nom. C'est à dire qu'on pourra utiliser plus tard la variable via ce nom. Une variable est déjà un nom. C'est à dire qu'on pourra utiliser plus tard la variable via ce nom.
``` ```xml
<variables> <variables>
<variable name="my_variable"/> <variable name="my_variable"/>
<family name="my_family"> <family name="my_family">
@ -17,7 +17,7 @@ Une variable est déjà un nom. C'est à dire qu'on pourra utiliser plus tard la
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_variable name: my_variable
@ -32,13 +32,13 @@ variables:
En plus d'un nom, il est possible de mettre une "description" à la variable. C'est une information "utilisateur" qui nous permettra d'avoir des informations complémentaires sur le contenu de cette variable : En plus d'un nom, il est possible de mettre une "description" à la variable. C'est une information "utilisateur" qui nous permettra d'avoir des informations complémentaires sur le contenu de cette variable :
``` ```xml
<variable name="my_variable" description="This is a good variable"/> <variable name="my_variable" description="This is a good variable"/>
``` ```
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_variable name: my_variable
@ -47,13 +47,13 @@ variables:
En plus de la description, il est possible de préciser une aide complémentaire : En plus de la description, il est possible de préciser une aide complémentaire :
``` ```xml
<variable name="my_variable" help="This is a good variable"/> <variable name="my_variable" help="This is a good variable"/>
``` ```
En YAML : En YAML :
``` ```yml
variables: variables:
- variable: - variable:
name: my_variable name: my_variable
@ -93,13 +93,13 @@ Une variable a un type. Ce type permet de définir les valeurs acceptées par ce
Pour définir le type d'une variable : Pour définir le type d'une variable :
``` ```xml
<variable name="my_variable" type="number"/> <variable name="my_variable" type="number"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
type: number type: number
@ -111,13 +111,13 @@ Par défaut une variable ne peut acceuillir qu'une seule valeur. Il peut être u
Pour définir une variable à valeur multiple : Pour définir une variable à valeur multiple :
``` ```xml
<variable name="my_variable" multi="True"/> <variable name="my_variable" multi="True"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
multi: true multi: true
@ -132,13 +132,13 @@ Par contre cette variable sera accessibles lorsqu'on va l'utiliser.
Pour cacher une variable : Pour cacher une variable :
``` ```xml
<variable name="my_variable" hidden="True"/> <variable name="my_variable" hidden="True"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
hidden: true hidden: true
@ -152,13 +152,13 @@ Désactiver une variable signifie qu'elle ne sera pas visible lorsqu'on modifie
Pour désactiver une variable : Pour désactiver une variable :
``` ```xml
<variable name="my_variable" disabled="True"/> <variable name="my_variable" disabled="True"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
disabled: true disabled: true
@ -168,13 +168,13 @@ En YAML :
Variable dont une valeur est requise : Variable dont une valeur est requise :
``` ```xml
<variable name="my_variable" mandatory="True"/> <variable name="my_variable" mandatory="True"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
mandatory: true mandatory: true
@ -182,13 +182,13 @@ En YAML :
Les variables booléans sont par défaut obligatoire. Pour qu'une variable booléan ne soit pas obligatoire il faut le préciser explicitement : Les variables booléans sont par défaut obligatoire. Pour qu'une variable booléan ne soit pas obligatoire il faut le préciser explicitement :
``` ```xml
<variable name="my_variable" type="boolean" mandatory="False"/> <variable name="my_variable" type="boolean" mandatory="False"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
type: boolean type: boolean
@ -201,7 +201,7 @@ Les variables avec une valeur par défaut (non calculée) sont également automa
Il est possible de fixer les valeurs par défaut d'une variable : Il est possible de fixer les valeurs par défaut d'une variable :
``` ```xml
<variable name="my_variable"> <variable name="my_variable">
<value>value</value> <value>value</value>
</variable> </variable>
@ -209,7 +209,7 @@ Il est possible de fixer les valeurs par défaut d'une variable :
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
value: value:
@ -218,7 +218,7 @@ En YAML :
Pour une variable multiple, il est possible de préciser plusieurs valeurs : Pour une variable multiple, il est possible de préciser plusieurs valeurs :
``` ```xml
<variable name="my_variable" multi="True"> <variable name="my_variable" multi="True">
<value>value 1</value> <value>value 1</value>
<value>value 2</value> <value>value 2</value>
@ -227,7 +227,7 @@ Pour une variable multiple, il est possible de préciser plusieurs valeurs :
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
multi: true multi: true
@ -252,26 +252,26 @@ Attention trois attributs ne sont redéfinisable :
Créons notre variable : Créons notre variable :
``` ```xml
<variable name="my_variable"/> <variable name="my_variable"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
``` ```
Et redéfinisons là : Et redéfinisons là :
``` ```xml
<variable name="my_variable" redefine="True" description="New description"/> <variable name="my_variable" redefine="True" description="New description"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
redefine: true redefine: true
@ -282,13 +282,13 @@ En YAML :
Il est parfois utile de créer une variable si elle n'existe pas dans un autre dictionnaire : Il est parfois utile de créer une variable si elle n'existe pas dans un autre dictionnaire :
``` ```xml
<variable name="my_variable" exists="False"/> <variable name="my_variable" exists="False"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
exists: false exists: false
@ -300,13 +300,13 @@ Si cette variable existe dans un autre dictionnaire, elle ne sera pas modifié n
Parfois on veut pouvoir redéfinir une variable mais seulement dans le cas où elle existe déjà : Parfois on veut pouvoir redéfinir une variable mais seulement dans le cas où elle existe déjà :
``` ```xml
<variable name="my_variable" redefine="True" exists="True" hidden="True"/> <variable name="my_variable" redefine="True" exists="True" hidden="True"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
exists: true exists: true
@ -319,7 +319,7 @@ Une variable avec valeur automatiquement modifiée est une variable dont la vale
Voici une variable a valeur automatiquement modifiée : Voici une variable a valeur automatiquement modifiée :
``` ```xml
<variable name="my_variable" auto_save="True"> <variable name="my_variable" auto_save="True">
<value>my_value</value> <value>my_value</value>
</variable> </variable>
@ -327,7 +327,7 @@ Voici une variable a valeur automatiquement modifiée :
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
auto_save: true auto_save: true
@ -348,7 +348,7 @@ Une variable avec valeur en lecture seule automatique est une variable dont la v
Voici un variable à valeur en lecture seule automatique : Voici un variable à valeur en lecture seule automatique :
``` ```xml
<variable name="server_deployed" type="boolean"> <variable name="server_deployed" type="boolean">
<value>False</value> <value>False</value>
</variable> </variable>
@ -357,7 +357,7 @@ Voici un variable à valeur en lecture seule automatique :
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: server_deployed name: server_deployed
type: boolean type: boolean
@ -383,13 +383,13 @@ Concrêtement, le contenu de cet attribut est enregister dans une "information"
Exemple : Exemple :
``` ```xml
<variable name="my_variable" test="yes"/> <variable name="my_variable" test="yes"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
test: yes test: yes
@ -397,13 +397,13 @@ En YAML :
Il est possible de préciser plusieurs valeurs avec le séparateur "|" : Il est possible de préciser plusieurs valeurs avec le séparateur "|" :
``` ```xml
<variable name="my_variable" test="yes|no"/> <variable name="my_variable" test="yes|no"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
test: yes|no test: yes|no
@ -423,13 +423,13 @@ Cas particuliers :
Pour définir le [mode](../mode.md) : Pour définir le [mode](../mode.md) :
``` ```xml
<variable name="my_variable" mode="expert"/> <variable name="my_variable" mode="expert"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
mode: expert mode: expert
@ -442,13 +442,13 @@ C'est particulièrement utile si un service peut être fournit par plusieurs ser
Pour déclarer : Pour déclarer :
``` ```xml
<variable name="my_variable" provider="my_function"/> <variable name="my_variable" provider="my_function"/>
``` ```
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
provider: my_variable provider: my_variable
@ -456,7 +456,7 @@ En YAML :
Dans le code de l'application, on pourra retrouver le chemin de la variable en faisant : Dans le code de l'application, on pourra retrouver le chemin de la variable en faisant :
``` ```python
print(await config.information.get('provider:my_function')) print(await config.information.get('provider:my_function'))
``` ```

View file

@ -4,7 +4,7 @@
Il est possible d'imposer une liste de valeur pour une variable particulière : Il est possible d'imposer une liste de valeur pour une variable particulière :
``` ```xml
<variable name="my_variable" type="choice"> <variable name="my_variable" type="choice">
<choice>val1</choice> <choice>val1</choice>
<choice>val2</choice> <choice>val2</choice>
@ -14,7 +14,7 @@ Il est possible d'imposer une liste de valeur pour une variable particulière :
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
type: choice type: choice
@ -29,7 +29,7 @@ Cette variable n'est pas obligatoire dont il est possible de mettre la valeur "N
Si la variable est obligatoire ou si une valeur est précisée (la variable passe obligatoire) alors la valeur "None" n'est plus autorisé : Si la variable est obligatoire ou si une valeur est précisée (la variable passe obligatoire) alors la valeur "None" n'est plus autorisé :
``` ```xml
<variable name="my_variable" type="choice"> <variable name="my_variable" type="choice">
<choice>val1</choice> <choice>val1</choice>
<choice>val2</choice> <choice>val2</choice>
@ -40,7 +40,7 @@ Si la variable est obligatoire ou si une valeur est précisée (la variable pass
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
type: choice type: choice
@ -56,7 +56,7 @@ En YAML :
Par défaut les choix sont de type "string". Il est possible de préciser des nombres, des booléens ou la valeur None : Par défaut les choix sont de type "string". Il est possible de préciser des nombres, des booléens ou la valeur None :
``` ```xml
<variable name="my_variable" type="choice"> <variable name="my_variable" type="choice">
<choice>val1</choice> <choice>val1</choice>
<choice type="string">val2</choice> <choice type="string">val2</choice>
@ -68,7 +68,7 @@ Par défaut les choix sont de type "string". Il est possible de préciser des no
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
type: choice type: choice
@ -89,7 +89,7 @@ Comme vu précédement ajouter la valeur None n'est pas utile parce qu'elle est
Pour ajouter un choix à une variable à choix existante, rien de plus simple, juste redéfinir la variable en ajoutant le choix voulu : Pour ajouter un choix à une variable à choix existante, rien de plus simple, juste redéfinir la variable en ajoutant le choix voulu :
``` ```xml
<variable name="my_variable" redefine="True"> <variable name="my_variable" redefine="True">
<choice>val4</choice> <choice>val4</choice>
</variable> </variable>
@ -97,7 +97,7 @@ Pour ajouter un choix à une variable à choix existante, rien de plus simple, j
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
redefine: true redefine: true
@ -109,7 +109,7 @@ En YAML :
Si on veut supprimer un choix ou redéfinir complètement la liste, il faut redéfinir cette variable et ajouter l'attribut "remove_choice" à "True" : Si on veut supprimer un choix ou redéfinir complètement la liste, il faut redéfinir cette variable et ajouter l'attribut "remove_choice" à "True" :
``` ```xml
<variable name="my_variable" redefine="True" remove_choice="True"> <variable name="my_variable" redefine="True" remove_choice="True">
<choice>val1</choice> <choice>val1</choice>
<choice>val2</choice> <choice>val2</choice>
@ -118,7 +118,7 @@ Si on veut supprimer un choix ou redéfinir complètement la liste, il faut red
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
redefine: true redefine: true
@ -134,7 +134,7 @@ Dans ce cas toutes les anciens choix ne seront plus possible. Seuls les nouveaux
Une variable à valeur multiple peut servir de source des choix : Une variable à valeur multiple peut servir de source des choix :
``` ```xml
<variable name="my_variable" type="choice"> <variable name="my_variable" type="choice">
<choice type="variable">other_variable</choice> <choice type="variable">other_variable</choice>
</variable> </variable>
@ -142,7 +142,7 @@ Une variable à valeur multiple peut servir de source des choix :
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
type: choice type: choice
@ -156,7 +156,7 @@ Seul un choice de type "variable" est possible par variable.
## Un variable à choix provenant d'une fonction ## Un variable à choix provenant d'une fonction
``` ```xml
<variable name="my_variable" type="choice"> <variable name="my_variable" type="choice">
<choice type="function" name="range"> <choice type="function" name="range">
<param type="number">0</param> <param type="number">0</param>
@ -168,7 +168,7 @@ Seul un choice de type "variable" est possible par variable.
En YAML : En YAML :
``` ```yml
- variable: - variable:
name: my_variable name: my_variable
type: choice type: choice

View file

@ -4,7 +4,7 @@ La balise "variables" est le conteneur de l'ensemble des [familles](family/READM
Il est placé à la racine du dictionnaire : Il est placé à la racine du dictionnaire :
``` ```xml
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<rougail> <rougail>
<variables/> <variables/>
@ -13,7 +13,7 @@ Il est placé à la racine du dictionnaire :
En YAML : En YAML :
``` ```yml
version: '0.10' version: '0.10'
variables: none variables: none
``` ```