2021-12-11 16:33:55 +01:00
# 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` ) :
2022-11-03 22:17:43 +01:00
```xml
2021-12-11 16:33:55 +01:00
< 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 >
```
2022-11-02 22:52:50 +01:00
En YAML :
2022-11-03 22:17:43 +01:00
```yml
2022-11-02 22:52:50 +01:00
variables:
- variable:
name: zones_list
type: string
2022-11-03 22:16:52 +01:00
multi: true
2022-11-02 22:52:50 +01:00
value:
- text: 'zone1'
- text: 'zone2'
- text: 'zone3'
- variable:
name: netwokd_configurations
type: filename
2022-11-03 22:16:52 +01:00
multi: true
hidden: true
2022-11-02 22:52:50 +01:00
```
2021-12-11 16:33:55 +01:00
Calculons la valeur de la seconde variable à partir de la première :
2022-11-03 22:17:43 +01:00
```xml
2021-12-11 16:33:55 +01:00
< 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 >
```
2022-11-02 22:52:50 +01:00
En YAML :
2022-11-03 22:17:43 +01:00
```yml
2022-11-02 22:52:50 +01:00
constraints:
- fill:
- name: calc_value
param:
- text: /systemd/network/10-
- type: variable
text: zones_list
- text: -risotto.network
- name: join
- name: multi
type: boolean
2022-11-03 22:16:52 +01:00
text: true
2022-11-02 22:52:50 +01:00
target:
- text: netwokd_configurations
```
2021-12-11 16:33:55 +01:00
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 :
2022-11-03 22:17:43 +01:00
```xml
2021-12-11 16:33:55 +01:00
< services >
< service name = "systemd-networkd" >
< file file_type = "variable" source = "network" variable = "zones_list" > netwokd_configurations< / file >
< / service >
< / services >
```
2022-11-02 22:52:50 +01:00
En YAML :
2022-11-03 22:17:43 +01:00
```yml
2022-11-02 22:52:50 +01:00
services:
- service:
- name: systemd-networkd
file:
- file_type: variable
source: network
variable: zones_list
text: netwokd_configurations
```