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, ...).