Update affected DNS drivers to pass "ttl" attribute to the Record class constructor where available an applicable.
Note: For backward compatibility reasons, "ttl" is still available in record.extra. Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/1c4e8911 Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/1c4e8911 Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/1c4e8911 Branch: refs/heads/trunk Commit: 1c4e89112bca03137e737948998993fa4350c120 Parents: 59049a6 Author: Tomaz Muraus <[email protected]> Authored: Sun Nov 22 23:21:35 2015 +0100 Committer: Tomaz Muraus <[email protected]> Committed: Sun Nov 22 23:26:13 2015 +0100 ---------------------------------------------------------------------- libcloud/dns/drivers/auroradns.py | 2 +- libcloud/dns/drivers/dnsimple.py | 3 ++- libcloud/dns/drivers/durabledns.py | 2 +- libcloud/dns/drivers/gandi.py | 1 + libcloud/dns/drivers/google.py | 3 ++- libcloud/dns/drivers/hostvirtual.py | 7 +++++-- libcloud/dns/drivers/linode.py | 5 +++-- libcloud/dns/drivers/pointdns.py | 3 ++- libcloud/dns/drivers/rackspace.py | 3 ++- libcloud/dns/drivers/route53.py | 9 +++++---- libcloud/dns/drivers/softlayer.py | 1 + libcloud/dns/drivers/vultr.py | 1 - libcloud/dns/drivers/worldwidedns.py | 3 ++- libcloud/dns/drivers/zerigo.py | 2 +- libcloud/dns/drivers/zonomi.py | 4 +++- 15 files changed, 31 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/auroradns.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/auroradns.py b/libcloud/dns/drivers/auroradns.py index 614de15..e5412e0 100644 --- a/libcloud/dns/drivers/auroradns.py +++ b/libcloud/dns/drivers/auroradns.py @@ -237,7 +237,7 @@ class AuroraDNSDriver(DNSDriver): return Record(id=record['id'], name=name, type=record['type'], data=record['content'], zone=zone, driver=self, - extra=extra) + ttl=record['ttl'], extra=extra) def __res_to_zone(self, zone): return Zone(id=zone['id'], domain=zone['name'], type=DEFAULT_ZONE_TYPE, http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/dnsimple.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/dnsimple.py b/libcloud/dns/drivers/dnsimple.py index 3b8fdd7..7edbdfe 100644 --- a/libcloud/dns/drivers/dnsimple.py +++ b/libcloud/dns/drivers/dnsimple.py @@ -290,4 +290,5 @@ class DNSimpleDNSDriver(DNSDriver): 'updated_at': record.get('updated_at'), 'domain_id': record.get('domain_id'), 'priority': record.get('prio')} - return Record(id, name, type, data, zone, self, extra=extra) + return Record(id=id, name=name, type=type, data=data, zone=zone, + driver=self, ttl=record.get('ttl', None), extra=extra) http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/durabledns.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/durabledns.py b/libcloud/dns/drivers/durabledns.py index 63364d7..5d2fbe8 100644 --- a/libcloud/dns/drivers/durabledns.py +++ b/libcloud/dns/drivers/durabledns.py @@ -648,7 +648,7 @@ class DurableDNSDriver(DNSDriver): extra = {'aux': int(item.get('aux')), 'ttl': int(item.get('ttl'))} record = Record(id=item.get('id'), type=item.get('type'), zone=zone, name=item.get('name'), data=item.get('data'), - driver=self, extra=extra) + driver=self, ttl=item.get('ttl', None), extra=extra) return record http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/gandi.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/gandi.py b/libcloud/dns/drivers/gandi.py index 792110d..0e46d38 100644 --- a/libcloud/dns/drivers/gandi.py +++ b/libcloud/dns/drivers/gandi.py @@ -154,6 +154,7 @@ class GandiDNSDriver(BaseGandiDriver, DNSDriver): data=record['value'], zone=zone, driver=self, + ttl=record['ttl'], extra={'ttl': record['ttl']} ) http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/google.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/google.py b/libcloud/dns/drivers/google.py index 6c79b04..d0aebcb 100644 --- a/libcloud/dns/drivers/google.py +++ b/libcloud/dns/drivers/google.py @@ -372,7 +372,8 @@ class GoogleDNSDriver(DNSDriver): record_id = '%s:%s' % (r['type'], r['name']) return Record(id=record_id, name=r['name'], type=r['type'], data=r, zone=zone, - driver=self, extra={}) + driver=self, ttl=r.get('ttl', None), + extra={}) def _cleanup_domain(self, domain): # name can only contain lower case alphanumeric characters and hyphens http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/hostvirtual.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/hostvirtual.py b/libcloud/dns/drivers/hostvirtual.py index 4d98df5..75a3ec1 100644 --- a/libcloud/dns/drivers/hostvirtual.py +++ b/libcloud/dns/drivers/hostvirtual.py @@ -108,7 +108,8 @@ class HostVirtualDNSDriver(DNSDriver): name = item['name'][:-len(zone.domain) - 1] record = Record(id=item['id'], name=name, type=type, data=item['content'], - zone=zone, driver=self, extra=extra) + zone=zone, driver=self, ttl=item['ttl'], + extra=extra) return record def list_zones(self): @@ -222,7 +223,9 @@ class HostVirtualDNSDriver(DNSDriver): data=json.dumps(params), method='POST').object record = Record(id=result['id'], name=name, type=type, data=data, - extra=merged, zone=zone, driver=self) + extra=merged, zone=zone, + ttl=merged.get('ttl', None), + driver=self) return record def update_record(self, record, name=None, type=None, http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/linode.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/linode.py b/libcloud/dns/drivers/linode.py index f0fdbdc..5d497ed 100644 --- a/libcloud/dns/drivers/linode.py +++ b/libcloud/dns/drivers/linode.py @@ -174,7 +174,8 @@ class LinodeDNSDriver(DNSDriver): result = self.connection.request(API_ROOT, params=params).objects[0] record = Record(id=result['ResourceID'], name=name, type=type, - data=data, extra=merged, zone=zone, driver=self) + data=data, extra=merged, zone=zone, driver=self, + ttl=merged.get('TTL_sec', None)) return record def update_record(self, record, name=None, type=None, data=None, @@ -268,5 +269,5 @@ class LinodeDNSDriver(DNSDriver): type = self._string_to_record_type(item['TYPE']) record = Record(id=item['RESOURCEID'], name=item['NAME'], type=type, data=item['TARGET'], zone=zone, driver=self, - extra=extra) + ttl=item['TTL_SEC'], extra=extra) return record http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/pointdns.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/pointdns.py b/libcloud/dns/drivers/pointdns.py index a639bdb..fcf5be6 100644 --- a/libcloud/dns/drivers/pointdns.py +++ b/libcloud/dns/drivers/pointdns.py @@ -751,7 +751,8 @@ class PointDNSDriver(DNSDriver): extra = {'ttl': record.get('ttl'), 'zone_id': record.get('zone_id'), 'aux': record.get('aux')} - return Record(id, name, type, data, zone, self, extra=extra) + return Record(id=id, name=name, type=type, data=data, zone=zone, + driver=self, ttl=record.get('ttl', None), extra=extra) def _to_redirects(self, data, zone): redirects = [] http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/rackspace.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/rackspace.py b/libcloud/dns/drivers/rackspace.py index abdb273..a5393f4 100644 --- a/libcloud/dns/drivers/rackspace.py +++ b/libcloud/dns/drivers/rackspace.py @@ -373,7 +373,8 @@ class RackspaceDNSDriver(DNSDriver, OpenStackDriverMixin): extra[key] = data[key] record = Record(id=str(id), name=name, type=type, data=record_data, - zone=zone, driver=self, extra=extra) + zone=zone, driver=self, ttl=extra.get('ttl', None), + extra=extra) return record def _to_full_record_name(self, domain, name): http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/route53.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/route53.py b/libcloud/dns/drivers/route53.py index db3514b..040cdbc 100644 --- a/libcloud/dns/drivers/route53.py +++ b/libcloud/dns/drivers/route53.py @@ -189,7 +189,7 @@ class Route53DNSDriver(DNSDriver): self._post_changeset(zone, batch) id = ':'.join((self.RECORD_TYPE_MAP[type], name)) return Record(id=id, name=name, type=type, data=data, zone=zone, - driver=self, extra=extra) + driver=self, ttl=extra.get('ttl', None), extra=extra) def update_record(self, record, name=None, type=None, data=None, extra=None): @@ -216,7 +216,7 @@ class Route53DNSDriver(DNSDriver): id = ':'.join((self.RECORD_TYPE_MAP[type], name)) return Record(id=id, name=name, type=type, data=data, zone=record.zone, - driver=self, extra=extra) + driver=self, ttl=extra.get('ttl', None), extra=extra) def delete_record(self, record): try: @@ -270,7 +270,8 @@ class Route53DNSDriver(DNSDriver): records = [] for value in values: record = Record(id=id, name=name, type=type, data=value, zone=zone, - driver=self, extra=extra) + driver=self, ttl=extra.get('ttl', None), + extra=extra) records.append(record) return records @@ -505,7 +506,7 @@ class Route53DNSDriver(DNSDriver): id = ':'.join((self.RECORD_TYPE_MAP[type], name)) record = Record(id=id, name=name, type=type, data=data, zone=zone, - driver=self, extra=extra) + driver=self, ttl=extra.get('ttl', None), extra=extra) return record def _get_more(self, rtype, **kwargs): http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/softlayer.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/softlayer.py b/libcloud/dns/drivers/softlayer.py index 04b4a8c..8a3cf4c 100644 --- a/libcloud/dns/drivers/softlayer.py +++ b/libcloud/dns/drivers/softlayer.py @@ -208,6 +208,7 @@ class SoftLayerDNSDriver(DNSDriver): data=item['data'], zone=zone, driver=self, + ttl=item['ttl'], extra=extra ) return record http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/vultr.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/vultr.py b/libcloud/dns/drivers/vultr.py index 41db457..f04407f 100644 --- a/libcloud/dns/drivers/vultr.py +++ b/libcloud/dns/drivers/vultr.py @@ -369,7 +369,6 @@ class VultrDNSDriver(DNSDriver): return zones def _to_record(self, item, zone): - extra = {} if item.get('priority'): http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/worldwidedns.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/worldwidedns.py b/libcloud/dns/drivers/worldwidedns.py index 432c528..8b0f90c 100644 --- a/libcloud/dns/drivers/worldwidedns.py +++ b/libcloud/dns/drivers/worldwidedns.py @@ -532,4 +532,5 @@ class WorldWideDNSDriver(DNSDriver): return records def _to_record(self, _id, subdomain, type, data, zone): - return Record(_id, subdomain, type, data, zone, zone.driver) + return Record(id=_id, name=subdomain, type=type, data=data, zone=zone, + driver=zone.driver) http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/zerigo.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/zerigo.py b/libcloud/dns/drivers/zerigo.py index 0af7a9f..dacdd75 100644 --- a/libcloud/dns/drivers/zerigo.py +++ b/libcloud/dns/drivers/zerigo.py @@ -438,7 +438,7 @@ class ZerigoDNSDriver(DNSDriver): 'priority': priority, 'ttl': ttl} record = Record(id=id, name=name, type=type, data=data, - zone=zone, driver=self, extra=extra) + zone=zone, driver=self, ttl=ttl, extra=extra) return record def _get_more(self, rtype, **kwargs): http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c4e8911/libcloud/dns/drivers/zonomi.py ---------------------------------------------------------------------- diff --git a/libcloud/dns/drivers/zonomi.py b/libcloud/dns/drivers/zonomi.py index 8fdf87b..003de6d 100644 --- a/libcloud/dns/drivers/zonomi.py +++ b/libcloud/dns/drivers/zonomi.py @@ -327,6 +327,8 @@ class ZonomiDNSDriver(DNSDriver): def _to_record(self, item, zone): if len(item.get('ttl')) > 0: ttl = item.get('ttl').split(' ')[0] + else: + ttl = None extra = {'ttl': ttl, 'prio': item.get('prio')} if len(item['name']) > len(zone.domain): @@ -337,7 +339,7 @@ class ZonomiDNSDriver(DNSDriver): record_name = zone.domain record = Record(id=record_name, name=record_name, data=item['content'], type=item['type'], zone=zone, - driver=self, extra=extra) + driver=self, ttl=ttl, extra=extra) return record
