【发布时间】:2023-02-07 06:04:26
【问题描述】:
我有一个可靠的 json_query'd 结果,我正试图将其用作另一本剧本的清单,但我缺乏处理数据的菜鸟技能。
json_query 是:
community.general.json_query('device_info.value[].{ hostname: DeviceName, serial: DeviceServiceTag, model: Model, connected: ConnectionState, networkaddress: DeviceManagement[0].NetworkAddress }')
结果是这样的(现实世界中有 100 多个主机):
[
{
"hostname": "thingy1.company.org",
"serial": "serial1",
"model": "modelA",
"connected": true,
"networkaddress": "1.2.3.4"
},
{
"hostname": "thingy2.company.org",
"serial": "serial2",
"model": "modelB",
"connected": true,
"networkaddress": "1.2.3.5"
}
]
我正在尝试将此结果转换为可用的 yaml 清单文件。这就是我想要达到的目的。
groupname:
hosts:
thingy1.company.org:
connected: true
model: modelA
networkaddress: 1.2.3.4
serial: serial1
thingy2.company.org:
connected: true
model: modelB
networkaddress: 1.2.3.5
serial: serial2
有什么技巧可以帮助菜鸟吗?
【问题讨论】:
标签: ansible yaml ansible-inventory jmespath