Httpapi Plugins

Warning

Links on this page may not point to the most recent versions of plugins. In preparation for the release of 2.10, many plugins and modules have migrated to Collections on Ansible Galaxy. For the current development status of Collections and FAQ see Ansible Collections Community Guide.

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

These plugins have migrated to a collection. Updates on where to find and how to use them will be coming soon.

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