Spec-Zone.ru › Ansible 2.7

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
    Варианты:
  • \n
  • \r
  • \r\n ←
Укажите последовательность символов новой строки для шаблонизации файлов.
src
- / обязательно
Путь к файлу шаблона Jinja2 на локальном сервере. Это может быть относительный или абсолютный путь.
trim_blocks
логическое значение
добавлен в 2.4
    Варианты:
  • нет ←
  • да
Если это yes, первая новая строка после блока будет удалена (блок, а не тег переменной!).
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: no, который изменяет маркеры интерполяции переменных на [% 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]
  • Этот модуль поддерживается командой разработчиков Ansible. [core]

Поддержка Red Hat

Дополнительную информацию о поддержке этого модуля Red Hat можно получить в этой статье базы знаний 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.7/modules/win_template_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API