networking - 在 Ansible var 文件中创建一个列表,并在 play 中调用所有项目以供参考
问题描述
抱歉,如果之前有人问过这个问题。我已经看遍了,似乎找不到任何东西。我对 ansible/coding 世界比较陌生,所以如果我的术语不正确,我提前道歉。
所以,我想获取一个 IP 地址列表,并将它们全部分配给一个变量。例如,编写一个host_var
文件,创建一个变量,并为该变量调用一堆项目。
prefixes:
- 192.168.1.1/24
- 192.168.1.2/24
- 192.168.1.3/24
然后,在剧本中,我想运行一个命令,并将该命令的输出与该{{ prefixes }}
变量中的每一行进行比较。
这可能吗?这将如何完成?如果是这样,您是否也可以将其限制为该变量中的特定项目?
谢谢!
解决方案
您已经在示例中定义了变量。
只需继续您的剧本并使用{{ with_items }}
. 另请阅读此处的文档。
---
- 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 }}"
推荐阅读
- java - 如何使用条件数组过滤数组
- r - 开关不会从上传的文件中找到列,除非上传的文件是同时创建的
- excel - 从一行数据创建多个 Outlook 约会
- markdown - Jekyll 中的 Opengraph 链接预览
- azure - 如何修复 Azure Pipelines 中的“错误处理方法:“System.Void Prism.Navigation.PageNavigationService”错误
- openlayers - OpenLayers 显示倾斜的多边形
- google-apps-script - 如何在 App Script 中请求内部 API
- html - XPath:获取父母列表,但不获取他们的任何孩子
- date - 使用 Pyspark 在 Hive 中搜索 IS_DATE 等效项
- .htaccess - HTaccess 不转发到 https