Я пытаюсь объединить строки в состоянии, и мне не очень повезло. Я видел сообщения, предлагающие использовать (|join), но все мои строки не находятся в одном словаре. Вот мой код:
sshd_content:
file.line:
{% set admin_groups = '' %}
{% for app in grains['application_groups'] %}
{% for group in pillar['admin_users'][app]['members'] %}
{% set admin_groups = admin_groups ~ ' ' ~ group ~ '@mydomain.com' %}
{% endfor %}
{% endfor %}
- name: /etc/ssh/sshd_config
- match: AllowGroups wheel fred
- mode: replace
- content: AllowGroups wheel fred bob {{ admin_groups }}
Я тоже безуспешно пытался использовать + вместо ~.
Что я делаю неправильно?
Это состояние работает нормально:
sudoers_asmgroups_content:
file.append:
- name: /etc/sudoers.d/mygroups
- text:
{% for app in grains['application_groups'] %}
{% for group in pillar['admin_users'][app]['members'] %}
- '%{{ group }}@mydomain.com ALL=(ALL) ALL'
{% endfor %}
{% endfor %}