63195050780d58b1581adbf9a6dbdf9749b28c50
[zonemaker.git] / zonemaker / zone.py
1 second = 1
2 minute = 60*second
3 hour = 60*minute
4 day = 24*hour
5
6 class Address:
7     def __init__(self, IPv4 = None, IPv6 = None):
8         self._IPv4 = IPv4
9         self._IPv6 = IPv6
10     
11     def IPv4(self):
12         return Address(IPv4 = self._IPv4)
13     
14     def IPv6(self):
15         return Address(IPv6 = self._IPv6)
16
17 class Name:
18     def __init__(self, address = None, MX = None, TCP = None, UDP = None):
19         self._address = address
20
21 class Service:
22     def __init__(self, SRV = None, TLSA=None):
23         self._SRV = SRV
24         self._TLSA = TLSA
25
26 class CName:
27     def __init__(self, name):
28         self._name = name
29
30 class Delegation():
31     def __init__(self, NS, DS = None):
32         pass
33
34 class Zone:
35     def __init__(self, name, mail, NS,
36                  secondary_refresh, secondary_retry, secondary_discard,
37                  NX_TTL = None, A_TTL = None, other_TTL = None,
38                  domains = []):
39         assert other_TTL is not None
40         self._NX_TTL = other_TTL if NX_TTL is None else NX_TTL
41         self._A_TTL = other_TTL if A_TTL is None else A_TTL
42         self._other_TTL = other_TTL