Spec-Zone.ru › Ansible 2.6

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
bool

(добавлено в 2.4)
    Варианты:
  • нет
  • да ←
Если yes, заменит удалённый файл, если содержимое отличается от исходного.
Если no, файл будет передан только в том случае, если файла назначения не существует.
newline_sequence
(добавлено в 2.4)
    Варианты:
  • \n
  • \r
  • \r\n ←
Укажите последовательность новых строк для использования в файлах шаблонов.
src
обязательный
Путь к файлу шаблона Jinja2 на локальном сервере. Может быть относительным или абсолютным.
trim_blocks
bool

(добавлено в 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, что означает, что авторы модуля гарантируют, что не будут вноситься несовместимые изменения интерфейса.

Техническое обслуживание

Этот модуль помечен как core, что означает, что он поддерживается основной командой Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.

Список других модулей, также поддерживаемых командой Ansible Core Team, см. здесь.

Поддержка

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

Spec-Zone.ru

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