Комбинируйте внятный список dict с ansible - PullRequest
0 голосов
/ 25 июня 2019

У меня есть два списка в ansible:

toto:
  - name: titi
  - name: tata

titi:
  - name: titi
    ack: true

Можно ли объединить эти два списка по имени ключа, чтобы получить следующее:

new_list:
  - name: titi
    ack: true
  - name: tata

Я нашел способобъединить dict, объединить список, поскольку я не знаю, смогу ли я сделать следующее.

Спасибо.

1 Ответ

1 голос
/ 25 июня 2019

Q: Is it possible to combine these two lists by the name key?

A: Да. Это возможно с фильтром selectattr . Задачи ниже

- set_fact:
    new_list: "{{ new_list|default([]) +
                  [ item|
                    combine(titi|selectattr('name', 'match', item.name)|
                    list) ] }}"
  loop: "{{ toto }}"
- debug:
    var: new_list

1009 * дают *

"new_list": [
    {
        "ack": true, 
        "name": "titi"
    }, 
    {
        "name": "tata"
    }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...