TransWikia.com

How do a flaten a list mixed with nested dict in ansible playbook?

DevOps Asked by Roy on August 22, 2021

I have a variable named packages as showed below, it is not a plain list, I have some nested dict in it like browsers.


--- 
packages:
  - apt-file
  - axel
  - ibus-rime
  - rofi
  - i3
  - ffmpeg
  - xclip
  - cargo
  - httpie
  - ttf-ubuntu-font-family
  - tldr-py
  - glances
  - browsers:
    - brave-browser
    - chromium
  - editors:
    - emacs

I’d like to use instructions like below

- name: Install a list of packages
    become: yes
    apt:
        name: "{{ packages }}"

to install all the pacakges defined in the variable, but I do not know what filter I should use the convert the variable to plain list, I need the items in the nested dictionary.

any help will be appreciated.

One Answer

I probably should use comment instead group the value in a dict who's value is a list

like

packages:
  - apt-file
  - axel
  - ibus-rime
  - rofi
  - i3
  - ffmpeg
  - xclip
  - cargo
  - httpie
  - ttf-ubuntu-font-family
  - tldr-py
  - glances
  # browsers:
  - brave-browser
  - chromium
  # editors
  - emacs

Answered by Roy on August 22, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP