Следующая задача должна дать вам результат, который вы ищете:
- set_fact:
hostvariabletouseinawxworflow: {% for count in range(0, vmcount) %}{% if loop.first%}{{ vmname }}{% else %}{{ vmname }}-{{ loop.index }}{% endif %}{% if not loop.last %}, {% endif %}{% endfor %}
vars:
vmcount: 3
vmname: my-new-vm
Это возвращает:
TASK [debug] ********
ok: [localhost] => {
"hostvariabletouseinawxworflow": "my-new-vm, my-new-vm-2, my-new-vm-3"
Обратите внимание, что можно разделить jinja на несколько строк для удобства чтения, но становится сложно иметь дело с пробелами и символами новой строки, если вы делаете это вне файла шаблона.
Если вы не знаете, как здесь l oop разбивается, он разделен:
{% for count in range(0, vmcount) %}
{% if loop.first %}
{{ vmname }}
{% else %}
{{ vmname }}-{{ loop.index }}
{% endif %}
{% if not loop.last %}
,
{% endif %}
{% endfor %}