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).
Adding httpapi plugins¶
You can extend Ansible to support other APIs by dropping a custom plugin into the httpapi_plugins
directory. See Developing httpapi plugins 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 at https://github.com/network-automation/httpapi.
Plugin List¶
You can use ansible-doc -t httpapi -l
to see the list of available plugins.
Use ansible-doc -t httpapi <plugin name>
to see detailed documentation and examples.
- checkpoint – HttpApi Plugin for Checkpoint devices
- eos – Use eAPI to run command on eos platform
- exos – Use EXOS REST APIs to communicate with EXOS platform
- fortianalyzer – HttpApi Plugin for Fortinet FortiAnalyzer Appliance or VM
- fortimanager – HttpApi Plugin for Fortinet FortiManager Appliance or VM
- fortios – HttpApi Plugin for Fortinet FortiOS Appliance or VM
- ftd – HttpApi Plugin for Cisco ASA Firepower device
- nxos – Use NX-API to run command on nxos platform
- qradar – HttpApi Plugin for IBM QRadar appliances
- restconf – HttpApi Plugin for devices supporting Restconf API
- splunk – HttpApi Plugin for Splunk
- vmware – HttpApi Plugin for VMware REST API
See also
- Ansible for Network Automation
- An overview of using Ansible to automate networking devices.
- Developing network modules
- How to develop network modules.
- User Mailing List
- Have a question? Stop by the google group!
- irc.freenode.net
- #ansible-network IRC chat channel