Преглед изворни кода

Add API reference docs (can't use automodule because toc folding does not work)

Enis Afgan пре 10 година
родитељ
комит
f8a5eecc8e

+ 17 - 0
docs/api_docs/cloud/provider_manager.rst

@@ -0,0 +1,17 @@
+Provider Manager
+================
+
+CloudProvider
+-------------
+.. autoclass:: cloudbridge.cloud.interfaces.impl.CloudProvider
+    :members:
+
+ContainerProvider
+-----------------
+.. autoclass:: cloudbridge.cloud.interfaces.impl.ContainerProvider
+    :members:
+
+DeploymentProvider
+------------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.DeploymentProvider
+    :members:

+ 119 - 0
docs/api_docs/cloud/resources.rst

@@ -0,0 +1,119 @@
+Resources
+=========
+
+.. contents:: :local:
+
+CloudProviderServiceType
+------------------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.CloudProviderServiceType
+    :members:
+
+CloudBridgeBaseException
+------------------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.CloudBridgeBaseException
+    :members:
+
+WaitStateException
+------------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.WaitStateException
+    :members:
+
+InvalidConfigurationException
+-----------------------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.InvalidConfigurationException
+    :members:
+
+ObjectLifeCycleMixin
+--------------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.ObjectLifeCycleMixin
+    :members:
+
+ResultList
+----------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.ResultList
+    :members:
+
+InstanceState
+-------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.InstanceState
+    :members:
+
+Instance
+--------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.Instance
+    :members:
+
+MachineImageState
+-----------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.MachineImageState
+    :members:
+
+LaunchConfig
+------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.LaunchConfig
+    :members:
+
+MachineImage
+------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.MachineImage
+    :members:
+
+VolumeState
+-----------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.VolumeState
+    :members:
+
+Volume
+------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.Volume
+    :members:
+
+SnapshotState
+-------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.SnapshotState
+    :members:
+
+Snapshot
+--------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.Snapshot
+    :members:
+
+KeyPair
+-------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.KeyPair
+    :members:
+
+Region
+------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.Region
+    :members:
+
+PlacementZone
+-------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.PlacementZone
+    :members:
+
+InstanceType
+------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.InstanceType
+    :members:
+
+SecurityGroup
+-------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.SecurityGroup
+    :members:
+
+SecurityGroupRule
+-----------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.SecurityGroupRule
+    :members:
+
+ContainerObject
+---------------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.ContainerObject
+    :members:
+
+Container
+---------
+.. autoclass:: cloudbridge.cloud.interfaces.resources.Container
+    :members:

+ 67 - 0
docs/api_docs/cloud/services.rst

@@ -0,0 +1,67 @@
+Services
+========
+
+ProviderService
+---------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.ProviderService
+    :members:
+
+ComputeService
+--------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.ComputeService
+    :members:
+
+InstanceService
+---------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.InstanceService
+    :members:
+
+VolumeService
+-------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.VolumeService
+    :members:
+
+SnapshotService
+---------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.SnapshotService
+    :members:
+
+BlockStoreService
+-----------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.BlockStoreService
+    :members:
+
+ImageService
+------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.ImageService
+    :members:
+
+ObjectStoreService
+------------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.ObjectStoreService
+    :members:
+
+SecurityService
+---------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.SecurityService
+    :members:
+
+KeyPairService
+--------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.KeyPairService
+    :members:
+
+SecurityGroupService
+--------------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.SecurityGroupService
+    :members:
+
+InstanceTypesService
+--------------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.InstanceTypesService
+    :members:
+
+RegionService
+-------------
+.. autoclass:: cloudbridge.cloud.interfaces.services.RegionService
+    :members:

+ 12 - 0
docs/api_docs/ref.rst

@@ -0,0 +1,12 @@
+API reference
+=============
+
+This section includes the API documentation for the reference interface.
+
+.. toctree::
+   :maxdepth: 2
+   :glob:
+
+   cloud/provider_manager.rst
+   cloud/services.rst
+   cloud/resources.rst

+ 3 - 1
docs/conf.py

@@ -16,6 +16,7 @@ import os
 import shlex
 import sys
 
+import sphinx_rtd_theme
 
 # If extensions (or modules to document with autodoc) are in another directory,
 # add these directories to sys.path here. If the directory is relative to the
@@ -115,7 +116,7 @@ todo_include_todos = True
 
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
-html_theme = 'default'
+html_theme = 'sphinx_rtd_theme'
 
 # Theme options are theme-specific and customize the look and feel of a theme
 # further.  For a list of options available for each theme, see the
@@ -124,6 +125,7 @@ html_theme = 'default'
 
 # Add any paths that contain custom themes here, relative to this directory.
 #html_theme_path = []
+html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
 
 # The name for this set of Sphinx documents.  If None, it defaults to
 # "<project> v<release> documentation".

+ 7 - 13
docs/index.rst

@@ -25,21 +25,15 @@ look like the following.
 In the example above, the AWS_ACCESS_KEY and AWS_SECRET_KEY environment variables
 must be set to your cloud credentials.
 
-Contents:
-
+Documentation
+~~~~~~~~~~~~~
 .. toctree::
-   :glob:
-   :maxdepth: 2
-
-   api_docs/cloudbridge
+    :maxdepth: 2
 
+    api_docs/ref.rst
 
-Indices and tables
-==================
-
+Page index
+~~~~~~~~~~
 * :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
-
 
-.. _`bridge pattern`: https://en.wikipedia.org/wiki/Bridge_pattern
+.. _`bridge pattern`: https://en.wikipedia.org/wiki/Bridge_pattern