Browse Source

empty lists ok, minor refactor in _process_desired_zone

pull/993/head
Viranch Mehta 3 years ago
parent
commit
221367b06a
No known key found for this signature in database GPG Key ID: D83D1392AE9F93B4
1 changed files with 7 additions and 5 deletions
  1. +7
    -5
      octodns/provider/base.py

+ 7
- 5
octodns/provider/base.py View File

@ -84,11 +84,12 @@ class BaseProvider(BaseSource):
if not self.SUPPORTS_DYNAMIC_SUBNETS:
subnet_rules = []
for i, rule in enumerate(record.dynamic.rules):
if 'subnets' not in rule.data:
rule = rule.data
if not rule.get('subnets'):
continue
msg = f'rule {i + 1} contains unsupported subnet matching in {record.fqdn}'
if 'geos' in rule.data:
if rule.get('geos'):
fallback = 'using geos only'
self.supports_warn_or_except(msg, fallback)
else:
@ -100,12 +101,13 @@ class BaseProvider(BaseSource):
record = record.copy()
# drop subnet rules in reverse order so indices don't shift during rule deletion
rules = record.dynamic.rules
for i in subnet_rules[::-1]:
rule = record.dynamic.rules[i]
if 'geo' in rule:
rule = rules[i].data
if rule.get('geos'):
del rule['subnets']
else:
del record.dynamic.rules[i]
del rules[i]
# drop any pools rendered unused
pools = record.dynamic.pools


Loading…
Cancel
Save