diff options
Diffstat (limited to 'octodns-custom-providers/provider')
-rwxr-xr-x | octodns-custom-providers/provider/zonefile.py | 8 |
1 files changed, 8 insertions, 0 deletions
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): |