From ef8d66ff9cc51be0a033c25bf0867053b063760f Mon Sep 17 00:00:00 2001 From: Adam Smith Date: Thu, 23 Nov 2017 21:49:14 -0800 Subject: [PATCH] Transform @ in Digitalocean API output to zone name --- octodns/provider/digitalocean.py | 9 +++++++-- tests/fixtures/digitalocean-page-2.json | 6 +++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/octodns/provider/digitalocean.py b/octodns/provider/digitalocean.py index 55fa10b..c68e7d6 100644 --- a/octodns/provider/digitalocean.py +++ b/octodns/provider/digitalocean.py @@ -82,18 +82,23 @@ class DigitalOceanClient(object): except KeyError: break - # change any apex record to empty string to match other provider output for record in ret: + # change any apex record to empty string if record['name'] == '@': record['name'] = '' + # change any apex value to zone name + if record['data'] == '@': + record['data'] = zone_name + return ret def record_create(self, zone_name, params): path = '/domains/{}/records'.format(zone_name) - # change empty string to @, DigitalOcean uses @ for apex record names + # change empty name string to @, DO uses @ for apex record names if params['name'] == '': params['name'] = '@' + self._request('POST', path, data=params) def record_delete(self, zone_name, record_id): diff --git a/tests/fixtures/digitalocean-page-2.json b/tests/fixtures/digitalocean-page-2.json index 8b989ae..50f17f9 100644 --- a/tests/fixtures/digitalocean-page-2.json +++ b/tests/fixtures/digitalocean-page-2.json @@ -25,7 +25,7 @@ "id": 11189891, "type": "CNAME", "name": "cname", - "data": "unit.tests", + "data": "@", "priority": null, "port": null, "ttl": 300, @@ -69,7 +69,7 @@ "id": 11189895, "type": "CNAME", "name": "included", - "data": "unit.tests", + "data": "@", "priority": null, "port": null, "ttl": 3600, @@ -86,4 +86,4 @@ "meta": { "total": 21 } -} \ No newline at end of file +}