如何將Ansible的with_item與變量一起使用?我正在嘗試在Ansible Playbook中轉換列表項的某些字段。這是最簡單的再現路徑,跳過轉換。結果應與users變量相同。---# Run with:# ansible-playbook -i "localhost," loop3.yml- hosts: localhost
connection: local
gather_facts: false
vars:
users:
- name: paul
uid: 1
- name: pete
uid: 2
tasks:
- set_fact:
args:
useritem:
name: '{{ item.name }}'
uid: '{{ item.uid }}'
with_items:
- users
register: sf_result
- debug: var=sf_result
- set_fact:
userslist: "{{ sf_result.results | map(attribute='ansible_facts.useritem') | list }}"
- debug: var=userslist我收到此錯誤:TASK [set_fact useritem={u'name': u'{{ item.name }}', u'uid': u'{{ item.uid }}'}] ***fatal: [localhost]: FAILED! => {"failed": true, "msg": "ERROR! 'unicode object' has no attribute 'name'"}有幾個 例子很接近我needbut我可以用找不到工作示例set_fact以及with_items和項目,如地圖。我已經嘗試了Ansible 1.9.2,1.9.4和2.0.0-0.6.rc1,但是沒有更多的成功。Ansible 2應允許跳過第二次調用set_fact但錯誤發(fā)生在到達之前。
添加回答
舉報
0/150
提交
取消