在 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 }}"