2016-01-22 2 views
0

В анзибле, если у меня есть список переменного со следующей смешанной структурой:анзибль преобразовать смешанную структуру списка в единую структуру

input_items: 
    - mainkey: 'main.value.1' 
     subkey: 'subvalue_1.1' 

    - mainkey: 'main.value.2' 
     group: 
      - subkey: 'subvalue_2.1' 
      - subkey: 'subvalue_2.2' 

Есть ли способ, чтобы превратить его в плоскую структуру, как это:

transformed: 
    - mainkey: 'main.value.1' 
     subkey: 'subvalue_1.1' 

    - mainkey: 'main.value.2' 
     subkey: 'subvalue_2.1' 

    - mainkey: 'main.value.2' 
     subkey: 'subvalue_2.2' 

Идея состоит в том, чтобы создать более компактную структуру для определения списка, а затем преобразовать ее в плоскую структуру, которая легко поддается модулю с использованием with_items.

Я исчерпал каждую форму петли, включаю фильтр set_fact и jinja, который я могу собрать, но я уверен, что должен быть способ.

+0

Очень маловероятно, что это будет разрешено внутри Ansible. Вы должны задуматься о создании настраиваемого фильтра. http://docs.ansible.com/ansible/developing_plugins.html#filter-plugins – udondan

ответ