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)
| нет | \r\n |
| Укажите последовательность новых строк, которую следует использовать для файлов шаблонов. |
| src | да | Путь к файлу шаблона Jinja2 на локальном сервере. Это может быть относительный или абсолютный путь. | ||
| trim_blocks (добавлен в 2.4)
| нет | нет | Если это значение установлено в True, первая новая строка после блока удаляется (блок, а не тег переменной!). | |
| variable_end_string (добавлен в 2.4)
| нет | }} | Строка, обозначающая конец инструкции вывода. | |
| variable_start_string (добавлен в 2.4)
| нет | {{ | Строка, обозначающая начало инструкции вывода. |
Примеры
- 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'
Примечания
Примечание
- Для других платформ вы можете использовать шаблон, который использует ‘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 рекурсивно оцениваются.
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют отсутствие несовместимых изменений интерфейса.
Информация о техническом обслуживании
Дополнительную информацию о поддержке данного модуля компанией Red Hat см. в knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>.
Для помощи в разработке модулей, если вы захотите, пожалуйста, ознакомьтесь с Информация о сообществе и участие в разработке, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/win_template_module.html