Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот плагин является частью коллекции ansible.windows (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install ansible.windows.

Для использования в книге задач укажите: ansible.windows.win_template.

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

Обзор

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

Примечание

У этого модуля есть соответствующий плагин действий.

Параметры

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

Примечания

Примечание

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

См. также

См. также

ansible.windows.win_copy

Официальная документация модуля ansible.windows.win_copy.

ansible.builtin.copy

Официальная документация модуля ansible.builtin.copy.

ansible.builtin.template

Официальная документация модуля ansible.builtin.template.

Примеры

- name: Create a file from a Jinja2 template
  ansible.windows.win_template:
    src: /mytemplates/file.conf.j2
    dest: C:\Temp\file.conf

- name: Create a Unix-style file from a Jinja2 template
  ansible.windows.win_template:
    src: unix/config.conf.j2
    dest: C:\share\unix\config.conf
    newline_sequence: '\n'
    backup: yes

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

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

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

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


Авторы

  • 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.10/collections/ansible/windows/win_template_module.html

Spec-Zone.ru

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