Add hooks to auto-generate REST API docs

Add the necessary bits for sphinxcontrib-pecanwsme
so that we can start auto-generating REST API docs.

Change-Id: I6ad61a5185462916865884dd1619465ef90aba0a
Closes-bug: 1251011
This commit is contained in:
Devananda van der Veen 2013-11-19 15:21:45 -08:00
parent 6f2f5a8495
commit 30206795b7
3 changed files with 112 additions and 1 deletions

View File

@ -8,8 +8,13 @@
extensions = ['sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
'sphinx.ext.viewcode',
'sphinxcontrib.httpdomain',
'sphinxcontrib.pecanwsme.rest',
'wsmeext.sphinxext',
]
wsme_protocols = ['restjson', 'restxml']
# autodoc generation is a bit aggressive and a nuisance when doing heavy
# text edit cycles.
# execute "export SPHINX_DEBUG=1" in your terminal to disable

103
doc/source/webapi/v1.rst Normal file
View File

@ -0,0 +1,103 @@
============
V1 Web API
============
Chassis
=======
.. rest-controller:: ironic.api.controllers.v1.chassis:ChassisController
:webprefix: /v1/chassis
.. autotype:: ironic.api.controllers.v1.chassis.ChassisCollection
:members:
.. autotype:: ironic.api.controllers.v1.chassis.Chassis
:members:
Drivers
=======
.. rest-controller:: ironic.api.controllers.v1.driver:DriversController
:webprefix: /v1/drivers
.. autotype:: ironic.api.controllers.v1.driver.DriverList
:members:
.. autotype:: ironic.api.controllers.v1.driver.Driver
:members:
Links
=====
.. autotype:: ironic.api.controllers.v1.link:Link
:members:
Nodes
=====
.. rest-controller:: ironic.api.controllers.v1.node:NodesController
:webprefix: /v1/nodes
.. autotype:: ironic.api.controllers.v1.node.NodeCollection
:members:
.. autotype:: ironic.api.controllers.v1.node.Node
:members:
NodeStates
==========
.. rest-controller:: ironic.api.controllers.v1.node:NodeStatesController
:webprefix: /v1/nodes/<uuid>/state
.. autotype:: ironic.api.controllers.v1.node.NodeStates
:members:
NodePowerState
==============
The 'rest-controller' directive of this resource seems to be crashing
sphinxcontrib-pecanwsme with "CRITICAL ironic [-] list index out of range"
errors.
.. autotype:: ironic.api.controllers.v1.node.NodePowerState
:members:
NodeProvisionState
==================
The 'rest-controller' directive of this resource seems to be crashing
sphinxcontrib-pecanwsme with "CRITICAL ironic [-] list index out of range"
errors.
.. autotype:: ironic.api.controllers.v1.node.NodeProvisionState
:members:
NodeVendorPassthru
==================
The 'rest-controller' directive of this resource seems to be crashing
sphinxcontrib-pecanwsme with "CRITICAL ironic [-] list index out of range"
errors.
Ports
=====
.. rest-controller:: ironic.api.controllers.v1.port:PortsController
:webprefix: /v1/ports
.. autotype:: ironic.api.controllers.v1.port.PortCollection
:members:
.. autotype:: ironic.api.controllers.v1.port.Port
:members:

View File

@ -7,6 +7,9 @@ Babel>=1.3
MySQL-python
psycopg2
python-subunit
sphinx>=1.1.2
testrepository>=0.0.17
testtools>=0.9.32
# Doc requirements
sphinx>=1.1.2
sphinxcontrib-pecanwsme>=0.5