我想用 ansible 更新列表,其中包含基于某些条件的字典项
例如:
list1:
- {"name": "test1", "uid": 100, "gid": 250}
- {"name": "test2", "uid": 101, "gid": 250}
- {"name": "test3", "uid": 103, "gid": 250}
- {"name": "test4", "uid": 104, "gid": 250}
list2: [100, 101]
list3: [102,103]
如果 uid 与 list2 中的项目匹配,它将更改 gid=300,如果与 list3 匹配,则将其更新为 400,其余项目在 list1 中保持不变
请建议我如何在上述条件下生成 list1
例如
给
更新
在 Ansible 2.12 及更高版本中没有必要迭代列表。而是更新管道中的列表。下面的表达式给出相同的结果
细节