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.