Spec-Zone.ru › Ansible 2.11

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 / обязательно
Место назначения рендеринга шаблона на удаленном компьютере.
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 / обязательно
Путь к 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/windows/win_template_module.html

Spec-Zone.ru

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