# Variable ## Un variable Une variable est forcement dans [variables](../variables.md) ou dans une [famille](../family/README.md). Une variable est déjà un nom. C'est à dire qu'on pourra utiliser plus tard la variable via ce nom. ``` ``` ## Description et aide sur la 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 : ``` ``` En plus de la description, il est possible de préciser une aide complémentaire : ``` ``` ## Le type de la variable Une variable a un type. Ce type permet de définir les valeurs acceptées par cette variable : - string : chaine de caractère (type par défaut) - number : un nombre - float : un chiffre flottant - boolean : True ou False si aucune valeur n'est défini la valeur par défaut cette variable sera True - password : un mot de passe - mail : une adresse mail - filename : nom de fichier au sens Unix (exemple : '/etc/passwd') - date : une date au format "%Y-%m-%d" (exemple : "2021-01-30") - unix_user : nom d'utilisateur au sens Unix - ip : n'importe quelle adresse IPv4 - cidr : n'importe quelle adresse IPv4 au format CIDR - local_ip : adresse IPv4 sur un réseau local, si l'adresse IPv4 n'est pas local, un warning sera afficher mais la valeur sera accepté tout de même - netmask : masque d'une adresse IPv4 - network : adresse réseau - network_cidr : adresse réseau au format CIDR - broadcast : adresse de diffusion - netbios : nom netbios - domain : nom de domaine - hostname : nom d'hôte - web_address : adresse web (http://www.cadoles.com/) - port : port - mac : adresse MAC - schedule : périodicité du schedule, les valeurs possibles sont "none", "daily", "weekly" ou "monthly" - schedulemod : type de schedule, les valeurs possibles sont "pre" ou "post" Pour définir le type d'une variable : ``` ``` ## Variable à valeur multiple Par défaut une variable ne peut acceuillir qu'une seule valeur. Il peut être utile de pouvoir spécifier plusieurs valeurs à une même variable. Pour définir une variable à valeur multiple : ``` ``` ## Mode de la variable Le [mode](../mode.md) par défaut d'une variable correspond au [mode](../mode.md) de la [famille](../family/README.md). Si la variable n'est pas dans une famille, la variable aura le mode "normal" par défaut. Pour définir le [mode](../mode.md) : ``` ``` ## Variable invisible Il est possible de cacher une variable. Cacher une variable signifie qu'elle ne sera pas visible lorsqu'on modifie la configuration du service. Par contre cette variable sont accessibles lorsqu'on va l'utiliser. Pour cacher une variable : ```