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).
You can extend Ansible to support other APIs by dropping a custom plugin into the
httpapi_plugins directory. See Developing httpapi plugins for details.
The httpapi plugin to use is determined automatically from the
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["version"]
See the full working example at https://github.com/network-automation/httpapi.
You can use
ansible-doc -t httpapi -l to see the list of available plugins.
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