1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00

empty lists ok, minor refactor in _process_desired_zone

This commit is contained in:
Viranch Mehta
2023-04-10 16:49:10 -07:00
parent ae781f9b4f
commit 221367b06a

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