summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorNathaniel Case <this.is@nathanielca.se>2019-02-08 11:04:05 -0500
committerGitHub <noreply@github.com>2019-02-08 11:04:05 -0500
commit7ad238b35813f2191172dabb32e00a3b533a58a3 (patch)
tree9e82ebc725ec80fc1c851c78b6b03969721437a0 /docs
parentd1b2ef9c5ce13b05f820c84b841e67eb5ee1aff7 (diff)
downloadansible-7ad238b35813f2191172dabb32e00a3b533a58a3.tar.gz
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
Diffstat (limited to 'docs')
-rw-r--r--docs/docsite/Makefile2
-rw-r--r--docs/docsite/rst/plugins/cliconf.rst57
-rw-r--r--docs/docsite/rst/plugins/httpapi.rst57
-rw-r--r--docs/docsite/rst/plugins/plugins.rst2
4 files changed, 117 insertions, 1 deletions
diff --git a/docs/docsite/Makefile b/docs/docsite/Makefile
index 97a07af104..c97936bc70 100644
--- a/docs/docsite/Makefile
+++ b/docs/docsite/Makefile
@@ -26,7 +26,7 @@ ifdef PLUGINS
PLUGIN_ARGS = -l $(PLUGINS)
endif
-DOC_PLUGINS ?= cache callback connection inventory lookup shell strategy vars
+DOC_PLUGINS ?= cache callback cliconf connection httpapi inventory lookup shell strategy vars
assertrst:
ifndef rst
diff --git a/docs/docsite/rst/plugins/cliconf.rst b/docs/docsite/rst/plugins/cliconf.rst
new file mode 100644
index 0000000000..f6b83d80d6
--- /dev/null
+++ b/docs/docsite/rst/plugins/cliconf.rst
@@ -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
diff --git a/docs/docsite/rst/plugins/httpapi.rst b/docs/docsite/rst/plugins/httpapi.rst
new file mode 100644
index 0000000000..bd93412802
--- /dev/null
+++ b/docs/docsite/rst/plugins/httpapi.rst
@@ -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
diff --git a/docs/docsite/rst/plugins/plugins.rst b/docs/docsite/rst/plugins/plugins.rst
index 2a7d3c2fea..fc55d93a92 100644
--- a/docs/docsite/rst/plugins/plugins.rst
+++ b/docs/docsite/rst/plugins/plugins.rst
@@ -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