# Третий метод: используем модуль file.managed, jinja-шаблон и описание файла внутри политики # Никаких файлов никуда не надо складывать. Содержимое файла определено внутри скрипта # проверяем, определены ли атрибуты параметра на данном хосте {% set my_host = salt['grains.get']("nodename") %} {% set gpo = salt['pillar.get']('aldpro-hosts:' + my_host + ':rbta_ldap_custom_gp_host_fly-term') %} {% if gpo %} {% set color = salt['pillar.get']('aldpro-hosts:' + my_host + ':rbta_ldap_custom_gp_host_fly-term:flyterm_color') %} {% set font = salt['pillar.get']('aldpro-hosts:' + my_host + ':rbta_ldap_custom_gp_host_fly-term:flyterm_font') %} {% set size = salt['pillar.get']('aldpro-hosts:' + my_host + ':rbta_ldap_custom_gp_host_fly-term:flyterm_font_size') %} copy_j2_template_to_etc: file.managed: - name: /etc/xdg/rusbitech/fly-term.conf - replace: true - mode: 644 - contents: | [General] blinkingCursorEnabled=false color_scheme={{ color }} custom_font="{{ font }},{{ size }},-1,2,50,0,0,0,0,0" font="{{ font }},{{ size }},-1,2,50,0,0,0,0,0" font_pos=0 keyboardCursorShape=0 scroll=2 tab=1 tabs_visible=true {% endif %}