Spec-Zone.ru › Ansible 2.10

Шаблоны (Jinja2)

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

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

  • Использование фильтров для обработки данных
    • Обработка неопределённых переменных
    • Определение различных значений для true/false/null (троичная операция)
    • Управление типами данных
    • Форматирование данных: YAML и JSON
    • Объединение и выбор данных
    • Генерация случайных данных
    • Управление переменными-списками
    • Выбор из наборов или списков (теория множеств)
    • Вычисление чисел (математика)
    • Управление сетевыми взаимодействиями
    • Шифрование и вычисление контрольных сумм строк и паролей
    • Обработка текста
    • Обработка строк
    • Управление UUID
    • Обработка дат и времени
    • Получение имён ресурсов Kubernetes
  • Тесты
    • Синтаксис тестов
    • Тестирование строк
    • Vault
    • Тестирование истинности
    • Сравнение версий
    • Тесты теории множеств
    • Проверка наличия значения в списке
    • Проверка, является ли значение в списке True
    • Проверка путей
    • Проверка форматов размеров
    • Тестирование результатов задач
  • Поиски
    • Использование поисков в переменных
  • 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/user_guide/playbooks_templating.html

Spec-Zone.ru

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