3

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.

1
  • Please provide an example var definition that is valid yaml. Your current example cannot be parsed so no one can understand the exact data structure you want to use. Note that the problem also exists for your example task (but it is a little easier to guess). – Zeitounator Jun 16 '20 at 0:43
1

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.