win_template — Шаблонизирует файл на удалённом сервере.
Новое в версии 1.9.2.
Обзор
- Шаблоны обрабатываются с помощью языка шаблонов Jinja2 (http://jinja.pocoo.org/docs/) — документацию по форматированию шаблонов можно найти в документации по шаблонам (http://jinja.pocoo.org/docs/templates/).
- В шаблонах можно использовать шесть дополнительных переменных:
ansible_managed(настраивается в разделеdefaultsдокументацииansible.cfg) содержит строку, которая может использоваться для описания имени шаблона, хоста, времени изменения файла шаблона и идентификатора владельца;template_hostсодержит имя узла машины шаблона;template_uid— владельца;template_path— абсолютный путь к шаблону;template_fullpath— абсолютный путь к шаблону, иtemplate_run_date— дату рендеринга шаблона. Обратите внимание, что включение строки, использующей дату в шаблоне, приведёт к тому, что шаблон будет помечен как изменённый каждый раз.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
|
block_end_string (добавлен в 2.4)
|
Значение по умолчанию: %}
|
Строка, обозначающая конец блока.
|
|
block_start_string (добавлен в 2.4)
|
Значение по умолчанию: {%
|
Строка, обозначающая начало блока.
|
|
dest обязательно
|
Место размещения шаблона на удалённой машине.
|
|
|
force (добавлен в 2.4)
|
|
Значение по умолчанию —
yes, которое заменит удалённый файл, когда содержимое отличается от исходного. Если no, файл будет передан только в том случае, если целевой файл не существует. |
|
newline_sequence (добавлен в 2.4)
|
|
Укажите последовательность символов новой строки для файлов шаблонов.
|
|
src обязательно
|
Путь к файлу шаблона Jinja2 на локальном сервере. Это может быть относительный или абсолютный путь.
|
|
|
trim_blocks (добавлен в 2.4)
|
Значение по умолчанию: no
|
Если значение установлено в True, первая новая строка после блока будет удалена (блок, а не тег переменной!).
|
|
variable_end_string (добавлен в 2.4)
|
Значение по умолчанию: }}
|
Строка, обозначающая конец инструкции печати.
|
|
variable_start_string (добавлен в 2.4)
|
Значение по умолчанию: {{
|
Строка, обозначающая начало инструкции печати.
|
Примечания
Примечание
- Для других платформ можно использовать шаблон, в котором используется ‘n’ как
newline_sequence. - Шаблоны загружаются с помощью
trim_blocks=True. - Будьте осторожны при получении файлов с машин Windows при создании шаблонов, так как некоторые инструменты, такие как Powershell ISE и средства экспорта regedit, добавляют маркер порядка байтов в качестве первого символа файла, что может привести к ошибке.
- Для поиска маркеров порядка байтов в файлах используйте
Format-Hex <file> -Count 16в Windows иod -a -t x1 -N 16 <file>в Linux. - Также вы можете переопределить настройки Jinja2, добавив специальный заголовок в файл шаблона, например,
#jinja2:variable_start_string:'[%', variable_end_string:'%]', trim_blocks: False, который изменяет маркеры интерполяции переменных на [% var %] вместо {{ var }}. Это лучший способ предотвратить оценку элементов, которые похожи на, но не должны быть, Jinja2. raw/endraw в Jinja2 не будут работать так, как ожидается, потому что шаблоны в Ansible рекурсивно оцениваются.
Примеры
- name: Create a file from a Jinja2 template
win_template:
src: /mytemplates/file.conf.j2
dest: C:\temp\file.conf
- name: Create a Unix-style file from a Jinja2 template
win_template:
src: unix/config.conf.j2
dest: C:\share\unix\config.conf
newline_sequence: '\n'
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют отсутствие несовместимых изменений интерфейса.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний
Автор
- Jon Hawkesworth (@jhawkesworth)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/win_template_module.html