Spec-Zone.ru › Ansible 2.5

Обращения к внешним источникам данных

Плагины обращений к внешним источникам данных позволяют получить доступ к внешним источникам данных. Как и все шаблоны, эти плагины обрабатываются на управляющей машине Ansible и могут включать чтение файловой системы, а также подключение к внешним хранилищам данных и службам. Эти данные затем становятся доступными с помощью стандартной системы шаблонов Ansible.

Примечание

  • Обращения к внешним источникам данных выполняются на локальном компьютере, а не на удалённом.
  • Они выполняются в каталоге, содержащем роль или задание, в отличие от локальных задач, которые выполняются в каталоге исполняемого скрипта.
  • Вы можете передать wantlist=True в обращения к внешним источникам данных, чтобы использовать их в циклах «for» в шаблонах Jinja2.
  • Обращения к внешним источникам данных — это расширенная функция. Вы должны хорошо понимать работу с заданиями Ansible перед их включением.

Предупреждение

Некоторые обращения к внешним источникам данных передают аргументы в оболочку. При использовании переменных из удалённого/ненадёжного источника используйте фильтр |quote для обеспечения безопасного использования.

  • Обращения к внешним источникам данных и циклы
  • Обращения к внешним источникам данных и переменные

Обращения к внешним источникам данных и циклы

Плагины обращений к внешним источникам данных — это способ запроса данных из внешних источников, таких как команды оболочки или даже хранилища пар «ключ-значение».

До версии Ansible 2.5 обращения к внешним источникам данных в основном использовались косвенно в конструкциях with_<lookup для циклов. Начиная с версии Ansible 2.5, обращения к внешним источникам данных используются более явно в качестве части выражений Jinja2, передаваемых в ключевое слово loop.

Обращения к внешним источникам данных и переменные

Один из способов использования обращений к внешним источникам данных — это заполнение переменных. Эти макросы оцениваются каждый раз, когда они используются в задаче (или шаблоне):

vars:
  motd_value: "{{ lookup('file', '/etc/motd') }}"
tasks:
  - debug:
      msg: "motd value is {{ motd_value }}"

Для получения дополнительной информации и полного списка доступных плагинов обращений к внешним источникам данных, см. Работа с плагинами.

См. также

Работа с заданиями
Введение в задания
Условные операторы
Условные операторы в заданиях
Переменные
Всё о переменных
Циклы
Циклы в заданиях
Список рассылки пользователей
Есть вопрос? Загляните в группу Google!
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.5/user_guide/playbooks_lookups.html

Spec-Zone.ru

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