如何通过临时命令将多个值传递给 "with_items"?
How to pass multiple values to "with_items" through ad-hoc command?
这里是 ansible-playbook 示例,如果我想通过终端的临时命令传递 {{ item.first }} 和 {{ item.second }} 的值。
我们该怎么做?
提前致谢..
---
- hosts: localhost
tasks:
- name: Here we are providing a list which have items containing multiple
debug:
msg: "current first value is {{ item.first }} and second value is {{ item.second }}"
with_items:
- { first: lemon, second: carrot }
- { first: cow, second: goat }
因此,要通过从命令行(或其他任何地方)传递值来循环执行 debug
任务,您需要为任务使用一个变量(例如 with_items: "{{ my_var }}"
)。
有很多方法可以为变量提供值,但是对于这个特定的需求,我们可以使用--extra-vars
。
考虑如下剧本myplaybook.yml
:
- hosts: localhost
tasks:
- name: Here we are providing a list which have items containing multiple
debug:
msg: "current first value is {{ item.first }} and second value is {{ item.second }}"
with_items: "{{ my_var }}"
可以 运行 通过将此变量传递到命令行为:
ansible-playbook myplaybook.yml -e '{my_var: [{first: lemon, second: carrot}, {first: cow, second: goat}]}'
请注意可以提供变量的其他方法(上面链接),如果它们比这种方法更有效,请使用它们。
这里是 ansible-playbook 示例,如果我想通过终端的临时命令传递 {{ item.first }} 和 {{ item.second }} 的值。
我们该怎么做?
提前致谢..
---
- hosts: localhost
tasks:
- name: Here we are providing a list which have items containing multiple
debug:
msg: "current first value is {{ item.first }} and second value is {{ item.second }}"
with_items:
- { first: lemon, second: carrot }
- { first: cow, second: goat }
因此,要通过从命令行(或其他任何地方)传递值来循环执行 debug
任务,您需要为任务使用一个变量(例如 with_items: "{{ my_var }}"
)。
有很多方法可以为变量提供值,但是对于这个特定的需求,我们可以使用--extra-vars
。
考虑如下剧本myplaybook.yml
:
- hosts: localhost
tasks:
- name: Here we are providing a list which have items containing multiple
debug:
msg: "current first value is {{ item.first }} and second value is {{ item.second }}"
with_items: "{{ my_var }}"
可以 运行 通过将此变量传递到命令行为:
ansible-playbook myplaybook.yml -e '{my_var: [{first: lemon, second: carrot}, {first: cow, second: goat}]}'
请注意可以提供变量的其他方法(上面链接),如果它们比这种方法更有效,请使用它们。