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 2011/09/11 22:40:58 UTC

svn commit: r1169525 - /libcloud/trunk/libcloud/dns/base.py

Author: tomaz
Date: Sun Sep 11 20:40:58 2011
New Revision: 1169525

URL: http://svn.apache.org/viewvc?rev=1169525&view=rev
Log:
Fix some method signatures and add create_record method to the Zone class.

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=1169525&r1=1169524&r2=1169525&view=diff
==============================================================================
--- libcloud/trunk/libcloud/dns/base.py (original)
+++ libcloud/trunk/libcloud/dns/base.py Sun Sep 11 20:40:58 2011
@@ -25,7 +25,7 @@ class Zone(object):
     DNS zone.
     """
 
-    def __init__(self, id, domain, ttl, extra, driver):
+    def __init__(self, id, domain, type, ttl, extra, driver):
         """
         @type id: C{str}
         @param id: Zone id.
@@ -33,6 +33,9 @@ class Zone(object):
         @type domain: C{str}
         @param domain: The name of the domain.
 
+        @type type: C{string}
+        @param type: Zone type (master, slave).
+
         @type ttl: C{int}
         @param ttl: Default TTL for records in this zone (in seconds).
 
@@ -44,6 +47,7 @@ class Zone(object):
         """
         self.id = str(id) if id else None
         self.domain = domain
+        self.type = type
         self.ttl = ttl or None
         self.extra = extra or {}
         self.driver = driver
@@ -51,6 +55,9 @@ class Zone(object):
     def list_records(self):
         self.driver.list_records(zone=self)
 
+    def create_record(self, name, type, data, extra=None):
+        self.driver.create_record(name=name, type=type, data=data, extra=extra)
+
     def delete(self):
         return self.driver.delete_zone(zone=self)
 
@@ -151,10 +158,13 @@ class DNSDriver(object):
         raise NotImplementedError(
             'get_record not implemented for this driver')
 
-    def create_zone(self, type='master', ttl=None, extra=None):
+    def create_zone(self, domain, type='master', ttl=None, extra=None):
         """
         Create a new zone.
 
+        @type domain: C{string}
+        @param domain: Zone domain name.
+
         @type type: C{string}
         @param type: Zone type (master / slave).
 
@@ -167,13 +177,16 @@ class DNSDriver(object):
         raise NotImplementedError(
             'create_zone not implemented for this driver')
 
-    def create_record(self, name, type, data, extra=None):
+    def create_record(self, name, zone, type, data, extra=None):
         """
         Create a new record.
 
         @param name: C{string}
         @type name: Hostname or FQDN.
 
+        @type zone: C{Zone}
+        @param zone: Zone where the requested record is created.
+
         @type type: C{RecordType}
         @param type: DNS record type (A, AAAA, ...).