ansible/docs/docsite/rst/plugins/httpapi.rst
2019-11-25 16:30:16 -06:00

2.3 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).

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 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.

maxdepth

1

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.freenode.net

#ansible-network IRC chat channel