loop.nextitem всегда неопределен в шаблоне ansible jinja - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь перебрать некоторые элементы списка, используя ansible в шаблоне jinja. Цикл работает, но специальная переменная loop.nextitem всегда пуста. Есть идеи почему? То, что я пробовал до сих пор:

{% for quota in current_project.project_values.quotas | sort(attribute='date') %}
 {% if loop.nextitem is defined %}
  is: defined
 {% endif %}
 {% if loop.nextitem is undefined %}
  is: undefined
 {% endif %}
{% endfor %}

Другие специальные формы, приходящие от дзиндзя, хорошо установлены. Например:

quota-date: {{quota.date}} //accesses the items
index: {{loop.index}}   //gives me the index
last: {{loop.last}}    //false for all iterations except last one

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 11 ноября 2019

ansible playbook:

---
- hosts: localhost
  vars:
    current_project:
      project_values:
        quotas:
          date: 
            - y
            - t
            - z
  tasks:
     - name: template
       template:
         src: templates/test
         dest: rendered/output

Ниже работает нормально:

{% for i in current_project.project_values.quotas.date | sort %}
{% if loop.nextitem is defined %}
    is: defined
{% else %}
    is: notdefined
{% endif %}
{% endfor %}

Выход:

t
    is: defined
y
    is: defined
z
    is: notdefined
...