Author: tomaz
Date: Sun Sep 25 20:52:37 2011
New Revision: 1175573

URL: http://svn.apache.org/viewvc?rev=1175573&view=rev
Log:
Add update_zone method to the base DNS api.

Modified:
    libcloud/trunk/libcloud/dns/base.py

Modified: libcloud/trunk/libcloud/dns/base.py
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/libcloud/dns/base.py?rev=1175573&r1=1175572&r2=1175573&view=diff
==============================================================================
--- libcloud/trunk/libcloud/dns/base.py (original)
+++ libcloud/trunk/libcloud/dns/base.py Sun Sep 25 20:52:37 2011
@@ -62,6 +62,10 @@ class Zone(object):
     def create_record(self, name, type, data, extra=None):
         self.driver.create_record(name=name, type=type, data=data, extra=extra)
 
+    def update(self, domain, type='master', ttl=None, extra=None):
+        self.driver.update_zone(zone=self, domain=domain, type=type, ttl=ttl,
+                                extra=extra)
+
     def delete(self):
         return self.driver.delete_zone(zone=self)
 
@@ -108,7 +112,7 @@ class Record(object):
 
     def update(self, name, type, data, extra):
         return self.driver.update_record(record=self, name=name, type=type,
-                                       data=data, extra=extra)
+                                         data=data, extra=extra)
 
     def delete(self):
         return self.driver.delete_record(record=self)
@@ -189,6 +193,28 @@ class DNSDriver(BaseDriver):
         raise NotImplementedError(
             'create_zone not implemented for this driver')
 
+    def update_zone(self, zone, domain, type='master', ttl=None, extra=None):
+        """
+        Update en existing zone.
+
+        @type zone: C{Zone}
+        @param zone: Zone to update.
+
+        @type domain: C{string}
+        @param domain: Zone domain name.
+
+        @type type: C{string}
+        @param type: Zone type (master / slave).
+
+        @param ttl: C{int}
+        @param ttl: (optional) TTL for new records.
+
+        @type extra: C{dict}
+        @param extra: (optional) Extra attributes (driver specific).
+        """
+        raise NotImplementedError(
+            'update_zone not implemented for this driver')
+
     def create_record(self, name, zone, type, data, extra=None):
         """
         Create a new record.


Reply via email to