You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2013/08/03 15:07:19 UTC

[1/6] git commit: Put example in a file.

Updated Branches:
  refs/heads/trunk 93db5c094 -> 01e12d3e5


Put example in a file.


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

Branch: refs/heads/trunk
Commit: 2648b37c1455c94625d3422de35892d5b3dfb9f6
Parents: 93db5c0
Author: Tomaz Muraus <to...@apache.org>
Authored: Sat Aug 3 14:27:29 2013 +0200
Committer: Tomaz Muraus <to...@apache.org>
Committed: Sat Aug 3 14:27:29 2013 +0200

----------------------------------------------------------------------
 docs/compute/examples.rst         | 32 ++------------------------------
 docs/examples/compute/trystack.py | 27 +++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/2648b37c/docs/compute/examples.rst
----------------------------------------------------------------------
diff --git a/docs/compute/examples.rst b/docs/compute/examples.rst
index 1a7e2bd..22b1724 100644
--- a/docs/compute/examples.rst
+++ b/docs/compute/examples.rst
@@ -8,35 +8,7 @@ Create an OpenStack node using trystack.org provider
 demonstrates how to launch an OpenStack node on the ``trystack.org`` provider
 using a generic OpenStack driver.
 
-.. sourcecode:: python
-
-    from libcloud.compute.types import Provider
-    from libcloud.compute.providers import get_driver
-
-    import libcloud.security
-
-    # At the time this example was written, https://nova-api.trystack.org:5443
-    # was using a certificate issued by a Certificate Authority (CA) which is
-    # not included in the default Ubuntu certificates bundle (ca-certificates).
-    # Note: Code like this poses a security risk (MITM attack) and that's the
-    # reason why you should never use it for anything else besides testing. You
-    # have been warned.
-    libcloud.security.VERIFY_SSL_CERT = False
-
-    OpenStack = get_driver(Provider.OPENSTACK)
-
-    driver = OpenStack('your username', 'your password',
-                       ex_force_auth_url='https://nova-api.trystack.org:5443/v2.0',
-                       ex_force_auth_version='2.0_password')
-
-    nodes = driver.list_nodes()
-
-    images = driver.list_images()
-    sizes = driver.list_sizes()
-    size = [s for s in sizes if s.ram == 512][0]
-    image = [i for i in images if i.name == 'natty-server-cloudimg-amd64'][0]
-
-    node = driver.create_node(name='test node', image=image, size=size)
-
+.. literalinclude:: /examples/compute/trystack.py
+   :language: python
 
 .. _`trystack.org`: http://trystack.org/

http://git-wip-us.apache.org/repos/asf/libcloud/blob/2648b37c/docs/examples/compute/trystack.py
----------------------------------------------------------------------
diff --git a/docs/examples/compute/trystack.py b/docs/examples/compute/trystack.py
new file mode 100644
index 0000000..6ba3950
--- /dev/null
+++ b/docs/examples/compute/trystack.py
@@ -0,0 +1,27 @@
+from libcloud.compute.types import Provider
+from libcloud.compute.providers import get_driver
+
+import libcloud.security
+
+# At the time this example was written, https://nova-api.trystack.org:5443
+# was using a certificate issued by a Certificate Authority (CA) which is
+# not included in the default Ubuntu certificates bundle (ca-certificates).
+# Note: Code like this poses a security risk (MITM attack) and that's the
+# reason why you should never use it for anything else besides testing. You
+# have been warned.
+libcloud.security.VERIFY_SSL_CERT = False
+
+OpenStack = get_driver(Provider.OPENSTACK)
+
+driver = OpenStack('your username', 'your password',
+                   ex_force_auth_url='https://nova-api.trystack.org:5443/v2.0',
+                   ex_force_auth_version='2.0_password')
+
+nodes = driver.list_nodes()
+
+images = driver.list_images()
+sizes = driver.list_sizes()
+size = [s for s in sizes if s.ram == 512][0]
+image = [i for i in images if i.name == 'natty-server-cloudimg-amd64'][0]
+
+node = driver.create_node(name='test node', image=image, size=size)


[5/6] git commit: Add examples tox target which lints the documentation examples.

Posted by to...@apache.org.
Add examples tox target which lints the documentation examples.


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

Branch: refs/heads/trunk
Commit: b56c0a024b0ab08f629121ffa1ce49ea04b81c7f
Parents: 1e4a0cd
Author: Tomaz Muraus <to...@apache.org>
Authored: Sat Aug 3 14:40:57 2013 +0200
Committer: Tomaz Muraus <to...@apache.org>
Committed: Sat Aug 3 14:40:57 2013 +0200

----------------------------------------------------------------------
 tox.ini | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/b56c0a02/tox.ini
----------------------------------------------------------------------
diff --git a/tox.ini b/tox.ini
index 3730105..60f42d7 100644
--- a/tox.ini
+++ b/tox.ini
@@ -40,3 +40,7 @@ deps = sphinx
 basepython = python
 changedir = docs
 commands = sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
+
+[testenv:examples]
+deps = flake8
+commands = flake8 docs/examples/


[3/6] git commit: Set PYTHONPATH so the base API docs get correctly populated.

Posted by to...@apache.org.
Set PYTHONPATH so the base API docs get correctly populated.


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

Branch: refs/heads/trunk
Commit: 5d15839635d75a99808308bb604014b1831106e3
Parents: 854de0f
Author: Tomaz Muraus <to...@apache.org>
Authored: Sat Aug 3 14:35:30 2013 +0200
Committer: Tomaz Muraus <to...@apache.org>
Committed: Sat Aug 3 14:35:30 2013 +0200

----------------------------------------------------------------------
 docs/Makefile | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/5d158396/docs/Makefile
----------------------------------------------------------------------
diff --git a/docs/Makefile b/docs/Makefile
index 3d1de36..30695a5 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -7,6 +7,8 @@ SPHINXBUILD   = sphinx-build
 PAPER         =
 BUILDDIR      = _build
 
+export PYTHONPATH = $(shell echo "$$PYTHONPATH"):../
+
 # Internal variables.
 PAPEROPT_a4     = -D latex_paper_size=a4
 PAPEROPT_letter = -D latex_paper_size=letter


[2/6] git commit: Import other compute examples.

Posted by to...@apache.org.
Import other compute examples.


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

Branch: refs/heads/trunk
Commit: 854de0ff85458fb41713f3579de69d08d0df599c
Parents: 2648b37
Author: Tomaz Muraus <to...@apache.org>
Authored: Sat Aug 3 14:32:34 2013 +0200
Committer: Tomaz Muraus <to...@apache.org>
Committed: Sat Aug 3 14:32:34 2013 +0200

----------------------------------------------------------------------
 docs/compute/examples.rst                  | 25 +++++++++++++
 docs/examples/compute/openstack_simple.py  | 15 ++++++++
 docs/examples/compute/vmware_vcloud_1.5.py | 49 +++++++++++++++++++++++++
 3 files changed, 89 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/854de0ff/docs/compute/examples.rst
----------------------------------------------------------------------
diff --git a/docs/compute/examples.rst b/docs/compute/examples.rst
index 22b1724..18e9d99 100644
--- a/docs/compute/examples.rst
+++ b/docs/compute/examples.rst
@@ -12,3 +12,28 @@ using a generic OpenStack driver.
    :language: python
 
 .. _`trystack.org`: http://trystack.org/
+
+Create an OpenStack node using a local OpenStack provider
+---------------------------------------------------------
+
+This example shows how to create a node using a local OpenStack installation.
+Don't forget to replace ``your_auth_username``, ``your_auth_password`` and
+``ex_force_auth_url`` with the correct values specific to your installation.
+
+.. note::
+    This example works with Libcloud version 0.9.0 and above.
+
+.. literalinclude:: /examples/compute/openstack_simple.py
+   :language: python
+
+Create a VMware vCloud v1.5 node using generic provider
+-------------------------------------------------------
+
+This example demonstrates how to launch a VMware vCloud v1.5 node on a
+generic provider such as a test lab.
+
+.. note::
+    This example works with Libcloud version 0.10.1 and above.
+
+.. literalinclude:: /examples/compute/vmware_vcloud_1.5.py
+   :language: python

http://git-wip-us.apache.org/repos/asf/libcloud/blob/854de0ff/docs/examples/compute/openstack_simple.py
----------------------------------------------------------------------
diff --git a/docs/examples/compute/openstack_simple.py b/docs/examples/compute/openstack_simple.py
new file mode 100644
index 0000000..65659c9
--- /dev/null
+++ b/docs/examples/compute/openstack_simple.py
@@ -0,0 +1,15 @@
+from libcloud.compute.types import Provider
+from libcloud.compute.providers import get_driver
+
+import libcloud.security
+
+# This assumes you don't have SSL set up.
+# Note: Code like this poses a security risk (MITM attack) and
+# that's the reason why you should never use it for anything else
+# besides testing. You have been warned.
+libcloud.security.VERIFY_SSL_CERT = False
+
+OpenStack = get_driver(Provider.OPENSTACK)
+driver = OpenStack('your_auth_username', 'your_auth_password',
+                   ex_force_auth_url='http://192.168.1.101:5000/v2.0',
+                   ex_force_auth_version='2.0_password')

http://git-wip-us.apache.org/repos/asf/libcloud/blob/854de0ff/docs/examples/compute/vmware_vcloud_1.5.py
----------------------------------------------------------------------
diff --git a/docs/examples/compute/vmware_vcloud_1.5.py b/docs/examples/compute/vmware_vcloud_1.5.py
new file mode 100644
index 0000000..86461ab
--- /dev/null
+++ b/docs/examples/compute/vmware_vcloud_1.5.py
@@ -0,0 +1,49 @@
+from libcloud.compute.types import Provider
+from libcloud.compute.providers import get_driver
+
+import libcloud.security
+
+# Skip this step if you are launching nodes on an official vCloud
+# provider. It is intended only for self signed SSL certs in
+# vanilla vCloud Director v1.5 test deployments.
+# Note: Code like this poses a security risk (MITM attack) and
+# that's the reason why you should never use it for anything else
+# besides testing. You have been warned.
+libcloud.security.VERIFY_SSL_CERT = False
+
+vcloud = get_driver(Provider.VCLOUD)
+
+driver = vcloud('you username@organisation', 'your password',
+                host='vcloud.local', api_version='1.5')
+
+# List all instantiated vApps
+nodes = driver.list_nodes()
+# List all VMs within the first vApp instance
+print nodes[0].extra['vms']
+
+# List all available vApp Templates
+images = driver.list_images()
+image = [i for i in images if i.name == 'natty-server-cloudimg-amd64'][0]
+
+# Create node with minimum set of parameters
+node = driver.create_node(name='test node 1', image=image)
+# Destroy the node
+driver.destroy_node(node)
+
+# Create node without deploying and powering it on
+node = driver.create_node(name='test node 2', image=image, ex_deploy=False)
+
+# Create node with custom CPU & Memory values
+node = driver.create_node(name='test node 3', image=image, ex_vm_cpu=3, ex_vm_memory=1024)
+
+# Create node with customised networking parameters (eg. for OVF imported images)
+node = driver.create_node(name='test node 4', image=image,
+                          ex_vm_network='your vm net name', ex_network='your org net name',
+                          ex_vm_fence='bridged', ex_vm_ipmode='DHCP')
+
+# Create node in a custom virtual data center
+node = driver.create_node(name='test node 4', image=image, ex_vdc='your vdc name')
+
+# Create node with guest OS customisation script to be run at first boot
+node = driver.create_node(name='test node 5', image=image,
+                          ex_vm_script='filesystem path to your script')


[4/6] git commit: pep8 examples.

Posted by to...@apache.org.
pep8 examples.


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

Branch: refs/heads/trunk
Commit: 1e4a0cd04435051d13714195889d1816ae5c5dad
Parents: 5d15839
Author: Tomaz Muraus <to...@apache.org>
Authored: Sat Aug 3 14:39:25 2013 +0200
Committer: Tomaz Muraus <to...@apache.org>
Committed: Sat Aug 3 14:39:25 2013 +0200

----------------------------------------------------------------------
 docs/examples/compute/vmware_vcloud_1.5.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/1e4a0cd0/docs/examples/compute/vmware_vcloud_1.5.py
----------------------------------------------------------------------
diff --git a/docs/examples/compute/vmware_vcloud_1.5.py b/docs/examples/compute/vmware_vcloud_1.5.py
index 86461ab..5498a8f 100644
--- a/docs/examples/compute/vmware_vcloud_1.5.py
+++ b/docs/examples/compute/vmware_vcloud_1.5.py
@@ -34,15 +34,19 @@ driver.destroy_node(node)
 node = driver.create_node(name='test node 2', image=image, ex_deploy=False)
 
 # Create node with custom CPU & Memory values
-node = driver.create_node(name='test node 3', image=image, ex_vm_cpu=3, ex_vm_memory=1024)
+node = driver.create_node(name='test node 3', image=image, ex_vm_cpu=3,
+                          ex_vm_memory=1024)
 
-# Create node with customised networking parameters (eg. for OVF imported images)
+# Create node with customised networking parameters (eg. for OVF
+# imported images)
 node = driver.create_node(name='test node 4', image=image,
-                          ex_vm_network='your vm net name', ex_network='your org net name',
+                          ex_vm_network='your vm net name',
+                          ex_network='your org net name',
                           ex_vm_fence='bridged', ex_vm_ipmode='DHCP')
 
 # Create node in a custom virtual data center
-node = driver.create_node(name='test node 4', image=image, ex_vdc='your vdc name')
+node = driver.create_node(name='test node 4', image=image,
+                          ex_vdc='your vdc name')
 
 # Create node with guest OS customisation script to be run at first boot
 node = driver.create_node(name='test node 5', image=image,


[6/6] git commit: Update base DNS classes to use Sphinx style docstrings and add sphinx api docs.

Posted by to...@apache.org.
Update base DNS classes to use Sphinx style docstrings and add sphinx api docs.


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

Branch: refs/heads/trunk
Commit: 01e12d3e59a64110acd2ce79adafcc9a48f381ed
Parents: b56c0a0
Author: Tomaz Muraus <to...@apache.org>
Authored: Sat Aug 3 15:04:42 2013 +0200
Committer: Tomaz Muraus <to...@apache.org>
Committed: Sat Aug 3 15:06:58 2013 +0200

----------------------------------------------------------------------
 docs/dns/api.rst     |   5 ++
 libcloud/dns/base.py | 208 +++++++++++++++++++++++-----------------------
 2 files changed, 110 insertions(+), 103 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/01e12d3e/docs/dns/api.rst
----------------------------------------------------------------------
diff --git a/docs/dns/api.rst b/docs/dns/api.rst
new file mode 100644
index 0000000..4742139
--- /dev/null
+++ b/docs/dns/api.rst
@@ -0,0 +1,5 @@
+DNS Base API
+============
+
+.. autoclass:: libcloud.dns.base.DNSDriver
+    :members:

http://git-wip-us.apache.org/repos/asf/libcloud/blob/01e12d3e/libcloud/dns/base.py
----------------------------------------------------------------------
diff --git a/libcloud/dns/base.py b/libcloud/dns/base.py
index d36bb17..e025a3e 100644
--- a/libcloud/dns/base.py
+++ b/libcloud/dns/base.py
@@ -30,23 +30,23 @@ class Zone(object):
 
     def __init__(self, id, domain, type, ttl, driver, extra=None):
         """
-        @type id: C{str}
-        @param id: Zone id.
+        :param id: Zone id.
+        :type id: ``str``
 
-        @type domain: C{str}
-        @param domain: The name of the domain.
+        :param domain: The name of the domain.
+        :type domain: ``str``
 
-        @type type: C{string}
-        @param type: Zone type (master, slave).
+        :param type: Zone type (master, slave).
+        :type type: ``str``
 
-        @type ttl: C{int}
-        @param ttl: Default TTL for records in this zone (in seconds).
+        :param ttl: Default TTL for records in this zone (in seconds).
+        :type ttl: ``int``
 
-        @type driver: C{DNSDriver}
-        @param driver: DNSDriver instance.
+        :param driver: DNSDriver instance.
+        :type driver: :class:`DNSDriver`
 
-        @type extra: C{dict}
-        @param extra: (optional) Extra attributes (driver specific).
+        :param extra: (optional) Extra attributes (driver specific).
+        :type extra: ``dict``
         """
         self.id = str(id) if id else None
         self.domain = domain
@@ -81,26 +81,26 @@ class Record(object):
 
     def __init__(self, id, name, type, data, zone, driver, extra=None):
         """
-        @type id: C{str}
-        @param id: Record id
+        :param id: Record id
+        :type id: ``str``
 
-        @type name: C{str}
-        @param name: Hostname or FQDN.
+        :param name: Hostname or FQDN.
+        :type name: ``str``
 
-        @type type: C{RecordType}
-        @param type: DNS record type (A, AAAA, ...).
+        :param type: DNS record type (A, AAAA, ...).
+        :type type: :class:`RecordType`
 
-        @type data: C{str}
-        @param data: Data for the record (depends on the record type).
+        :param data: Data for the record (depends on the record type).
+        :type data: ``str``
 
-        @type zone: C{Zone}
-        @param zone: Zone instance.
+        :param zone: Zone instance.
+        :type zone: :class:`Zone`
 
-        @type driver: C{DNSDriver}
-        @param driver: DNSDriver instance.
+        :param driver: DNSDriver instance.
+        :type driver: :class:`DNSDriver`
 
-        @type extra: C{dict}
-        @param extra: (optional) Extra attributes (driver specific).
+        :param extra: (optional) Extra attributes (driver specific).
+        :type extra: ``dict``
         """
         self.id = str(id) if id else None
         self.name = name
@@ -126,7 +126,9 @@ class Record(object):
 
 class DNSDriver(BaseDriver):
     """
-    DNS driver.
+    A base DNSDriver class to derive from
+
+    This class is always subclassed by a specific driver.
     """
     connectionCls = ConnectionUserAndKey
     name = None
@@ -135,23 +137,23 @@ class DNSDriver(BaseDriver):
     def __init__(self, key, secret=None, secure=True, host=None, port=None,
                  **kwargs):
         """
-        @param    key: API key or username to used (required)
-        @type     key: C{str}
+        :param    key: API key or username to used (required)
+        :type     key: ``str``
 
-        @param    secret: Secret password to be used (required)
-        @type     secret: C{str}
+        :param    secret: Secret password to be used (required)
+        :type     secret: ``str``
 
-        @param    secure: Weither to use HTTPS or HTTP. Note: Some providers
+        :param    secure: Weither to use HTTPS or HTTP. Note: Some providers
                 only support HTTPS, and it is on by default.
-        @type     secure: C{bool}
+        :type     secure: ``bool``
 
-        @param    host: Override hostname used for connections.
-        @type     host: C{str}
+        :param    host: Override hostname used for connections.
+        :type     host: ``str``
 
-        @param    port: Override port used for connections.
-        @type     port: C{int}
+        :param    port: Override port used for connections.
+        :type     port: ``int``
 
-        @rtype: C{None}
+        :return: ``None``
         """
         super(DNSDriver, self).__init__(key=key, secret=secret, secure=secure,
                                         host=host, port=port, **kwargs)
@@ -160,7 +162,7 @@ class DNSDriver(BaseDriver):
         """
         Return a list of RecordType objects supported by the provider.
 
-        @rtype: C{list} of L{RecordType}
+        :return: ``list`` of :class:`RecordType`
         """
         return list(self.RECORD_TYPE_MAP.keys())
 
@@ -168,7 +170,7 @@ class DNSDriver(BaseDriver):
         """
         Return a generator to iterate over available zones.
 
-        @rtype: C{generator} of L{Zone}
+        :rtype: ``generator`` of :class:`Zone`
         """
         raise NotImplementedError(
             'iterate_zones not implemented for this driver')
@@ -177,7 +179,7 @@ class DNSDriver(BaseDriver):
         """
         Return a list of zones.
 
-        @rtype: C{list} of L{Zone}
+        :return: ``list`` of :class:`Zone`
         """
         return list(self.iterate_zones())
 
@@ -185,10 +187,10 @@ class DNSDriver(BaseDriver):
         """
         Return a generator to iterate over records for the provided zone.
 
-        @param zone: Zone to list records for.
-        @type zone: L{Zone}
+        :param zone: Zone to list records for.
+        :type zone: :class:`Zone`
 
-        @rtype: C{generator} of L{Record}
+        :rtype: ``generator`` of :class:`Record`
         """
         raise NotImplementedError(
             'iterate_records not implemented for this driver')
@@ -197,10 +199,10 @@ class DNSDriver(BaseDriver):
         """
         Return a list of records for the provided zone.
 
-        @param zone: Zone to list records for.
-        @type zone: L{Zone}
+        :param zone: Zone to list records for.
+        :type zone: L{Zone}
 
-        @rtype: C{list} of L{Record}
+        :return: ``list`` of :class:`Record`
         """
         return list(self.iterate_records(zone))
 
@@ -208,10 +210,10 @@ class DNSDriver(BaseDriver):
         """
         Return a Zone instance.
 
-        @param zone_id: ID of the required zone
-        @type  zone_id: C{str}
+        :param zone_id: ID of the required zone
+        :type  zone_id: ``str``
 
-        @rtype: L{Zone}
+        :rtype: :class:`Zone`
         """
         raise NotImplementedError(
             'get_zone not implemented for this driver')
@@ -220,13 +222,13 @@ class DNSDriver(BaseDriver):
         """
         Return a Record instance.
 
-        @param zone_id: ID of the required zone
-        @type  zone_id: C{str}
+        :param zone_id: ID of the required zone
+        :type  zone_id: ``str``
 
-        @param record_id: ID of the required record
-        @type  record_id: C{str}
+        :param record_id: ID of the required record
+        :type  record_id: ``str``
 
-        @rtype: L{Record}
+        :rtype: :class:`Record`
         """
         raise NotImplementedError(
             'get_record not implemented for this driver')
@@ -235,19 +237,19 @@ class DNSDriver(BaseDriver):
         """
         Create a new zone.
 
-        @param domain: Zone domain name.
-        @type domain: C{str}
+        :param domain: Zone domain name.
+        :type domain: ``str``
 
-        @param type: Zone type (master / slave).
-        @type  type: C{str}
+        :param type: Zone type (master / slave).
+        :type  type: ``str``
 
-        @param ttl: (optional) TTL for new records.
-        @type  ttl: C{int}
+        :param ttl: TTL for new records. (optional)
+        :type  ttl: ``int``
 
-        @param extra: (optional) Extra attributes (driver specific).
-        @type extra: C{dict}
+        :param extra: Extra attributes (driver specific). (optional)
+        :type extra: ``dict``
 
-        @rtype: L{Zone}
+        :rtype: :class:`Zone`
         """
         raise NotImplementedError(
             'create_zone not implemented for this driver')
@@ -256,22 +258,22 @@ class DNSDriver(BaseDriver):
         """
         Update en existing zone.
 
-        @param zone: Zone to update.
-        @type  zone: L{Zone}
+        :param zone: Zone to update.
+        :type  zone: :class:`Zone`
 
-        @param domain: Zone domain name.
-        @type  domain: C{str}
+        :param domain: Zone domain name.
+        :type  domain: ``str``
 
-        @param type: Zone type (master / slave).
-        @type  type: C{str}
+        :param type: Zone type (master / slave).
+        :type  type: ``str``
 
-        @param ttl: (optional) TTL for new records.
-        @type  ttl: C{int}
+        :param ttl: TTL for new records. (optional)
+        :type  ttl: ``int``
 
-        @param extra: (optional) Extra attributes (driver specific).
-        @type  extra: C{dict}
+        :param extra: Extra attributes (driver specific). (optional)
+        :type  extra: ``dict``
 
-        @rtype: L{Zone}
+        :rtype: :class:`Zone`
         """
         raise NotImplementedError(
             'update_zone not implemented for this driver')
@@ -280,22 +282,22 @@ class DNSDriver(BaseDriver):
         """
         Create a new record.
 
-        @param name: Hostname or FQDN.
-        @type  name: C{str}
+        :param name: Hostname or FQDN.
+        :type  name: ``str``
 
-        @param zone: Zone where the requested record is created.
-        @type  zone: L{Zone}
+        :param zone: Zone where the requested record is created.
+        :type  zone: :class:`Zone`
 
-        @param type: DNS record type (A, AAAA, ...).
-        @type  type: L{RecordType}
+        :param type: DNS record type (A, AAAA, ...).
+        :type  type: :class:`RecordType`
 
-        @param data: Data for the record (depends on the record type).
-        @type  data: C{str}
+        :param data: Data for the record (depends on the record type).
+        :type  data: ``str``
 
-        @param extra: (optional) Extra attributes (driver specific).
-        @type extra: C{dict}
+        :param extra: Extra attributes (driver specific). (optional)
+        :type extra: ``dict``
 
-        @rtype: L{Record}
+        :rtype: :class:`Record`
         """
         raise NotImplementedError(
             'create_record not implemented for this driver')
@@ -304,22 +306,22 @@ class DNSDriver(BaseDriver):
         """
         Update an existing record.
 
-        @param record: Record to update.
-        @type  record: L{Record}
+        :param record: Record to update.
+        :type  record: :class:`Record`
 
-        @param name: Hostname or FQDN.
-        @type  name: C{str}
+        :param name: Hostname or FQDN.
+        :type  name: ``str``
 
-        @param type: DNS record type (A, AAAA, ...).
-        @type  type: L{RecordType}
+        :param type: DNS record type (A, AAAA, ...).
+        :type  type: :class:`RecordType`
 
-        @param data: Data for the record (depends on the record type).
-        @type  data: C{str}
+        :param data: Data for the record (depends on the record type).
+        :type  data: ``str``
 
-        @param extra: (optional) Extra attributes (driver specific).
-        @type  extra: C{dict}
+        :param extra: (optional) Extra attributes (driver specific).
+        :type  extra: ``dict``
 
-        @rtype: L{Record}
+        :rtype: :class:`Record`
         """
         raise NotImplementedError(
             'update_record not implemented for this driver')
@@ -330,10 +332,10 @@ class DNSDriver(BaseDriver):
 
         Note: This will delete all the records belonging to this zone.
 
-        @param zone: Zone to delete.
-        @type  zone: L{Zone}
+        :param zone: Zone to delete.
+        :type  zone: :class:`Zone`
 
-        @rtype: C{bool}
+        :rtype: ``bool``
         """
         raise NotImplementedError(
             'delete_zone not implemented for this driver')
@@ -342,10 +344,10 @@ class DNSDriver(BaseDriver):
         """
         Delete a record.
 
-        @param record: Record to delete.
-        @type  record: L{Record}
+        :param record: Record to delete.
+        :type  record: :class:`Record`
 
-        @rtype: C{bool}
+        :rtype: ``bool``
         """
         raise NotImplementedError(
             'delete_record not implemented for this driver')