creole/local/XX_dico_exemple.xml.sample

102 lines
4.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<creole>
<!-- Fichiers et services gérés par Creole -->
<files>
<!-- Déclaration d'un fichier dans une liste des fichiers qui vont
utiliser les variables et être générés par Creole -->
<file filelist='demo' name='/etc/demo/fichier.conf' mkdir='True' rm='True'/>
</files>
<!-- Conteneurs et configurations spécifiques liées aux conteneurs EOLE -->
<containers>
<!-- Déclaration d'un conteneur membre d'un groupe de conteneurs -->
<container name='nom_conteneur' group='group_conteneurs'>
<!-- Les balises packages servent à lister les paquets à installer dans le conteneur-->
<!-- Si le module n'est pas en mode conteneur les paquets seront installés quand même sur le serveur-->
<package>nom-du-paquet-a-installer-dans-le-conteneur</package>
<!-- Service a gérér dans le conteneur -->
<!-- Si la machine n'est pas en mode conteneur le service sera géré sur le serveur -->
<service servicelist='demoservices'>nom-du-service-a-lancer-dans-le-conteneur</service>
</container>
</containers>
<!-- Déclaration des variables de configurations -->
<variables>
<!-- Familles de variables, correspondent aux onglets dans GenConfig -->
<family name='famille_demo'>
<!-- Déclaration d'une variable de type "oui/non" avec "oui" comme valeur par défaut -->
<variable name='activer_demo' type='oui/non' description='Activer le service de demonstration'>
<value>oui</value>
</variable>
<!-- Déclaration d'une variable de type "string" sans valeur par défaut -->
<variable name="chaine" type='string' description='Variable de type String'/>
<!-- Déclaration d'une variable de type "IP" sans valeur par défaut -->
<variable name="adresse_ip" type='ip' description='Variable de type adresse IP'/>
<!-- Déclaration d'une variable de type "string" avec "je suis une chaine" comme valeur par défaut -->
<variable name="chaine2" type='string' description='Variable de type String avec une valeur par défaut'>
<value>je suis une chaine</value>
</variable>
<!-- Variable avec des valeurs multiples "multi" -->
<variable name='ma_multi' type='string' multi="true" description="Un variable avec plusieurs valeurs"/>
<!-- Variables cachée par une autre -->
<variable name='varquicache' type='oui/non' description="Répondez oui pour voir la variables que je cache">
<value>non</value>
</variable>
<variable name='variablecachee' type='string' description='Je ne suis plus cachée'/>
<!-- Attention pour cache effectivement la variable il faut déclarer une condition frozen_if_in -->
<!-- Groupe de variables -->
<!-- variable "maitre" du groupe -->
<variable name='ma_master' type='string' description='Je suis une variable maitre' multi="True"/>
<variable name='ma_slave' type='string' description='Je suis une variable esclave obligatoire' mandatory="True"/>
<!-- Attention il faut délcarer un groupe dans les conditions pour le le groupe soit vraiment un groupe -->
</family>
</variables>
<!-- Déclaration des contraintes sur le traitement des fichiers -->
<constraints>
<!-- Condition de traitement :
ici les cibles de la contrainte dans les balises "target" seront désactivées si la valeur de
la variable activer_demo est égale à "non" -->
<condition name='disabled_if_in' source='activer_demo'>
<!-- Valeur de la variable source pour que la condition soit validée -->
<param>non</param>
<!-- Cible de type famille, conduit à la désactivation de toutes les variables de la famille -->
<target type='family'>famille_demo</target>
<!-- Cible de type filelist, les fichiers de la filelist ne seront pas générés si la condition est vérifiée -->
<target type='filelist'>demo</target>
<!-- Cible de type servicelist, les services de la filelist ne seront plus gérés par Creole -->
<target type='servicelist'>demoservices</target>
</condition>
<!-- Condition frozen_if_in qui cache effectivement la variable "variablecachee" si "varquicache" est égale à "non" -->
<condition name='frozen_if_in' source='varquicache'>
<param>non</param>
<target type='variable'>variablecachee</target>
</condition>
<!-- Remplir automatiquement une variable avec la valeur d'une autre -->
<fill name='calc_val' target='chaine'>
<param type='eole' name='valeur'>nom_machine</param>
</fill>
<!-- Déclaration du groupe de variable avec la variable maitre et esclave -->
<group master='ma_master'>
<slave>ma_slave</slave>
</group>
</constraints>
<!-- Balise d'aide pour affichier des info-bulles dans GenConfig lorsqu'on survolle les variables -->
<help>
<variable name='activer_demo'>Message d'aide du type Activier un service type pour les besoins de démonstration</variable>
</help>
</creole>