ansible - ANSIBLE - 如何使用 with_items 和库存组生成“列表条目”列表
问题描述
我正在尝试通过使用 with_items 和某个库存组的主机列表来生成“列表条目”列表。例如:
如果我的清单中有两台主机
[myservice]
10.0.0.1
10.0.0.2
然后我想通过执行以下操作来创建一个 yaml 列表
service_clients:
- connection_type: "local"
database: "all"
user: "bob"
address:"127.0.0.1/32"
- connection_type: "host"
database: "all"
user: "all"
address: "::1/128"
- connection_type: "host"
database: "myservicedb"
user: "all"
address: "{{ item }}/24"
with_items: "{{groups['myservice']}}"
然而,上述失败。我无法遍历主机列表并创建 X,对于此示例,两个新元素。我怎样才能使这项工作?
提前谢谢你,ioigoume
解决方案
你有一个非常模糊的要求。对于一个简单的配置文件,我会说您需要使用{% for %}
Jinja 的功能。对于特定类型的迭代(只需用逗号加入它们),可以使用|join()
Jinja 的过滤器。
但是您已经要求一种通过with_items
.
这是一种构造列表的方法with_items
:
- name: Processing list
set_fact:
my_new_list: '{{ my_new_list|default([]) + [item] }}'
with_items: '{{ groups.myservice }}'
我希望它会有所帮助,但我真的很想你需要澄清你的要求。
推荐阅读
- sql - 具有多个值的 ORACLE LIKE
- python - 通过 QStardItemModel() 在 QTreeView()-Object 中存储和检索项目/行的数据
- php - 解析 XMLns 文件响应 PHP
- python - 如何更改在 PyTorch 的嵌入层上执行一维卷积的轴?
- spring-boot - 如何重新启动失败的spring批处理csv插入mysql?
- rust - 什么是隐式强制传递性的例子?
- javascript - 有什么方法可以将变量 A 从按钮(onlick=xxx)传递给 java 或 jsp
- xaml - Xamarin Forms / Crossplatform - 具有仅影响部分屏幕的选项卡式布局
- r - 如何使两列以上的 plot.data.frame 与 par(mfrow) 一起使用
- android - Flutter pageview:查找第一页和最后一页并滑动方向