Spec-Zone.ru › Ansible 2.8

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 добавляют метку порядка байтов как первый символ файла, что может привести к ошибке.
  • Вы можете использовать модуль win_copy с параметром content:, если вы предпочитаете шаблон как часть плейбука.
  • Для Linux вы можете использовать шаблон, который по умолчанию использует ‘\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 рекурсивно оцениваются.
  • Чтобы найти метки порядка байтов в файлах, используйте 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.8/modules/win_template_module.html

Spec-Zone.ru

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