我创建了一个 ansible 剧本。而且我希望仅当 json_query 返回元素时才执行任务。
json查询必须返回一个数组,搜索数组数组中的元素是否存在于另一个数组的元素中。
我已经尝试使用带有简化查询的 json_query (jmespath) 我阅读了 jmespath 文档并尝试使用网站教程。阅读 ansible 文档并尝试查找示例。
我认为好的解决方案是使用包含内置函数和映射函数。但是地图和文档的例子对我来说并不清楚。
例子 :
array_of_array_to_check : [
{
hosts : ["host1", "host2"],
name : "name1"
},
{
hosts : [ "host3", "host1"],
name : "name2"
},
{
hosts : ["host4", "host5"],
name : "name3"
}
]
array_parameters: ["host1", "host18"]
预期的 :
result: [
{
hosts: ["host1", "host2"],
name: "name1"
},
{
hosts: ["host3", "host1"],
name: "name2"
}
]