Как добавить разделители в Jinja2 - PullRequest
0 голосов
/ 10 сентября 2018

Мне нужно получить список IP-адресов, подобных этому (значения в кавычках, через запятую и без пробелов).

['172.16.1.67','172.16.1.68','172.16.1.69']

Для этого я пытаюсь вызвать шаблон jinja2 вмоя пьесаСодержимое шаблона:

[{% for servidor in groups['servidores'] %}{{ hostvars[servidor].ansible_host}}{% endfor %}]

Этот шаблон генерирует эту строку:

[172.16.1.67172.16.1.68172.16.1.69]

Я пытался использовать фильтры и вещи, которые я нашел, но как бы я ни пытался, я заканчиваюс ошибками (так как большинство ответов, которые я нашел, предполагают, что читатель знает, как применить предоставленное решение, которое не является моим случаем).Я предполагаю, что я должен применить фильтр "присоединиться", но я не знаю, как это сделать.

Не могли бы вы мне помочь?

Спасибо!

1 Ответ

0 голосов
/ 10 сентября 2018

Вы можете отформатировать IP-адреса в кавычках и сначала добавить их в список, а затем соединить их с ',' в выходных данных:

{%- set ips = [] -%}
{%- for servidor in groups['servidores'] %}
    {% do ips.append("'%s'" | format(hostvars[servidor].ansible_host)) %}
{% endfor -%}
[{{ ips | join(',') }}]
...