Repository: libcloud
Updated Branches:
  refs/heads/cloudflare_dns_driver 74c147035 -> 0e3e03760


Implement update_record.


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/00372d0c
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/00372d0c
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/00372d0c

Branch: refs/heads/cloudflare_dns_driver
Commit: 00372d0ca5339bd934f32b7fa19adb711a96ecf5
Parents: 74c1470
Author: Tomaz Muraus <[email protected]>
Authored: Sun Nov 22 16:45:57 2015 +0100
Committer: Tomaz Muraus <[email protected]>
Committed: Sun Nov 22 16:45:57 2015 +0100

----------------------------------------------------------------------
 libcloud/dns/drivers/cloudflare.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/00372d0c/libcloud/dns/drivers/cloudflare.py
----------------------------------------------------------------------
diff --git a/libcloud/dns/drivers/cloudflare.py 
b/libcloud/dns/drivers/cloudflare.py
index 44ed160..751674a 100644
--- a/libcloud/dns/drivers/cloudflare.py
+++ b/libcloud/dns/drivers/cloudflare.py
@@ -152,6 +152,20 @@ class CloudFlareDNSDriver(DNSDriver):
         record = self._to_record(zone=zone, 
item=result['response']['rec']['obj'])
         return record
 
+    def update_record(self, record, name=None, type=None, data=None,
+                      extra=None):
+        extra = extra or {}
+        params = {'z': record.zone.domain, 'id': record.id}
+
+        params['name'] = name or record.name
+        params['type'] = type or record.type
+        params['content'] = data or record.data
+        params['ttl'] = extra.get('ttl', None) or record.extra['ttl']
+
+        result = self.connection.request(action='rec_edit', 
params=params).object
+        record = self._to_record(zone=record.zone, 
item=result['response']['rec']['obj'])
+        return record
+
     def delete_record(self, record):
         params = {'z': record.zone.domain, 'id': record.id}
         result = self.connection.request(action='rec_delete', 
params=params).object

Reply via email to