在 Ansible var 文件中创建一个列表,并在播放中调用所有项目以供参考
Create a list within Ansible var file, and have all items be called for reference in plays
抱歉,如果之前有人问过这个问题。我找遍了,似乎无法在上面找到任何东西。我是 ansible/coding 世界的新手,所以如果我的术语不正确,我会提前道歉。
所以,我想获取一份 IP 地址列表,并将它们全部分配给一个变量。例如,编写一个 host_var
文件,创建一个变量,并调用该变量的一组项。
prefixes:
- 192.168.1.1/24
- 192.168.1.2/24
- 192.168.1.3/24
然后,在剧本中,我想 运行 一个命令,并将该命令的输出与 {{ prefixes }}
变量中的每一行进行比较。
这可能吗?这将如何完成?如果是这样,您是否也可以将其限制为该变量内的特定项目?
谢谢!
您已经在示例中定义了变量。
只需继续您的剧本并使用 {{ with_items }}
。另请阅读文档 here.
---
- name: Test Playbook
hosts: localhost
gather_facts: false
vars:
prefixes:
- 192.168.1.1/24
- 192.168.1.2/24
- 192.168.1.3/24
tasks:
- name: Debug prefixes
debug:
msg: "{{ item }}"
with_items: "{{ prefixes }}"
抱歉,如果之前有人问过这个问题。我找遍了,似乎无法在上面找到任何东西。我是 ansible/coding 世界的新手,所以如果我的术语不正确,我会提前道歉。
所以,我想获取一份 IP 地址列表,并将它们全部分配给一个变量。例如,编写一个 host_var
文件,创建一个变量,并调用该变量的一组项。
prefixes:
- 192.168.1.1/24
- 192.168.1.2/24
- 192.168.1.3/24
然后,在剧本中,我想 运行 一个命令,并将该命令的输出与 {{ prefixes }}
变量中的每一行进行比较。
这可能吗?这将如何完成?如果是这样,您是否也可以将其限制为该变量内的特定项目?
谢谢!
您已经在示例中定义了变量。
只需继续您的剧本并使用 {{ with_items }}
。另请阅读文档 here.
---
- name: Test Playbook
hosts: localhost
gather_facts: false
vars:
prefixes:
- 192.168.1.1/24
- 192.168.1.2/24
- 192.168.1.3/24
tasks:
- name: Debug prefixes
debug:
msg: "{{ item }}"
with_items: "{{ prefixes }}"