rougail/doc/fill/examples.md

1.4 KiB

Exemples de calcule

Calculer les noms de modèle à généré à partir d'une variable

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) :

<variables>
  <variable name="zones_list" type="string" multi="True">
    <value>zone1</value>
    <value>zone2</value>
    <value>zone3</value>
  </variable>
  <variable name="netwokd_configurations" type="filename" multi="True" hidden="True"/>
</variables>

Calculons la valeur de la seconde variable à partir de la première :

<constraints>
  <fill name="calc_value">
    <param>/systemd/network/10-</param>
    <param type="variable">zones_list</param>
    <param>-risotto.network</param>
    <param name="join"></param>
    <param name="multi" type="boolean">True</param>
    <target>netwokd_configurations</target>
  </fill>
</constraints>

Le contenu de la variable netwokd_configurations sera alors :

  • /systemd/netword/10-zone1/risotto.network
  • /systemd/netword/10-zone2/risotto.network
  • /systemd/netword/10-zone3/risotto.network

Enfin déclarer une balise file en utilisant ces deux variables :

<services>
  <service name="systemd-networkd">
    <file file_type="variable" source="network" variable="zones_list">netwokd_configurations</file>
  </service>
</services>