From: Martin Mares Date: Wed, 7 Aug 2024 19:08:30 +0000 (+0200) Subject: Add DNAME and sort record-generating methods X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=fc20631ad5fb8d4d69c823058c6f416163d88dc2;p=pynsc.git Add DNAME and sort record-generating methods --- diff --git a/nsconfig/core.py b/nsconfig/core.py index 7dab75a..e1ca1e9 100644 --- a/nsconfig/core.py +++ b/nsconfig/core.py @@ -10,6 +10,7 @@ from dns.rdata import Rdata from dns.rdataclass import RdataClass from dns.rdatatype import RdataType import dns.rdtypes.ANY.CNAME +import dns.rdtypes.ANY.DNAME import dns.rdtypes.ANY.MX import dns.rdtypes.ANY.NS import dns.rdtypes.ANY.PTR @@ -71,6 +72,14 @@ class NscNode: self.nsc_zone.nsc._add_reverse_mapping(a, parse_name(self.name, origin=self.nsc_zone.dns_name)) return self + def CNAME(self, target: Name | str) -> Self: + self._add(dns.rdtypes.ANY.CNAME.CNAME(RdataClass.IN, RdataType.CNAME, target)) + return self + + def DNAME(self, target: Name | str) -> Self: + self._add(dns.rdtypes.ANY.DNAME.DNAME(RdataClass.IN, RdataType.DNAME, target)) + return self + def MX(self, pri: int, name: str) -> Self: self._add( dns.rdtypes.ANY.MX.MX(RdataClass.IN, RdataType.MX, pri, parse_name(name)) @@ -87,23 +96,19 @@ class NscNode: self._add(dns.rdtypes.ANY.NS.NS(RdataClass.IN, RdataType.NS, name)) return self - def TXT(self, *text: str | List[str]) -> Self: - for txt in flatten_list(text): - self._add(dns.rdtypes.ANY.TXT.TXT(RdataClass.IN, RdataType.TXT, txt)) - return self - def PTR(self, target: Name | str) -> Self: self._add(dns.rdtypes.ANY.PTR.PTR(RdataClass.IN, RdataType.PTR, target)) return self - def CNAME(self, target: Name | str) -> Self: - self._add(dns.rdtypes.ANY.CNAME.CNAME(RdataClass.IN, RdataType.CNAME, target)) - return self - def SRV(self, priority: int, weight: int, port: int, target: Name | str) -> Self: self._add(dns.rdtypes.IN.SRV.SRV(RdataClass.IN, RdataType.SRV, priority, weight, port, parse_name(target))) return self + def TXT(self, *text: str | List[str]) -> Self: + for txt in flatten_list(text): + self._add(dns.rdtypes.ANY.TXT.TXT(RdataClass.IN, RdataType.TXT, txt)) + return self + def generic(self, typ: str, text: str) -> Self: self._add(dns.rdata.from_text(RdataClass.IN, typ, text)) return self