Jinja : boucler sur un attribut d'un dictionnaire
This commit is contained in:
parent
a0194be83a
commit
e88619946b
|
@ -746,6 +746,34 @@ c: a | default([1, 2], true)
|
|||
|
||||
C'est le second paramètre (`true`) qui permet à `default()` d'agir lorsque la variable `a` n'est pas seulement nulle ou indéfinie, mais aussi en cas de chaîne vide, tableau vide…
|
||||
|
||||
* boucler sur un attribut d'un dictionnaire
|
||||
|
||||
On veut par exemple créer les groupes des utilisateurs du dictionnaire suivant :
|
||||
|
||||
~~~
|
||||
users:
|
||||
user1:
|
||||
name: user1
|
||||
groups: group1
|
||||
|
||||
user2:
|
||||
name: user2
|
||||
groups: group2
|
||||
|
||||
user3:
|
||||
name: user3
|
||||
groups: group1
|
||||
~~~
|
||||
|
||||
On va donc faire une boucle avec la liste des groupes définit dans l'attribut "groups" :
|
||||
|
||||
~~~
|
||||
- name: "Create secondary groups"
|
||||
group:
|
||||
name: "{{ item }}"
|
||||
with_items: "{{ users.values() | map(attribute='groups') | list | unique }}"
|
||||
~~~
|
||||
|
||||
## Erreurs
|
||||
|
||||
Les messages d'erreurs ne sont pas le point fort d'Ansible. Il n'est pas toujours clair de savoir si c'est un soucis de syntaxe YAML, un problème de sémantique d'Ansible ou une erreur dans l'utilisation de Jinja2. De plus, Ansible tente de faire des recommandations, mais elles sont des fois plus déroutantes qu'éclairantes. En voici quelques unes que nous avons rencontrées.
|
||||
|
|
Loading…
Reference in a new issue