8

Given this list:

colors:
  red: enabled
  yellow: enabled
  green: disabled
  blue: enabled
  purple: disabled

How can I get a list of the colors that are enabled (below doesn't work):

- debug:
     msg: "{{ item[0] }}"
  when: item[1] == 'enabled
  with_items: '{{ colors}}'

Guess I'm overthinking this as it seems like it should be quite simple. Thanks in advance.

BrillCom
  • 139
  • 2
  • 9

1 Answers1

8

For example,

colors_enabled: "{{ colors|dict2items|
                           selectattr('value', 'eq', 'enabled')|
                           map(attribute='key')|
                           list }}"

gives the list of enabled colors

colors_enabled:
  - red
  - yellow
  - blue
Vladimir Botka
  • 5,138
  • 8
  • 20