rougail/doc/family/simple.md
2023-10-30 09:41:11 +01:00

4 KiB

Une famille

Une famille est un conteneur de variables et de sous-famille.

Pour décrire une famille il faut mettre au minimum un nom :

---
version: '1.0'
my_family:
  type: family

Elle peut être placé dans une autre famille :

---
version: '1.0'
my_family:
  my_subfamily:
    type: family

Il est recommander de n'utiliser que des lettres, chiffres et '_' dans le nom des familles. Le nom ne pas commencé par le caractère "_".

Attention, une famille ou sous-famille vide sera automatiquement supprimée.

Type, description et aide de la famille

En plus d'un nom, il est possible de mettre un type pour aider le moteur à detecter le bon type de cette objet :

---
version: '1.0'
my_family:
  type: family

Si la famille contient une variable ou famille du nom "type", on peut préciser le type de la famille avec l'attribut "_type" :

---
version: '1.0'
my_family:
  _type: family
  type:
    type: family

On peut également préciser une "description" à la famille. C'est une information "utilisateur" qui nous permettra d'avoir des informations complémentaires sur le contenu de cette famille :

---
version: '1.0'
my_family:
  description: This is a great family

Si la famille contient une variable ou famille du nom "description", on peut préciser la description de la famille avec l'attribut "_description" :

---
version: '1.0'
my_family:
  _description: This is a great family
  description:
    description: This is a other great family

En plus de la description, il est possible de préciser une aide complémentaire :

---
version: '1.0'
my_family:
  help: This is a great family

Si la famille contient une variable ou famille du nom "help", on peut préciser l'aide de la famille avec l'attribut "_help" :

---
version: '1.0'
my_family:
  _help: This is a great family
  help:
    help: This is a other great family

Mode de la famille

Le mode par défaut d'une famille correspond au mode le plus petit entre la famille parente, les variables enfants ou des familles enfants qui sont contenu dans cette famille.

Changer le mode d'une famille permet de définir le mode par défaut des variables ou des familles inclusent dans cette famille.

Pour définir le mode :

---
version: '1.0'
my_family:
  mode: expert

Si la famille contient une variable ou famille du nom "mode", on peut préciser le mode de la famille avec l'attribut "_mode" :

---
version: '1.0'
my_family:
  _mode: expert
  mode:
    mode: expert

Famille invisible

Il est possible de cacher une famille, ainsi que toutes les variables et des familles inclusent dans cette famille.

Cacher une famille signifie qu'elle ne sera pas visible lorsqu'on modifie la configuration du service. Par contre ces variables sont accessibles lorsqu'on va utiliser ces variables.

Pour cacher une famille :

---
version: '1.0'
my_family:
  hidden: true

Si la famille contient une variable ou famille du nom "hidden", on peut préciser l'invisiblité de la famille avec l'attribut "_hidden" :

---
version: '1.0'
my_family:
  _hidden: true
  hidden:
    hidden: true

La valeur de cet attribut peut être fixé par un calcul

Famille désactivé

Il est possible de désactiver une famille, ainsi que toutes les variables et des familles inclusent dans cette famille.

Désactiver une famille signifie qu'elle ne sera pas visible lorsqu'on modifie la configuration du service, ni lorsqu'on va utiliser ces variables.

Pour cacher une famille :

---
version: '1.0'
my_family:
  disabled: true

Si la famille contient une variable ou famille du nom "disabled", on peut préciser la désactivation de la famille avec l'attribut "_disabled" :

---
version: '1.0'
my_family:
  _disabled: true
  disabled:
    disabled: true

La valeur de cet attribut peut être fixé par un calcul