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 :
```
```xml
<variables>
<variable name="my_variable"/>
</variables>
@ -19,7 +19,7 @@ Voici un exemple simple de validation des valeurs :
En YAML :
```
```yml
variables:
- 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 :
```
```python
def islower(value):
if value is None:
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 :
```
```xml
<check name="islower" level="warning">
<target>my_variable</target>
</check>
@ -66,7 +66,7 @@ Dans la contrainte, il est possible de spécifier le niveau d'erreur et le mettr
En YAML :
```
```yml
- check:
- name: islower
level: warning

View file

@ -4,7 +4,7 @@
Dans un premier dictionnaire déclarons notre variable et sa fonction de vérification :
```
```xml
<variables>
<variable name="my_variable"/>
</variables>
@ -17,7 +17,7 @@ Dans un premier dictionnaire déclarons notre variable et sa fonction de vérifi
En YAML :
```
```yml
variables:
- variable:
name: my_variable
@ -30,7 +30,7 @@ constraints:
Dans un second dictionnaire il est possible de redéfinir le calcul :
```
```xml
<variables>
<variable name="my_variable" redefine="True"/>
</variables>
@ -43,7 +43,7 @@ Dans un second dictionnaire il est possible de redéfinir le calcul :
En YAML :
```
```yml
variables:
- 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 :
```
```xml
<variables>
<variable name="my_variable"/>
</variables>
@ -78,7 +78,7 @@ Dans un premier dictionnaire déclarons notre variable et notre fonction de vér
En YAML :
```
```yml
variables:
- variable:
name: my_variable
@ -91,7 +91,7 @@ constraints:
Dans un second dictionnaire supprimer cette vérification :
```
```xml
<variables>
<variable name="my_variable" redefine="True" remove_check="True"/>
</variables>
@ -99,7 +99,7 @@ Dans un second dictionnaire supprimer cette vérification :
En YAML :
```
```yml
variables:
- 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.
```
```xml
<variables>
<variable name="condition" type="boolean"/>
<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 :
```
```yml
variables:
- variable:
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 :
```
```xml
<variables>
<variable name="condition"/>
<variable name="my_variable"/>
@ -68,7 +68,7 @@ Il est également possible de mettre plusieurs paramètre :
En YAML :
```
```yml
variables:
- variable:
name: condition
@ -105,7 +105,7 @@ Ces deux comportements peuvent être changé à tout moment avec l'attribut "app
Exemple :
```
```xml
<condition name="hidden_if_in" source="condition" optional="True", apply_on_fallback="False">
<param>yes</param>
<param>maybe</param>
@ -115,7 +115,7 @@ Exemple :
En YAML :
```
```yml
- condition:
- name: hidden_if_in
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 :
```
```xml
<variables>
<variable name="condition" type="boolean"/>
<variable name="my_variable"/>
@ -22,7 +22,7 @@ Dans un premier dictionnaire déclarons notre variable et notre calcule :
En YAML :
```
```yml
variables:
- variable:
name: condition
@ -41,7 +41,7 @@ constraints:
Dans un second dictionnaire supprimer ce calcul :
```
```xml
<variables>
<variable name="condition" redefine="True" remove_condition="True"/>
</variables>
@ -49,7 +49,7 @@ Dans un second dictionnaire supprimer ce calcul :
En YAML :
```
```yml
variables:
- variable:
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 :
```
```xml
<?xml version='1.0' encoding='UTF-8'?>
<rougail>
<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
```
```xml
<?xml version='1.0' encoding='UTF-8'?>
<rougail>
<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 :
```
```xml
<?xml version='1.0' encoding='UTF-8'?>
<rougail>
<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 :
```
```patch
--- /srv/rougail/templates/example.conf 2021-02-13 19:41:38.677491087 +0100
+++ tmp/example.conf 2021-02-13 20:12:55.525089820 +0100
@@ -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 :
```
```xml
<?xml version='1.0' encoding='UTF-8'?>
<rougail>
<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 :
```
```python
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 :
```
```xml
<variable name='varname' multi="True">
<value>val1</value>
<value>val2</value>
@ -17,7 +17,7 @@ Par exemple :
En YAML :
```
```yml
variables:
- 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 :
```
```xml
<variables>
<family name="family" leadership='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 :
```
```yml
variables:
- 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 :
```
```xml
<variables>
<family name="family">
<variable name="follower3"/>
@ -75,7 +75,7 @@ Pour ajouter, dans un nouveau dictionnaire, une variable suiveuse à notre group
En YAML :
```
```yml
variables:
- 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 :
```
```xml
<family name="my_family"/>
```
En YAML :
```
```yml
- family:
name: my_family
```
Cette famille doit être placé dans une balise [variables](../variables.md) :
```
```xml
<variables>
<family name="my_family"/>
</variables>
@ -25,7 +25,7 @@ Cette famille doit être placé dans une balise [variables](../variables.md) :
En YAML :
```
```yml
variables:
- family:
name: my_family
@ -33,7 +33,7 @@ variables:
Ou dans une autre famille :
```
```xml
<variables>
<family name="my_family">
<family name="second_family"/>
@ -43,7 +43,7 @@ Ou dans une autre famille :
En YAML :
```
```yml
variables:
- 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 :
```
```xml
<family name="my_family" description="This is a great family"/>
```
En YAML :
```
```yml
variables:
- family:
name: my_family
@ -73,13 +73,13 @@ variables:
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"/>
```
En YAML :
```
```yml
variables:
- 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) :
```
```xml
<family name="my_family" mode="expert"/>
```
En YAML :
```
```yml
- family:
name: my_family
mode: expert
@ -115,13 +115,13 @@ Par contre ces variables sont accessibles lorsqu'on va utiliser ces variables.
Pour cacher une famille :
```
```xml
<family name="my_family" hidden="True"/>
```
En YAML :
```
```yml
- family:
name: my_family
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`) :
```
```xml
<variables>
<variable name="zones_list" type="string" multi="True">
<value>zone1</value>
@ -17,7 +17,7 @@ Créeons deux variables multiples, une pour accueillir la liste des éléments d
En YAML :
```
```yml
variables:
- variable:
name: zones_list
@ -36,7 +36,7 @@ variables:
Calculons la valeur de la seconde variable à partir de la première :
```
```xml
<constraints>
<fill name="calc_value">
<param>/systemd/network/10-</param>
@ -51,7 +51,7 @@ Calculons la valeur de la seconde variable à partir de la première :
En YAML :
```
```yml
constraints:
- fill:
- 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 :
```
```xml
<services>
<service name="systemd-networkd">
<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 :
```
```yml
services:
- service:
- name: systemd-networkd

View file

@ -4,7 +4,7 @@
Dans un premier dictionnaire déclarons notre variable et notre calcule :
```
```xml
<variables>
<variable name="my_calculated_variable"/>
</variables>
@ -17,7 +17,7 @@ Dans un premier dictionnaire déclarons notre variable et notre calcule :
En YAML :
```
```yml
variables:
- variable:
name: my_calculated_variable
@ -30,7 +30,7 @@ constraints:
Dans un second dictionnaire il est possible de redéfinir le calcul :
```
```xml
<variables>
<variable name="my_calculated_variable" redefine="True"/>
</variables>
@ -43,7 +43,7 @@ Dans un second dictionnaire il est possible de redéfinir le calcul :
En YAML :
```
```yml
variables:
- 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 :
```
```xml
<variables>
<variable name="my_calculated_variable"/>
</variables>
@ -78,7 +78,7 @@ Dans un premier dictionnaire déclarons notre variable et notre calcule :
En YAML :
```
```yml
variables:
- variable:
name: my_calculated_variable
@ -91,7 +91,7 @@ constraints:
Dans un second dictionnaire supprimer ce calcul :
```
```xml
<variables>
<variable name="my_calculated_variable" redefine="True" remove_fill="True"/>
</variables>
@ -99,7 +99,7 @@ Dans un second dictionnaire supprimer ce calcul :
En YAML :
```
```yml
variables:
- 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" :
```
```xml
<variables>
<variable name="my_calculated_variable"/>
</variables>
@ -17,7 +17,7 @@ Créons une variable dont la valeur est retournée par la fonction "return_no" :
En YAML :
```
```yml
variables:
- variable:
name: my_calculated_variable
@ -30,7 +30,7 @@ constraints:
Puis créons la fonction "return_no" :
```
```python
def 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" :
```
```xml
<variable name="my_calculated_variable">
<value>yes</value>
</variable>
@ -49,7 +49,7 @@ Attention, si une valeur par défaut est définit dans la variable "my_calculate
En YAML :
```
```yml
variables:
- 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 :
```
```xml
<variable name="my_calculated_variable" hidden="True"/>
```
En YAML :
```
```yml
variables:
- 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 :
```
```xml
<variables>
<variable name='suffixes' type='string' description="Suffixes of dynamic family" multi="True">
<value>val1</value>
@ -115,7 +115,7 @@ Il est également possible de calculer [une variable d'une famille dynamique](..
En YAML :
```
```yml
variables:
- variable:
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 :
```
```xml
<constraints>
<fill name="return_value_suffix">
<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 :
```
```yml
constraints:
- fill:
- name: return_value_suffix
@ -185,7 +185,7 @@ constraints:
Et ainsi faire un traitement spécifique pour ce suffix :
```
```python
def return_value_suffix(value, suffix):
if suffix == 'val1':
return value

View file

@ -4,13 +4,13 @@
Le paramètre peut être la valeur est issue d'une information de la configuration :
```
```xml
<param type="information">server_name</param>
```
En YAML :
```
```yml
param:
- type: information
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 :
```
```xml
<param type="target_information">test</param>
<param type="target_information">help</param>
```
En YAML :
```
```yml
param:
- type: target_information
text: test

View file

@ -2,20 +2,20 @@
Déclarons un paramètre positionnel :
```
```xml
<param>no</param>
```
En YAML :
```
```yml
param:
- text: no
```
Créons la fonction correspondante :
```
```python
def return_value(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 :
```
```xml
<param name="valeur">no</param>
```
En YAML :
```
```yml
param:
- name: valeur
text: no

View file

@ -2,13 +2,13 @@
Déclarons un paramètre avec une string :
```
```xml
<param type="string">no</param>
```
En YAML :
```
```yml
param:
- type: string
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 :
```
```xml
<param type="number">1</param>
```
En YAML :
```
```yml
param:
- type: number
text: '1'
@ -34,7 +34,7 @@ param:
Créons la fonction correspondante :
```
```python
def return_value_with_number(value):
if value == 1:
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 :
```
```xml
<param type="boolean">True</param>
```
En YAML :
```
```yml
param:
- type: boolean
text: true
@ -63,13 +63,13 @@ param:
Le paramètre peut être une valeur null (None en python) :
```
```xml
<param type="nil"/>
```
En YAML :
```
```yml
param:
- 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 :
```
```xml
<param type="space"/>
```
En YAML :
```
```yml
param:
- 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 :
```
```xml
<param type="variable">my_variable</param>
```
En YAML :
```
```yml
param:
- type: 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" :
```
```xml
<param type="variable" optional="True">unknow_variable</param>
```
En YAML :
```
```yml
param:
- type: variable
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" :
```
```xml
<param type="variable" propertyerror="False">variable1</param>
```
En YAML :
```
```yml
param:
- type: variable
propertyerror: false
@ -66,13 +66,13 @@ Il est possible de faire un calcul avec comme paramètre [une variable d'une fam
Par exemple :
```
```xml
<param type="variable">vardynval1</param>
```
En YAML :
```
```yml
param:
- type: variable
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 :
```
```xml
<param type="suffix"/>
```
En YAML :
```
```yml
param:
- 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 :
```
```xml
<?xml version='1.0' encoding='UTF-8'?>
<rougail version="0.10">
<services>
@ -19,7 +19,7 @@ Il faut, à la création du service, préciser son nom :
En YAML :
```
```yml
version: '0.10'
services:
- service:
@ -35,13 +35,13 @@ Les services peuvent être de plusieurs type :
- swap : fichier utilisé par systemd-swap
- timer : tâche planifié pour systemd
```
```xml
<service name="dev-disk-by\x2dpartlabel-swap" type="swap"/>
```
En YAML :
```
```yml
- service:
- name: dev-disk-by\x2dpartlabel-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.
```
```xml
<service name="squid" target="multi-user"/>
```
En YAML :
```
```yml
- service:
- name: squid
target: multi-user
@ -73,13 +73,13 @@ Deux types de template sont aujourd'hui disponible :
- creole
- jinja2
```
```xml
<service name="dev-disk-by\x2dpartlabel-swap" type="swap" engine="creole"/>
```
En YAML :
```
```yml
- service:
- name: dev-disk-by\x2dpartlabel-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 :
```
```xml
<service name="ldap_client" manage="False"/>
```
En YAML :
```
```yml
- service:
- name: ldap_client
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 :
```
```xml
<service name="test" disabled="True"/>
```
En YAML :
```
```yml
- service:
- name: test
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 :
```
```xml
<services>
<service name="test" servicelist="test">
</service>
@ -144,7 +144,7 @@ Il est possible de définir une [condition](../condition/README.md) de type "dis
En YAML :
```
```yml
services:
- service:
- 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 :
```
```xml
<service name="test" disabled="True" undisable="True"/>
```
En YAML :
```
```yml
- service:
- name: test
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 :
```
```xml
<services>
<service name="squid">
<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 :
```
```yml
services:
- service:
- 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 :
```
```xml
<file source="template-squid.conf">/etc/squid/squid.conf</file>
```
En YAML :
```
```yml
file:
- source: template-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 :
```
```xml
<services>
<service name="squid">
<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 :
```
```yml
services:
- service:
- 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 :
```
```xml
<services>
<service name="squid">
<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 :
```
```yml
services:
- service:
- 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 :
```
```xml
<services>
<service name="squid">
<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 :
```
```yml
services:
- service:
- 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é :
```
```xml
<file mode="0640" owner="nobody" group="squid">/etc/squid/squid.conf</file>
```
En YAML :
```
```yml
file:
- mode: '0640'
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" :
```
```xml
<file disabled="True">/etc/squid/squid.conf</file>
```
En YAML :
```
```yml
file:
- disabled: true
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 :
```
```xml
<services>
<service name="test">
<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 :
```
```yml
services:
- service:
- 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 :
```
```xml
<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
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é) :
```
```xml
<file engine="none">/etc/squid/squid.conf</file>
```
En YAML :
```
```yml
file:
- engine: 'none'
text: /etc/squid/squid.conf
@ -284,13 +293,13 @@ file:
Ou d'utiliser le moteur "jinja2" :
```
```xml
<file engine="jinja2">/etc/squid/squid.conf</file>
```
En YAML :
```
```yml
file:
- engine: jinja2
text: /etc/squid/squid.conf
@ -338,14 +347,14 @@ template content
Et déclaront ces deux templates :
```
```xml
<file>/etc/squid/squid.conf</file>
<file included="name" engine="none">/etc/squid/squid.d/squid.conf</file>
```
En YAML :
```
```yml
file:
- text: /etc/squid/squid.conf
- included: name
@ -385,14 +394,14 @@ template content
Et déclaront ces deux templates :
```
```xml
<file>/etc/squid/squid.conf</file>
<file included="content" engine="none">squid.d/squid.conf</file>
```
En YAML :
```
```yml
file:
- text: /etc/squid/squid.conf
- 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" :
```
```xml
<ip ip_type="variable">variable_ip</ip>
```
En YAML :
```
```yml
ip:
- ip_type: variable_ip
text: variable_ip
@ -24,13 +24,13 @@ ip:
L'adresse peut être de type réseau ("network") :
```
```xml
<ip netmask="variable_netmask">variable_ip</ip>
```
En YAML :
```
```yml
ip:
- netmask: variable_netmask
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 :
```
```xml
<services>
<service name="test">
<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 :
```
```yml
services:
- service:
- 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 :
```
```xml
<services>
<service name="squid">
<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 :
```
```yml
services:
- service:
- 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 :
```
```xml
<override source="test.service"/>
```
En YAML :
```
```yml
override:
- 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é) :
```
```xml
<override engine="none"/>
```
En YAML :
```
```yml
override:
- engine: 'none'
```
Ou d'utiliser le moteur "jinja2" :
```
```xml
<override engine="jinja2"/>
```
En YAML :
```
```yml
override:
- 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 :
```
```xml
<?xml version='1.0' encoding='UTF-8'?>
<rougail>
<services/>
@ -13,7 +13,7 @@ Il est placé à la racine du dictionnaire :
En YAML :
```
```yml
version: '0.10'
services: none
```

View file

@ -2,13 +2,13 @@
Une cible peut être de type famille :
```
```xml
<target type="family">my_family</target>
```
En YAML :
```
```yml
target:
- type: 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.
```
```xml
<target type="family" optional="True">my_family</target>
```
En YAML :
```
```yml
target:
- type: family
optional: true

View file

@ -6,13 +6,13 @@
Une cible peut être de type [service](../service/README.md) :
```
```xml
<target type="servicelist">example</target>
```
En YAML :
```
```yml
target:
- type: servicelist
text: example
@ -22,13 +22,13 @@ target:
Une cible peut être de type [fichier](../service/file.md) :
```
```xml
<target type="filelist">example</target>
```
En YAML :
```
```yml
target:
- type: filelist
text: example
@ -38,13 +38,13 @@ target:
Une cible peut être de type [ip](../service/ip.md) :
```
```xml
<target type="iplist">example</target>
```
En YAML :
```
```yml
target:
- type: iplist
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é.
```
```xml
<target type="filelist" optional="True">unknown</target>
```
En YAML :
```
```yml
target:
- type: filelist
optional: true

View file

@ -2,26 +2,26 @@
Par défaut une cible est de type variable.
```
```xml
<target>my_variable</target>
```
En YAML :
```
```yml
target:
- 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.
```
```xml
<target optional='True'>my_variable</target>
```
En YAML :
```
```yml
target:
- optional: true
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.
```
```xml
<variables>
<variable name="my_variable"/>
<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 :
```
```yml
variables:
- 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 :
```
```xml
<variable name="my_variable" description="This is a good variable"/>
```
En YAML :
```
```yml
variables:
- variable:
name: my_variable
@ -47,13 +47,13 @@ variables:
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"/>
```
En YAML :
```
```yml
variables:
- 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 :
```
```xml
<variable name="my_variable" type="number"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
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 :
```
```xml
<variable name="my_variable" multi="True"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
multi: true
@ -132,13 +132,13 @@ Par contre cette variable sera accessibles lorsqu'on va l'utiliser.
Pour cacher une variable :
```
```xml
<variable name="my_variable" hidden="True"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
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 :
```
```xml
<variable name="my_variable" disabled="True"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
disabled: true
@ -168,13 +168,13 @@ En YAML :
Variable dont une valeur est requise :
```
```xml
<variable name="my_variable" mandatory="True"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
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 :
```
```xml
<variable name="my_variable" type="boolean" mandatory="False"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
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 :
```
```xml
<variable name="my_variable">
<value>value</value>
</variable>
@ -209,7 +209,7 @@ Il est possible de fixer les valeurs par défaut d'une variable :
En YAML :
```
```yml
- variable:
name: my_variable
value:
@ -218,7 +218,7 @@ En YAML :
Pour une variable multiple, il est possible de préciser plusieurs valeurs :
```
```xml
<variable name="my_variable" multi="True">
<value>value 1</value>
<value>value 2</value>
@ -227,7 +227,7 @@ Pour une variable multiple, il est possible de préciser plusieurs valeurs :
En YAML :
```
```yml
- variable:
name: my_variable
multi: true
@ -252,26 +252,26 @@ Attention trois attributs ne sont redéfinisable :
Créons notre variable :
```
```xml
<variable name="my_variable"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
```
Et redéfinisons là :
```
```xml
<variable name="my_variable" redefine="True" description="New description"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
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 :
```
```xml
<variable name="my_variable" exists="False"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
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à :
```
```xml
<variable name="my_variable" redefine="True" exists="True" hidden="True"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
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 :
```
```xml
<variable name="my_variable" auto_save="True">
<value>my_value</value>
</variable>
@ -327,7 +327,7 @@ Voici une variable a valeur automatiquement modifiée :
En YAML :
```
```yml
- variable:
name: my_variable
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 :
```
```xml
<variable name="server_deployed" type="boolean">
<value>False</value>
</variable>
@ -357,7 +357,7 @@ Voici un variable à valeur en lecture seule automatique :
En YAML :
```
```yml
- variable:
name: server_deployed
type: boolean
@ -383,13 +383,13 @@ Concrêtement, le contenu de cet attribut est enregister dans une "information"
Exemple :
```
```xml
<variable name="my_variable" test="yes"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
test: yes
@ -397,13 +397,13 @@ En YAML :
Il est possible de préciser plusieurs valeurs avec le séparateur "|" :
```
```xml
<variable name="my_variable" test="yes|no"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
test: yes|no
@ -423,13 +423,13 @@ Cas particuliers :
Pour définir le [mode](../mode.md) :
```
```xml
<variable name="my_variable" mode="expert"/>
```
En YAML :
```
```yml
- variable:
name: my_variable
mode: expert
@ -442,13 +442,13 @@ C'est particulièrement utile si un service peut être fournit par plusieurs ser
Pour déclarer :
```
```xml
<variable name="my_variable" provider="my_function"/>
```
En YAML :
```
```yml
- variable:
name: 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 :
```
```python
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 :
```
```xml
<variable name="my_variable" type="choice">
<choice>val1</choice>
<choice>val2</choice>
@ -14,7 +14,7 @@ Il est possible d'imposer une liste de valeur pour une variable particulière :
En YAML :
```
```yml
- variable:
name: my_variable
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é :
```
```xml
<variable name="my_variable" type="choice">
<choice>val1</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 :
```
```yml
- variable:
name: my_variable
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 :
```
```xml
<variable name="my_variable" type="choice">
<choice>val1</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 :
```
```yml
- variable:
name: my_variable
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 :
```
```xml
<variable name="my_variable" redefine="True">
<choice>val4</choice>
</variable>
@ -97,7 +97,7 @@ Pour ajouter un choix à une variable à choix existante, rien de plus simple, j
En YAML :
```
```yml
- variable:
name: my_variable
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" :
```
```xml
<variable name="my_variable" redefine="True" remove_choice="True">
<choice>val1</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 :
```
```yml
- variable:
name: my_variable
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 :
```
```xml
<variable name="my_variable" type="choice">
<choice type="variable">other_variable</choice>
</variable>
@ -142,7 +142,7 @@ Une variable à valeur multiple peut servir de source des choix :
En YAML :
```
```yml
- variable:
name: my_variable
type: choice
@ -156,7 +156,7 @@ Seul un choice de type "variable" est possible par variable.
## Un variable à choix provenant d'une fonction
```
```xml
<variable name="my_variable" type="choice">
<choice type="function" name="range">
<param type="number">0</param>
@ -168,7 +168,7 @@ Seul un choice de type "variable" est possible par variable.
En YAML :
```
```yml
- variable:
name: my_variable
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 :
```
```xml
<?xml version='1.0' encoding='UTF-8'?>
<rougail>
<variables/>
@ -13,7 +13,7 @@ Il est placé à la racine du dictionnaire :
En YAML :
```
```yml
version: '0.10'
variables: none
```