Spec-Zone.ru › Ansible 2.11

Шаблонизация (Jinja2)

Ansible использует шаблонизацию Jinja2 для динамических выражений и доступа к переменным. Ansible содержит множество специализированных фильтров и тестов для шаблонизации. Вы можете использовать все стандартные фильтры и тесты, включенные в Jinja2. Ansible также предлагает новый тип плагина: Плагины Lookup.

Вся шаблонизация происходит на контроллере Ansible перед отправкой и выполнением задачи на целевом компьютере. Этот подход минимизирует требования к пакетам на целевом компьютере (jinja2 требуется только на контроллере). Он также ограничивает объем данных, передаваемых Ansible на целевой компьютер. Ansible парсит шаблоны на контроллере и передает только необходимую информацию для каждой задачи на целевой компьютер, вместо того, чтобы передавать все данные на контроллер и парсить их на целевом компьютере.

  • Использование фильтров для обработки данных
    • Обработка неопределённых переменных
    • Определение различных значений для true/false/null (тернарный оператор)
    • Управление типами данных
    • Форматирование данных: YAML и JSON
    • Комбинирование и выбор данных
    • Случайная выборка данных
    • Управление списками переменных
    • Выбор из наборов или списков (теория множеств)
    • Вычисление чисел (математика)
    • Управление сетевыми взаимодействиями
    • Шифрование и вычисление контрольных сумм строк и паролей
    • Обработка текста
    • Обработка строк
    • Управление UUID
    • Обработка дат и времени
    • Получение имён ресурсов Kubernetes
  • Тесты
    • Синтаксис тестов
    • Тестирование строк
    • Vault
    • Тестирование истинности
    • Сравнение версий
    • Тесты теории множеств
    • Проверка, содержит ли список значение
    • Проверка, является ли значение списка истинным
    • Тестирование путей
    • Тестирование форматов размеров
    • Тестирование результатов задач
  • Lookup
    • Использование lookups в переменных
  • Python3 в шаблонах
    • Представления словарей
    • dict.iteritems()

Получение текущего времени

Новое в версии 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

Spec-Zone.ru

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