* Due to the takeover of freenode we're moving to a different irc network. * Our channels updated to point at the same channel name on libera.chat * Some links went to webchat.freenode.net. At this time, libera.chat doesn't point you to an official webchat client so I changed these to https://libera.chat. (kiwi irc does work with libera.chat so that could be another option). * In general, I used the name irc.libera.net for link names and https://libera.chat for link targets. This is because the irc service is hosted on irc.libera.chat but the project web server is hosted on libera.chat. (This appears to also be true for freenode but we were using http://irc.freenode.net which doesn't seem to work. Oops). * Removed http://irc.freenode.net from the linkcheck exceptions. linkcheck was actually correct to flag that as invalid (should have been http://frenode.net instead). * Looks like hte important people in #yaml are now in libera.chat * Link to where contributors should get help Add a link target and then link to where contributors should get support for developing groups of modules. * Update docs/docsite/rst/dev_guide/developing_modules_in_groups.rst Co-authored-by: Felix Fontein <felix@fontein.de> Co-authored-by: John R Barker <john@johnrbarker.com> Co-authored-by: Felix Fontein <felix@fontein.de>
2.6 KiB
Httpapi Plugins
Httpapi plugins tell Ansible how to interact with a remote device's HTTP-based API and execute tasks on the device.
Each plugin represents a particular dialect of API. Some are
platform-specific (Arista eAPI, Cisco NXAPI), while others might be
usable on a variety of platforms (RESTCONF). Ansible loads the
appropriate httpapi plugin automatically based on the
ansible_network_os
variable.
Adding httpapi plugins
You can extend Ansible to support other APIs by dropping a custom
plugin into the httpapi_plugins
directory. See developing_plugins_httpapi
for details.
Using httpapi plugins
The httpapi plugin to use is determined automatically from the
ansible_network_os
variable.
Most httpapi plugins can operate without configuration. Additional options may be defined by each plugin.
Plugins are self-documenting. Each plugin should document its configuration options.
The following sample playbook shows the httpapi plugin for an Arista
network device, assuming an inventory variable set as
ansible_network_os=eos
for the httpapi plugin to trigger
off:
- 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"]
See the full working example on GitHub.
Viewing httpapi plugins
These plugins have migrated to collections on Ansible Galaxy. If you installed
Ansible version 2.10 or later using pip
, you have access to
several httpapi plugins. To list all available httpapi plugins on your
control node, type ansible-doc -t httpapi -l
. To view
plugin-specific documentation and examples, use
ansible-doc -t httpapi
.
Ansible for Network Automation<network_guide>
-
An overview of using Ansible to automate networking devices.
Developing network modules<developing_modules_network>
-
How to develop network modules.
- User Mailing List
-
Have a question? Stop by the google group!
- irc.libera.chat
-
#ansible-network IRC chat channel