From 284c2646c6898ec273feba251716bf610a31dc31 Mon Sep 17 00:00:00 2001 From: Jonas Gunz Date: Sun, 29 Aug 2021 14:08:01 +0200 Subject: soa.serial allow environment as serial number --- octodns-custom-providers/provider/zonefile.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'octodns-custom-providers') diff --git a/octodns-custom-providers/provider/zonefile.py b/octodns-custom-providers/provider/zonefile.py index f03f578..6df04e1 100755 --- a/octodns-custom-providers/provider/zonefile.py +++ b/octodns-custom-providers/provider/zonefile.py @@ -6,6 +6,8 @@ import dns.zone import dns.rdataclass import dns.rdatatype +import os + class RdataParameterException(Exception): def __init__(self, msg): super().__init__(msg) @@ -58,6 +60,12 @@ class ZoneFileProvider(BaseProvider): self.soa = soa self.soa_ttl = soa_ttl + # OctoDNS does not recursively check dicts for 'env/' keyword + # TODO Error handling + serial = self.soa['serial'] + if type(serial) == str and serial.startswith('env/'): + self.soa['serial'] = int(os.environ[ serial.split('/',1)[1] ]) + super(ZoneFileProvider, self).__init__(id) def populate(self, zone, target=False, lenient=False): -- cgit v1.2.3