- name: check last partition
                  
                  
                    set_fact: 
                  
                  
                      part: "{{ (ansible_devices[item]['partitions'] | dict2items | last)['value'].links.ids[-1][-1] }}"
                  
                  
                    when:
                  
                  
                        - ansible_devices[item]['partitions'] | dict2items | length>0
                  
                  
                  где item передается значение диска (к примеру sda
                  
                  
                  Наткнулся на проблему что что ids бывает пустым
                  
                  
                  нашел выход как это обрабатывать:
                  
                  
                  - name: check last partition
                  
                  
                    set_fact: 
                  
                  
                      part: "{{ (ansible_devices[item]['partitions'] | dict2items | last)['key'] | regex_replace('[^0-9]+', '') }}"
                  
                  
                    when:
                  
                  
                        - ansible_devices[item]['partitions'] | dict2items | length>0
                  
                  
                  
                  
                  
                  но хотелось бы что бы была проверка если ids пустое то один вариант если не пустое то другой
                  
                  
                  Делал  
                  
                  
                    when:
                  
                  
                        - ansible_devices[item]['partitions'] | dict2items | last['value'].links.ids is defined
                  
                  
                        - ansible_devices[item]['partitions'] | dict2items | length > 0
                  
                  
                   Но выдает ошибку типа там не строковое значение, как это правильно обработать?
                  
                  
                
last['value'] - нет такого фильтра
а как тогда в моем случаи проверять что ids пустое [] или не пустое [sefdgf _sdfsdsdf1]
или is iterable
По умолчанию в ансибле пустой список эквивалентен false
Обсуждают сегодня