structure for docs and API specification.

Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/c6f95d61
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/c6f95d61
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/c6f95d61

Branch: refs/heads/trunk
Commit: c6f95d6159e663e777618eeb32734f786d7bfd78
Parents: 754ae4a
Author: Anthony Shaw <anthony.p.s...@gmail.com>
Authored: Mon Nov 9 14:17:07 2015 +1100
Committer: Anthony Shaw <anthony.p.s...@gmail.com>
Committed: Mon Nov 9 14:17:07 2015 +1100

----------------------------------------------------------------------
 .../generate_provider_feature_matrix_table.py   | 33 ++++++++++++++-
 docs/backup/_supported_methods.rst              | 10 +++++
 docs/backup/_supported_providers.rst            | 43 ++++++++++++++++++++
 docs/backup/api.rst                             | 22 ++++++++++
 docs/backup/drivers/index.rst                   | 12 ++++++
 docs/backup/examples.rst                        |  5 +++
 docs/backup/index.rst                           | 36 ++++++++++++++++
 docs/backup/supported_providers.rst             | 14 +++++++
 docs/supported_providers.rst                    | 13 ++++++
 libcloud/backup/base.py                         |  2 +-
 libcloud/backup/types.py                        |  4 +-
 11 files changed, 190 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/c6f95d61/contrib/generate_provider_feature_matrix_table.py
----------------------------------------------------------------------
diff --git a/contrib/generate_provider_feature_matrix_table.py 
b/contrib/generate_provider_feature_matrix_table.py
index cfea318..2a5d638 100755
--- a/contrib/generate_provider_feature_matrix_table.py
+++ b/contrib/generate_provider_feature_matrix_table.py
@@ -45,6 +45,11 @@ from libcloud.dns.providers import get_driver as 
get_dns_driver
 from libcloud.dns.providers import DRIVERS as DNS_DRIVERS
 from libcloud.dns.types import Provider as DNSProvider
 
+from libcloud.backup.base import BackupDriver
+from libcloud.backup.providers import get_driver as get_backup_driver
+from libcloud.backup.providers import DRIVERS as BACKUP_DRIVERS
+from libcloud.backup.types import Provider as BackupProvider
+
 REQUIRED_DEPENDENCIES = [
     'pysphere'
 ]
@@ -88,7 +93,11 @@ BASE_API_METHODS = {
                     'get_container_cdn_url', 'get_object_cdn_url'],
     'dns': ['list_zones', 'list_records', 'iterate_zones', 'iterate_records',
             'create_zone', 'update_zone', 'create_record', 'update_record',
-            'delete_zone', 'delete_record']
+            'delete_zone', 'delete_record'],
+    'backup': ['get_supported_target_types', 'list_targets', 'create_target', 
'create_target_from_node',
+               'create_target_from_container', 'update_target', 
'delete_target', 'list_recovery_points',
+               'recover_target', 'recover_target_out_of_place', 
'list_target_jobs', 'create_target_job',
+               'resume_target_job', 'suspend_target_job', 'cancel_target_job']
 }
 
 FRIENDLY_METHODS_NAMES = {
@@ -160,6 +169,23 @@ FRIENDLY_METHODS_NAMES = {
         'delete_zone': 'delete zone',
         'delete_record': 'delete record'
     },
+    'backup': {
+        'get_supported_target_types': 'get supported target types',
+        'list_targets': 'list targets',
+        'create_target': 'create target',
+        'create_target_from_node': 'create target from node',
+        'create_target_from_container': 'create target from container',
+        'update_target': 'update target',
+        'delete_target': 'delete target',
+        'list_recovery_points': 'list recovery points',
+        'recover_target': 'recover target',
+        'recover_target_out_of_place': 'recover target out of place',
+        'list_target_jobs': 'list target jobs',
+        'create_target_job': 'create target job',
+        'resume_target_job': 'resume target job',
+        'suspend_target_job': 'suspend target job',
+        'cancel_target_job': 'cancel target job'
+    },
 }
 
 IGNORED_PROVIDERS = [
@@ -203,6 +229,11 @@ def generate_providers_table(api):
         drivers = DNS_DRIVERS
         provider = DNSProvider
         get_driver_method = get_dns_driver
+    elif api == 'backup':
+        driver = BackupDriver
+        drivers = BACKUP_DRIVERS
+        provider = BackupProvider
+        get_driver_method = get_backup_driver
     else:
         raise Exception('Invalid api: %s' % (api))
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/c6f95d61/docs/backup/_supported_methods.rst
----------------------------------------------------------------------
diff --git a/docs/backup/_supported_methods.rst 
b/docs/backup/_supported_methods.rst
new file mode 100644
index 0000000..5076b2c
--- /dev/null
+++ b/docs/backup/_supported_methods.rst
@@ -0,0 +1,10 @@
+.. NOTE: This file has been generated automatically using 
generate_provider_feature_matrix_table.py script, don't manually edit it
+
+===================== ========== ============ =========== =========== 
============= ============= =========== =============
+Provider              list zones list records create zone update zone create 
record update record delete zone delete record
+===================== ========== ============ =========== =========== 
============= ============= =========== =============
+`Dummy`_              yes        yes          yes         no          yes      
     no            yes         yes          
+===================== ========== ============ =========== =========== 
============= ============= =========== =============
+
+.. _`Dummy`: https://www.example.com/
+

http://git-wip-us.apache.org/repos/asf/libcloud/blob/c6f95d61/docs/backup/_supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/backup/_supported_providers.rst 
b/docs/backup/_supported_providers.rst
new file mode 100644
index 0000000..930b575
--- /dev/null
+++ b/docs/backup/_supported_providers.rst
@@ -0,0 +1,43 @@
+.. NOTE: This file has been generated automatically using 
generate_provider_feature_matrix_table.py script, don't manually edit it
+
+===================== ========================================= 
================= ======================================== 
==============================
+Provider              Documentation                             Provider 
constant Module                                   Class Name                    
+===================== ========================================= 
================= ======================================== 
==============================
+`AuroraDNS`_          :doc:`Click </dns/drivers/auroradns>`     AURORADNS      
   :mod:`libcloud.dns.drivers.auroradns`    :class:`AuroraDNSDriver`      
+`DigitalOcean`_       :doc:`Click </dns/drivers/digital_ocean>` DIGITAL_OCEAN  
   :mod:`libcloud.dns.drivers.digitalocean` :class:`DigitalOceanDNSDriver`
+`DNSimple`_           :doc:`Click </dns/drivers/dnsimple>`      DNSIMPLE       
   :mod:`libcloud.dns.drivers.dnsimple`     :class:`DNSimpleDNSDriver`    
+`Gandi DNS`_                                                    GANDI          
   :mod:`libcloud.dns.drivers.gandi`        :class:`GandiDNSDriver`       
+`Google DNS`_                                                   GOOGLE         
   :mod:`libcloud.dns.drivers.google`       :class:`GoogleDNSDriver`      
+`Host Virtual DNS`_   :doc:`Click </dns/drivers/hostvirtual>`   HOSTVIRTUAL    
   :mod:`libcloud.dns.drivers.hostvirtual`  :class:`HostVirtualDNSDriver` 
+`Linode DNS`_                                                   LINODE         
   :mod:`libcloud.dns.drivers.linode`       :class:`LinodeDNSDriver`      
+`Liquidweb DNS`_      :doc:`Click </dns/drivers/liquidweb>`     LIQUIDWEB      
   :mod:`libcloud.dns.drivers.liquidweb`    :class:`LiquidWebDNSDriver`   
+`Point DNS`_          :doc:`Click </dns/drivers/pointdns>`      POINTDNS       
   :mod:`libcloud.dns.drivers.pointdns`     :class:`PointDNSDriver`       
+`Rackspace DNS`_                                                RACKSPACE      
   :mod:`libcloud.dns.drivers.rackspace`    :class:`RackspaceDNSDriver`   
+`Rackspace DNS (UK)`_                                           RACKSPACE_UK   
   :mod:`libcloud.dns.drivers.rackspace`    :class:`RackspaceUKDNSDriver` 
+`Rackspace DNS (US)`_                                           RACKSPACE_US   
   :mod:`libcloud.dns.drivers.rackspace`    :class:`RackspaceUSDNSDriver` 
+`Route53 DNS`_                                                  ROUTE53        
   :mod:`libcloud.dns.drivers.route53`      :class:`Route53DNSDriver`     
+`Softlayer DNS`_                                                SOFTLAYER      
   :mod:`libcloud.dns.drivers.softlayer`    :class:`SoftLayerDNSDriver`   
+`Vultr DNS`_          :doc:`Click </dns/drivers/vultr>`         VULTR          
   :mod:`libcloud.dns.drivers.vultr`        :class:`VultrDNSDriver`       
+`World Wide DNS`_     :doc:`Click </dns/drivers/worldwidedns>`  WORLDWIDEDNS   
   :mod:`libcloud.dns.drivers.worldwidedns` :class:`WorldWideDNSDriver`   
+`Zerigo DNS`_                                                   ZERIGO         
   :mod:`libcloud.dns.drivers.zerigo`       :class:`ZerigoDNSDriver`      
+`Zonomi DNS`_         :doc:`Click </dns/drivers/zonomi>`        ZONOMI         
   :mod:`libcloud.dns.drivers.zonomi`       :class:`ZonomiDNSDriver`      
+===================== ========================================= 
================= ======================================== 
==============================
+
+.. _`AuroraDNS`: https://www.pcextreme.nl/en/aurora/dns
+.. _`DigitalOcean`: https://www.digitalocean.com
+.. _`DNSimple`: https://dnsimple.com/
+.. _`Gandi DNS`: http://www.gandi.net/domain
+.. _`Google DNS`: https://cloud.google.com/
+.. _`Host Virtual DNS`: https://www.hostvirtual.com/
+.. _`Linode DNS`: http://www.linode.com/
+.. _`Liquidweb DNS`: https://www.liquidweb.com
+.. _`Point DNS`: https://pointhq.com/
+.. _`Rackspace DNS`: http://www.rackspace.com/
+.. _`Rackspace DNS (UK)`: http://www.rackspace.com/
+.. _`Rackspace DNS (US)`: http://www.rackspace.com/
+.. _`Route53 DNS`: http://aws.amazon.com/route53/
+.. _`Softlayer DNS`: https://www.softlayer.com
+.. _`Vultr DNS`: http://www.vultr.com/
+.. _`World Wide DNS`: https://www.worldwidedns.net/
+.. _`Zerigo DNS`: http://www.zerigo.com/
+.. _`Zonomi DNS`: https://zonomi.com

http://git-wip-us.apache.org/repos/asf/libcloud/blob/c6f95d61/docs/backup/api.rst
----------------------------------------------------------------------
diff --git a/docs/backup/api.rst b/docs/backup/api.rst
new file mode 100644
index 0000000..a3d5619
--- /dev/null
+++ b/docs/backup/api.rst
@@ -0,0 +1,22 @@
+:orphan:
+
+Backup Base API
+============
+
+.. autoclass:: libcloud.backup.base.BackupDriver
+    :members:
+
+.. autoclass:: libcloud.backup.base.BackupTarget
+    :members:
+
+.. autoclass:: libcloud.backup.base.BackupTargetJob
+    :members:
+
+.. autoclass:: libcloud.backup.base.BackupTargetRecoveryPoint
+    :members:
+
+.. autoclass:: libcloud.backup.types.BackupTargetType
+    :members:
+
+.. autoclass:: libcloud.backup.types.BackupTargetJobStatusType
+    :members:
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/c6f95d61/docs/backup/drivers/index.rst
----------------------------------------------------------------------
diff --git a/docs/backup/drivers/index.rst b/docs/backup/drivers/index.rst
new file mode 100644
index 0000000..5689f16
--- /dev/null
+++ b/docs/backup/drivers/index.rst
@@ -0,0 +1,12 @@
+:orphan:
+
+Backup Drivers Documentation
+=========================
+
+This chapter includes links to driver (provider) specific documentation pages.
+
+.. toctree::
+    :glob:
+    :maxdepth: 1
+
+    *

http://git-wip-us.apache.org/repos/asf/libcloud/blob/c6f95d61/docs/backup/examples.rst
----------------------------------------------------------------------
diff --git a/docs/backup/examples.rst b/docs/backup/examples.rst
new file mode 100644
index 0000000..78f27e4
--- /dev/null
+++ b/docs/backup/examples.rst
@@ -0,0 +1,5 @@
+:orphan:
+
+Backup Examples
+============
+

http://git-wip-us.apache.org/repos/asf/libcloud/blob/c6f95d61/docs/backup/index.rst
----------------------------------------------------------------------
diff --git a/docs/backup/index.rst b/docs/backup/index.rst
new file mode 100644
index 0000000..2479746
--- /dev/null
+++ b/docs/backup/index.rst
@@ -0,0 +1,36 @@
+DNS
+===
+
+.. note::
+
+    Backup API is available in Libcloud 0.20.0 and higher.
+
+Backup API allows you to manage Backup as A Service and services such as EBS 
Snaps,
+Azure VM Backup and others.
+
+Terminology
+-----------
+
+* :class:`~libcloud.backup.base.BackupTarget` - Represents a backup target, 
like a Virtual Machine, a folder or a database.
+* :class:`~libcloud.backup.base.BackupTargetRecoveryPoint` - Represents a copy 
of the data in the target, a recovery point can be
+  recovered to a backup target. An inplace restore is where you recover to the 
same target and an out-of-place restore is where you
+  recover to another target.
+* :class:`~libcloud.backup.base.BackupTargetJob` - Represents a backup job 
running on backup target.
+
+
+Supported Providers
+-------------------
+
+For a list of supported providers see :doc:`supported providers page
+</backup/supported_providers>`.
+
+Examples
+--------
+
+We have :doc:`examples of several common patterns </backup/examples>`.
+
+API Reference
+-------------
+
+For a full reference of all the classes and methods exposed by the Backup
+API, see :doc:`this page </backup/api>`.

http://git-wip-us.apache.org/repos/asf/libcloud/blob/c6f95d61/docs/backup/supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/backup/supported_providers.rst 
b/docs/backup/supported_providers.rst
new file mode 100644
index 0000000..e34e5eb
--- /dev/null
+++ b/docs/backup/supported_providers.rst
@@ -0,0 +1,14 @@
+:orphan:
+
+Supported Providers
+===================
+
+Provider Matrix
+---------------
+
+.. include:: _supported_providers.rst
+
+Supported Methods
+-----------------
+
+.. include:: _supported_methods.rst

http://git-wip-us.apache.org/repos/asf/libcloud/blob/c6f95d61/docs/supported_providers.rst
----------------------------------------------------------------------
diff --git a/docs/supported_providers.rst b/docs/supported_providers.rst
index c7f58ef..f4735e6 100644
--- a/docs/supported_providers.rst
+++ b/docs/supported_providers.rst
@@ -69,3 +69,16 @@ Supported Methods
 ~~~~~~~~~~~~~~~~~
 
 .. include:: dns/_supported_methods.rst
+
+Backup
+---
+
+Provider Matrix
+~~~~~~~~~~~~~~~
+
+.. include:: backup/_supported_providers.rst
+
+Supported Methods
+~~~~~~~~~~~~~~~~~
+
+.. include:: backup/_supported_methods.rst
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/libcloud/blob/c6f95d61/libcloud/backup/base.py
----------------------------------------------------------------------
diff --git a/libcloud/backup/base.py b/libcloud/backup/base.py
index 5dc7923..6bca933 100644
--- a/libcloud/backup/base.py
+++ b/libcloud/backup/base.py
@@ -91,7 +91,7 @@ class BackupTargetJob(object):
         :type id: ``str``
 
         :param status: Status of the job
-        :type status: :class:`BackupTargetJobStatus`
+        :type status: :class:`BackupTargetJobStatusType`
 
         :param progress: Progress of the job, as a percentage
         :type progress: ``int``

http://git-wip-us.apache.org/repos/asf/libcloud/blob/c6f95d61/libcloud/backup/types.py
----------------------------------------------------------------------
diff --git a/libcloud/backup/types.py b/libcloud/backup/types.py
index 1550ff9..5830de2 100644
--- a/libcloud/backup/types.py
+++ b/libcloud/backup/types.py
@@ -16,7 +16,7 @@
 __all__ = [
     'Provider',
     'BackupTargetType',
-    'BackupTargetJobStatus'
+    'BackupTargetJobStatusType'
 ]
 
 
@@ -45,7 +45,7 @@ class BackupTargetType(object):
     OBJECT = 'Object'
 
 
-class BackupTargetJobStatus(object):
+class BackupTargetJobStatusType(object):
     """
     The status of a backup target job
     """

Reply via email to