Плагины httpapi
Плагины httpapi сообщают Ansible, как взаимодействовать с HTTP-API удалённого устройства и выполнять задачи на нём.
Каждый плагин представляет собой определённый диалект API. Некоторые из них специфичны для определённой платформы (Arista eAPI, Cisco NXAPI), в то время как другие могут использоваться на различных платформах (RESTCONF). Ansible автоматически загружает соответствующий плагин httpapi, основываясь на переменной ansible_network_os.
Добавление плагинов httpapi
Вы можете расширить Ansible для поддержки других API, поместив пользовательский плагин в директорию httpapi_plugins. Подробнее см. Разработка плагинов httpapi.
Использование плагинов httpapi
Плагин httpapi для использования определяется автоматически из переменной ansible_network_os.
Большинство плагинов httpapi могут работать без конфигурации. Дополнительные параметры могут быть определены каждым плагином.
Плагины самодокументирующиеся. Каждый плагин должен документировать свои параметры конфигурации.
Следующий пример плейбука показывает использование плагина httpapi для устройства Arista сетевого оборудования, предполагая, что переменная инвентаризации установлена как ansible_network_os=eos для запуска плагина httpapi:
- hosts: leaf01
connection: httpapi
gather_facts: false
tasks:
- name: type a simple arista command
eos_command:
commands:
- show version | json
register: command_output
- name: print command output to terminal window
debug:
var: command_output.stdout[0]["version"]
Смотрите полный рабочий пример на GitHub.
Просмотр плагинов httpapi
Эти плагины переехали в коллекции на Ansible Galaxy. Если вы установили Ansible версии 2.10 или более поздней, используя pip, у вас есть доступ к нескольким плагинам httpapi. Чтобы перечислить все доступные плагины httpapi на вашем контрольном узле, введите ansible-doc -t httpapi -l. Чтобы просмотреть документацию и примеры, специфичные для плагинов, используйте ansible-doc -t httpapi.
См. также
- Ansible для автоматизации сетей
-
Обзор использования Ansible для автоматизации сетевых устройств.
- Разработка сетевых модулей
-
Как разрабатывать сетевые модули.
- Список рассылки пользователей
-
Есть вопросы? Загляните на форум!
- irc.freenode.net
-
IRC-чат-канал #ansible-network
© 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/plugins/httpapi.html