Шаблонизация (Jinja2)
Ansible использует шаблонизацию Jinja2 для динамических выражений и доступа к переменным. Ansible содержит множество специализированных фильтров и тестов для шаблонизации. Вы можете использовать все стандартные фильтры и тесты, включенные в Jinja2. Ansible также предлагает новый тип плагина: Плагины Lookup.
Вся шаблонизация происходит на контроллере Ansible перед отправкой и выполнением задачи на целевом компьютере. Этот подход минимизирует требования к пакетам на целевом компьютере (jinja2 требуется только на контроллере). Он также ограничивает объем данных, передаваемых Ansible на целевой компьютер. Ansible парсит шаблоны на контроллере и передает только необходимую информацию для каждой задачи на целевой компьютер, вместо того, чтобы передавать все данные на контроллер и парсить их на целевом компьютере.
-
Использование фильтров для обработки данных
- Обработка неопределённых переменных
- Определение различных значений для true/false/null (тернарный оператор)
- Управление типами данных
- Форматирование данных: YAML и JSON
- Комбинирование и выбор данных
- Случайная выборка данных
- Управление списками переменных
- Выбор из наборов или списков (теория множеств)
- Вычисление чисел (математика)
- Управление сетевыми взаимодействиями
- Шифрование и вычисление контрольных сумм строк и паролей
- Обработка текста
- Обработка строк
- Управление UUID
- Обработка дат и времени
- Получение имён ресурсов Kubernetes
- Тесты
- Lookup
- Python3 в шаблонах
Получение текущего времени
Новое в версии 2.8.
Функция now() Jinja2 извлекает объект Python datetime или строковое представление текущего времени.
Функция now() поддерживает 2 аргумента:
- utc
-
Укажите
Trueдля получения текущего времени в формате UTC. По умолчаниюFalse. - fmt
-
Принимает строку strftime, которая возвращает отформатированную строку даты и времени.
См. также
- Введение в плейбуки
-
Введение в плейбуки
- Условные операторы
-
Условные операторы в плейбуках
- Циклы
-
Циклы в плейбуках
- Роли
-
Организация плейбуков по ролям
- Советы и хитрости
-
Советы и хитрости для плейбуков
- Список рассылки пользователей
-
Есть вопрос? Задайте его в группе!
- irc.freenode.net
-
IRC-чат-канал #ansible
© 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/user_guide/playbooks_templating.html