aboutsummaryrefslogtreecommitdiff
path: root/octodns-custom-providers/provider/zonefile.py
diff options
context:
space:
mode:
Diffstat (limited to 'octodns-custom-providers/provider/zonefile.py')
-rwxr-xr-xoctodns-custom-providers/provider/zonefile.py8
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):