627 shaares
Avec Python2, dict.keys()
, dict.values()
et dict.items()
retournent une liste. Avec Python3, ces méthodes retournent un objet de type "dictionary view".
Utiliser une loop avec une de ces 3 méthodes renvoie l'erreur suivante: 'dict object' has no attribute \"dict_keys(['hosts'])
Il faut utiliser le filtre list pour convertir l'objet en liste:
vars:
hosts:
testhost1: 127.0.0.2
testhost2: 127.0.0.3
tasks:
- debug:
msg: '{{ item }}'
# Only works with Python 2
#loop: "{{ hosts.keys() }}"
# Works with both Python 2 and Python 3
loop: "{{ hosts.keys() | list }}"