Document httpapi and cliconf plugins (#49503)

* Create new documentation pages for httpapi and cliconf

* Add new documentation to plugins toctree and Makefile

* Add DOCUMENTATION to cliconf

* Apply suggestions from code review
This commit is contained in:
Nathaniel Case 2019-02-08 11:04:05 -05:00 committed by GitHub
commit 7ad238b358
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 359 additions and 7 deletions

View file

@ -0,0 +1,57 @@
.. _cliconf_plugins:
Cliconf Plugins
===============
.. contents::
:local:
:depth: 2
Cliconf plugins are abstactions over the CLI interface to network devices. They provide a standard interface
for Ansible to execute tasks on those network devices.
These plugins generally correspond one-to-one to network device platforms. The appropriate cliconf plugin will
thus be automatically loaded based on the ``ansible_network_os`` variable.
.. _enabling_cliconf:
Adding cliconf plugins
-------------------------
You can extend Ansible to support other network devices by dropping a custom plugin into the ``cliconf_plugins`` directory.
.. _using_cliconf:
Using cliconf plugins
------------------------
The cliconf plugin to use is determined automatically from the ``ansible_network_os`` variable. There should be no reason to override this functionality.
Most cliconf plugins can operate without configuration. A few have additional options that can be set to impact how
tasks are translated into CLI commands.
Plugins are self-documenting. Each plugin should document its configuration options.
.. _cliconf_plugin_list:
Plugin list
-----------
You can use ``ansible-doc -t cliconf -l`` to see the list of available plugins.
Use ``ansible-doc -t cliconf <plugin name>`` to see detailed documentation and examples.
.. toctree:: :maxdepth: 1
:glob:
cliconf/*
.. seealso::
:ref:`Ansible for Network Automation<network_guide>`
An overview of using Ansible to automate networking devices.
`User Mailing List <https://groups.google.com/group/ansible-devel>`_
Have a question? Stop by the google group!
`irc.freenode.net <http://irc.freenode.net>`_
#ansible-network IRC chat channel

View file

@ -0,0 +1,57 @@
.. _httpapi_plugins:
Httpapi Plugins
===============
.. contents::
:local:
:depth: 2
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).
.. _enabling_httpapi:
Adding httpapi plugins
-------------------------
You can extend Ansible to support other APIs by dropping a custom plugin into the ``httpapi_plugins`` directory.
.. _using_httpapi:
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.
.. _httpapi_plugin_list:
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.
.. toctree:: :maxdepth: 1
:glob:
httpapi/*
.. seealso::
:ref:`Ansible for Network Automation<network_guide>`
An overview of using Ansible to automate networking devices.
`User Mailing List <https://groups.google.com/group/ansible-devel>`_
Have a question? Stop by the google group!
`irc.freenode.net <http://irc.freenode.net>`_
#ansible-network IRC chat channel

View file

@ -16,7 +16,9 @@ This section covers the various types of plugins that are included with Ansible:
action
cache
callback
cliconf
connection
httpapi
inventory
lookup
shell