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 """