Skip to content

Commit 4218a19

Browse files
authored
Merge pull request #132 from octodns/missing-nameservers
handle zone lists w/o nameservers and more thoroughly test
2 parents f9e9dbe + 0623c38 commit 4218a19

File tree

4 files changed

+6
-12
lines changed

4 files changed

+6
-12
lines changed

CHANGELOG.md

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
## v0.0.8 - 2025-02-06 - More options
1+
## v0.0.9 - 2025-02-06 - Unknown nameservers are a thing
22

3-
* Add support for optionally retrying requests that hit 403 errors
4-
* Add a zone_id lookup fallback when deleting records
5-
* Add support for setting Cloudflare plan type for zones
3+
* Handle cases where Cloudflare doesn't return a zones name servers.
64

75
## v0.0.7 - 2024-08-20 - DS always come second
86

octodns_cloudflare/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ def zones(self):
245245
'cloudflare_plan': z.get('plan', {}).get(
246246
'legacy_id', None
247247
),
248-
'name_servers': z['name_servers'],
248+
'name_servers': z.get('name_servers', []),
249249
}
250250
for z in zones
251251
}
@@ -1299,7 +1299,7 @@ def _apply(self, plan):
12991299
self.zones[zone_name] = {
13001300
'id': zone['id'],
13011301
'cloudflare_plan': zone.get('plan', {}).get('legacy_id', None),
1302-
'name_servers': zone['name_servers'],
1302+
'name_servers': zone.get('name_servers', []),
13031303
}
13041304
self._zone_records[zone_name] = {}
13051305

tests/fixtures/cloudflare-zones-page-2.json

-4
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@
77
"paused": false,
88
"type": "full",
99
"development_mode": 0,
10-
"name_servers": [
11-
"alice.ns.cloudflare.com",
12-
"tom.ns.cloudflare.com"
13-
],
1410
"original_name_servers": [],
1511
"original_registrar": null,
1612
"original_dnshost": null,

tests/test_octodns_provider_cloudflare.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ def test_apply(self):
292292

293293
provider._request.side_effect = [
294294
self.empty, # no zones
295-
{'result': {'id': 42, 'name_servers': ['foo']}}, # zone create
295+
{'result': {'id': 42}}, # zone create
296296
] + [
297297
None
298298
] * 34 # individual record creates
@@ -803,7 +803,7 @@ def test_apply(self):
803803
'unit.tests.': {
804804
'id': '42',
805805
'cloudflare_plan': 'pro',
806-
'name_servers': ['foo'],
806+
'name_servers': [],
807807
}
808808
}
809809

0 commit comments

Comments
 (0)