Ansible: impossible d'accéder à la valeur du dictionnaire - erreur obtenue: 'objet dict' n'a pas d'attribut
---
- hosts: test
tasks:
- name: print phone details
debug: msg="user {{ item.key }} is {{ item.value.name }} ({{ item.value.telephone }})"
with_dict: users
vars:
users:
alice: "Alice"
telephone: 123
Lorsque j'exécute ce programme, j'obtiens cette erreur:
One or more undefined variables: 'dict object' has no attribute 'name'
Ce seul fait, il fonctionne parfaitement:
debug: msg="user {{ item.key }} is {{ item.value }}"
Ce qui me manque?
source d'informationauteur user1692261
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas exactement le même code. Si vous regardez attentivement, à l'exemple, vous verrez que, en vertu de
users
vous avez plusieurs dicts.Dans votre cas, vous avez deux dicts mais avec une seule clé (
alice
outelephone
) avec des valeurs respectives de "Alice", 123.Que vous aimeriez faire :
(à noter que j'ai changé d'hôte à
localhost
afin que je puisse l'exécuter facilement, et a ajoutégather_facts: no
puisqu'il n'est pas nécessaire ici. YMMV.)