如何将特定变量传递给Ansible循环中的每个迭代

  • 本文关键字:循环 Ansible 迭代 变量 ansible
  • 更新时间 :
  • 英文 :


用于以下任务:

- name: include my task
include_tasks: change_state.yaml
loop:
- "{{ var1 }}"
- "{{ var2 }}"
loop_control:
loop_var: switch

我想为每个迭代传递一个额外的变量,比如第一次迭代(var1) --> interface: "{{interface1}}"和第二次迭代(var2) --> interface: "{{ interface2 }};有没有办法在Ansible中实现这一点?

您可以从列表项中提取一个dict:

- name: include my task
include_tasks: change_state.yaml
loop:
- var: "{{ var1 }}"
interface: "{{ interface1 }}"
- var: "{{ var2 }}"
interface: "{{ interface2 }}"
loop_control:
loop_var: switch

然后通过switch.varswitch.interface访问change_state.yaml

最新更新