关于openstack的文档,可参考:http://wiki.openstack.org/Documentation/HowTo
两类文档:
1) 程序员用的rest api文档用rst格式书写, 如http://docs.openstack.org/developer/nova/
2)其他一些如deployers, admins, and CLI and API users用Docbook书写,如http://github.com/openstack/openstack-manuals
本文要描述的是如何用rst格式写rest api文档:
eclipse有一个支持对rst所见即所得的插件,下载地址:http://sourceforge.net/projects/resteditor/files/eclipse/
一个名为test.rst的rst文档的例子如下,这个例子包括:
1)标题1
2)标题2
3)表格
4)列表
5)代码块
6)注释
具体怎么用直接见下面的代码吧,代码中有注释
..
Copyright 2013-2013
author, zhang hua, http://blog.csdn.net/quqi99
Title 1, use "====", how to write rst doc
=========================================
This is title, one rst example.
Title 2, use "----", one table example
--------------------------------------
This is table example.
==== ============================================ =======================
Verb URI Description
==== ============================================ =======================
GET clouds/{cloud_id}/networks Retrieve list of network extensions
==== ============================================ =======================
Title 3, Query Parameters
+++++++++++++++++++++++++
The following table shows the query parameters for this service.
=========== ================================= ========
Attribute Description Required
=========== ================================= ========
osNetworkId The id of OpenStack network. No
=========== ================================= ========
Code block need begin with ::
+++++++++++++++++++++++++++++
::
{
"name": "Zhang Hua",
"url": "http://blog.csdn.net/quqi99"
}
List need begin with *
++++++++++++++++++++++
The following attributes are used in the request body:
* ``name``
Human-readable name. Might not be unique. Optional.
* ``url``
url value.
如果想要将rst文件生成html或者其他什么格式的话,需要安装python的sphinx模块,安装方法:pip install sphinx
一个关于sphinx的文档参见:http://code.google.com/p/pymotwcn/wiki/SphinxprojectHowto
1) 安装sphinx后,运行命令“sphinx-quickstart”可生成一个doc project,生成后的工程目录形如:
[hua@zhanghua tmp]$ ls
_build conf.py index.rst make.bat Makefile output _static _templates
2) 可用 sphinx-build -b html . output 或者 make html命令生成html文档,生成的文档位于output目录
[hua@zhanghua tmp]$ ls output/
genindex.html index.html objects.inv search.html searchindex.js _sources _static
3) 将上面的rst文档例子test.rst作为链接添加到index.rst中来
Contents:
.. toctree::
:maxdepth: 2
doc/test.rst
4) 看看效果吧
如果定义了新的resource的话,还要考虑写WADL文件,WADL非常适合写REST的文档,
我们知道,WSDL, Web Services Description Language, 是一个基于SOAP的描述语言,SOAP协议是架在HTTP协议之上的,仅支持GET和POST,对于REST中有GET,POST,还有DELTE和 PUT,WSDL在这方面支持的不大好。虽然WSDL2.0也能支持像PUT这些动词了。
但WADL也是一种选择,Web Application Description Language, 通过github.com/rackspace/wadl-tools可以很方便地为REST API产生文档。
可以这样讲,如果说WSDL是用来描述SOAP类型的WEB服务的语言的话,WADL就是描述WEB服务API的语言,它允许你产生代码、测试和文档。
Openstack中用WADL生成的文档的样子长得什么样呢?参见:http://api.openstack.org/api-ref.html
关于在openstack中怎么用rst写文档,openstack社区还有一个模板,见:https://github.com/RackerWilliams/extension-doc-templates/tree/master/rst
模板的raw格式内容是:https://raw.github.com/RackerWilliams/extension-doc-templates/master/rst/extension_template.rst
下面看看如何通SoapUI ( http://sourceforge.net/projects/soapui/files/soapui-eclipse-plugin/4.0.1/ )为一个wsal生成文档,参考文档,http://www.soapui.org/REST-Testing/working-with-rest-services.html
openstack社区有一篇文章描述如何写wadl文件,http://wiki.openstack.org/Documentation/APISite/DocumentingWadls
这是一个写wadl文件的工具,可用java的javaws命令打开,http://docs.rackspace.com/oxygen/oxygenJWS/oxygen.jnlp
git clone git://github.com/openstack/api-site.git
相关推荐
欢迎! 您遇到了一个云计算网络结构控制器。 它已将自己标识为“ Neutron”。 它旨在驯服您的(云)网络! 外部资源: ... 有关如何为Neutron做出贡献的信息,请参阅CONTRIBUTING.rst文件的内容。
此外,项目还提供了相关的文档和脚本,如HACKING.rst、tox.ini、.gitreview等,它们分别用于指导项目贡献者如何编写代码、进行测试以及如何配置和使用Gitreview。这些文件展示了项目在维护和可扩展性方面所做的努力...
任何新代码都必须遵循HACKING.rst文件中详述的开发准则,并通过所有单元测试。 有关开发人员的更多文档,请访问:运营商要了解如何部署和配置OpenStack Glance,请参阅在线文档,网址为:如果不幸发现了错误,则应...
`docs/source`下的`.rst`文件是文档的源码,可以通过Sphinx工具转化为HTML或其他格式。 总的来说,"oslo.privsep"库是OpenStack项目中一个关键的安全工具,它实现了特权操作的分离,使得非特权用户也能执行需要root...
OpenStack中子 Neutron是一个OpenStack项目,旨在在其他OpenStack服务(例如Nova)管理的接口设备(例如vNIC)之间提供“网络连接即服务”。... 要了解如何做出贡献,请阅读CONTRIBUTING.rst文件。
6. **examples** 或 **docs** 目录:可能包含使用示例和文档,帮助用户理解和使用diskimage-builder。 7. **tests** 目录:存放单元测试或集成测试代码,确保库的功能正确无误。 8. **MANIFEST.in**: 用于指定在...
1. **README.rst**: 这个文件通常包含项目的介绍、安装指南、使用示例和贡献指南等信息。 2. **setup.py**: 这是Python项目的配置脚本,用于构建、安装和打包`oslo.cache`库。 3. **requirements.txt**: 列出了项目...
打开压缩包后,我们看到的子文件名“ip_associations_python_novaclient_ext-0.2”通常是Python库的标准结构,包含源代码、元数据、文档和测试等组成部分。在这个目录下,我们可以找到以下关键文件: 1. `setup.py`...
其中,`CHANGES.txt`文件通常会列出新版本的主要更新和改进,而`README.rst`或`README.md`文件则会提供项目概述和安装指南。 os-brick与zookeeper的结合也是值得探讨的。Zookeeper是一种分布式协调服务,常用于管理...
6. **python-docutils-0.6-1_ceph.el6.noarch.rpm**:Python Docutils是用于处理文本的工具集,包括RST(ReStructuredText)格式的解析和生成。在Ceph项目中,这可能用于生成文档或构建过程。 在RHEL 6.5上部署和...