我在 default/main.yml 中有一個以下字典
servers_as:
ABxxxxx1:
- server1-WASN_xcv_02.service
- server2-WASN_xcv_01.service
- server2-WASN_xcv_02.service
CBxxxx2:
- server1-abcd_02.service
- server1-abcd_03.service
- server2-abcd_01.service
- server2-abcd_02.service
- server2-abcd_03.service
我試圖用長度輸出每個值,但它只給了我最後一個值。我如何從 0-(servers_as | legnth ) 運行它
- name: check output list
debug:
msg: "{{ item.value[ lookup('dict', servers_as) | length] }}"
loop: "{{ lookup('dict', servers_as) }}"
when:
- "item.key in inventory_hostname"
預期輸出是啟動服務的每個值的名稱:
- name: Start all services
systemd:
name: "{{ item.value }}.service"
state: started
loop: "{{ lookup('dict', servers_as) }}"
when:
- "item.key in inventory_hostname"
作為如何迭代列表的提示
- name: Start all services
debug:
msg: "Start {{ item }}"
loop: "{{ servers_as[inventory_hostname]|d([]) }}"
給
ok: [ABxxxx1] => (item=server1-WASN_xcv_02.service) =>
msg: Start server1-WASN_xcv_02.service
ok: [ABxxxx1] => (item=server2-WASN_xcv_01.service) =>
msg: Start server2-WASN_xcv_01.service
ok: [ABxxxx1] => (item=server2-WASN_xcv_02.service) =>
msg: Start server2-WASN_xcv_02.service
ok: [CBxxxx2] => (item=server1-abcd_02.service) =>
msg: Start server1-abcd_02.service
ok: [CBxxxx2] => (item=server1-abcd_03.service) =>
msg: Start server1-abcd_03.service
ok: [CBxxxx2] => (item=server2-abcd_01.service) =>
msg: Start server2-abcd_01.service
ok: [CBxxxx2] => (item=server2-abcd_02.service) =>
msg: Start server2-abcd_02.service
ok: [CBxxxx2] => (item=server2-abcd_03.service) =>
msg: Start server2-abcd_03.service
如果這是您想要的,請使用systemd而不是debug
- name: Start all services
systemd:
name: "{{ item }}"
state: started
loop: "{{ servers_as[inventory_hostname]|d([]) }}"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句