循环遍历字典列表并返回ansible

时间:2018-04-10 07:15:16

标签: ansible

我们说我有这个清单:

myList
- name: Bob
  age: 25
- name: Alice
  age: 18
- name: Bryan
  age: 20

我想要的只是循环遍历 myList 并获取名称列表并将其设置为变量 nameList

nameList
- name: Bob
- name: Alice
- name: Bryan

在ansible中是否有一个简短的语法?

1 个答案:

答案 0 :(得分:4)

如果您需要一个包含单name个键的词典列表(如您的示例所示,那么:

{{ myList | map('json_query','{name:name}') | list }}

这导致:

[
  { "name": "Bob" },
  { "name": "Alice" },
  { "name": "Bryan" }
]

如果您需要简单的名单:

{{ myList | map(attribute='name') | list }}

这导致:

[ "Bob", "Alice", "Bryan" ]