Плагины 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. Чтобы просмотреть список доступных плагинов, используйте ansible-doc -t httpapi -l. Чтобы просмотреть документацию и примеры для конкретного плагина, используйте ansible-doc -t httpapi <plugin name>.
См. также
- Ansible для автоматизации сетей
-
Обзор использования Ansible для автоматизации сетевых устройств.
- Разработка сетевых модулей
-
Как разрабатывать сетевые модули.
- Общение
-
Есть вопросы? Нужна помощь? Хотите поделиться идеями? Посетите руководство по общению Ansible.
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/plugins/httpapi.html