Spec-Zone.ru › Ansible 2.9

win_template – Шаблон файла на удаленном сервере

  • Описание
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

  • Шаблоны обрабатываются с помощью языка шаблонов Jinja2.
  • Документация по форматированию шаблонов находится в Документации по шаблонам.
  • Дополнительные переменные, перечисленные ниже, могут использоваться в шаблонах.
  • ansible_managed (настраивается в разделе defaults ansible.cfg) содержит строку, которая может использоваться для описания имени шаблона, хоста, времени изменения файла шаблона и идентификатора владельца.
  • template_host содержит имя узла машины шаблона.
  • template_uid — числовой идентификатор пользователя владельца.
  • template_path — путь к шаблону.
  • template_fullpath — абсолютный путь к шаблону.
  • template_destpath — путь к шаблону в удаленной системе (добавлен в версии 2.8).
  • template_run_date — дата, когда шаблон был сгенерирован.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
backup
логический
добавлен в 2.8
    Варианты:
  • нет ←
  • да
Определяет, нужно ли создавать резервную копию.
При значении yes, создаётся резервная копия файла, включающая информацию о времени, чтобы вы могли восстановить исходный файл, если что-то пошло не так.
block_end_string
строка
добавлен в 2.4
Значение по умолчанию:
"%}"
Строка, обозначающая конец блока.
block_start_string
строка
добавлен в 2.4
Значение по умолчанию:
"{%"
Строка, обозначающая начало блока.
dest
путь / обязательно
Место расположения шаблона на удалённой машине.
force
логический
добавлен в 2.4
    Варианты:
  • нет
  • да ←
Определяет, как происходит передача файла, если файл назначения уже существует.
При значении yes, удалённый файл заменяется, если содержимое отличается от исходного.
При значении no, файл будет передан только в том случае, если файл назначения не существует.
lstrip_blocks
логический
добавлен в 2.6
    Варианты:
  • нет ←
  • да
Определяет, нужно ли удалять ведущие пробелы и табуляции.
При значении yes ведущие пробелы и табуляции удаляются с начала строки блока.
Эта функция требует Jinja 2.7 или новее.
newline_sequence
строка
добавлен в 2.4
    Варианты:
  • \n
  • \r
  • \r\n ←
Указывает последовательность символов новой строки для шаблона файлов.
output_encoding
строка
добавлен в 2.7
Значение по умолчанию:
"utf-8"
Переопределяет кодировку, используемую для записи файла шаблона, определённого в dest.
По умолчанию utf-8, но можно использовать любую кодировку, поддерживаемую Python.
Исходный файл шаблона всегда должен быть закодирован в utf-8, для единообразия.
src
путь / обязательно
Путь к файлу шаблона Jinja2 на контроллере Ansible.
Может быть относительным или абсолютным.
Файл должен быть закодирован в utf-8, но output_encoding может использоваться для управления кодировкой выходного шаблона.
trim_blocks
логический
добавлен в 2.4
    Варианты:
  • нет
  • да ←
Определяет, нужно ли удалять новые строки из блоков.
При значении yes, первая новая строка после блока удаляется (блок, а не тег переменной!).
variable_end_string
строка
добавлен в 2.4
Значение по умолчанию:
"}}"
Строка, обозначающая конец инструкции печати.
variable_start_string
строка
добавлен в 2.4
Значение по умолчанию:
"{{"
Строка, обозначающая начало инструкции печати.

Примечания

Примечание

  • Будьте осторожны при получении файлов с машин Windows при создании шаблонов, так как некоторые инструменты, такие как Powershell ISE и средства экспорта regedit, добавляют символ Byte Order Mark в начале файла, что может привести к ошибкам.
  • Вы можете использовать модуль win_copy с опцией content:, если предпочитаете встроенный шаблон как часть playbook.
  • Для Linux вы можете использовать template, который по умолчанию использует ‘\n’ как newline_sequence.
  • Включение строки с датой в шаблон приведёт к тому, что шаблон будет помечен как изменённый каждый раз.
  • Начиная с Ansible 0.9, шаблоны загружаются с trim_blocks=True.
  • Также вы можете переопределить настройки Jinja2, добавив специальный заголовок в файл шаблона, например, #jinja2:variable_start_string:'[%', variable_end_string:'%]', trim_blocks: False, который изменит маркеры интерполяции переменных на [% var %] вместо {{ var }}. Это лучший способ предотвратить оценку того, что выглядит как, но не должно быть Jinja2.
  • Использование raw/endraw в Jinja2 не сработает так, как вы ожидаете, потому что шаблоны в Ansible рекурсивно оцениваются.
  • Для поиска символов Byte Order Mark в файлах используйте Format-Hex <file> -Count 16 в Windows и od -a -t x1 -N 16 <file> в Linux.

См. также

См. также

win_copy – Копирование файлов в удалённые расположения на хостах Windows
Официальная документация модуля win_copy.
copy – Копирование файлов в удалённые расположения
Официальная документация модуля copy.
template – Шаблон файла на удалённом сервере
Официальная документация модуля template.

Примеры

- 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'
    backup: yes

Возвращаемые значения

Общие возвращаемые значения описаны в документации, следующие — поля, уникальные для этого модуля:

Ключ Возвращаемое значение Описание
backup_file
строка
если backup=да
Имя резервного файла, который был создан.

Пример:
C:\Путь\К\Файлу.txt.11540.20150212-220915.bak


Статус

  • Этот модуль гарантированно будет поддерживать обратную совместимость с будущими изменениями интерфейса. [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.9/modules/win_template_module.html

Spec-Zone.ru

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