From 78448d2bde85fda1718c64e6cd8983b4fcb20fe0 Mon Sep 17 00:00:00 2001 From: olofvndrhr Date: Thu, 29 Feb 2024 22:17:45 +0100 Subject: [PATCH] only unescape txt and spf records --- src/octodns_netbox_dns/__init__.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/octodns_netbox_dns/__init__.py b/src/octodns_netbox_dns/__init__.py index af58d4a..40857ce 100644 --- a/src/octodns_netbox_dns/__init__.py +++ b/src/octodns_netbox_dns/__init__.py @@ -339,6 +339,11 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider): return True + def _unescape_for_netbox(self, rcd_type: str, value: str) -> str: + if rcd_type not in ["TXT", "SPF"]: + return value + return self._unescape_semicolon(value) + def _apply(self, plan: octodns.provider.plan.Plan) -> None: """apply the changes to the NetBox DNS zone. @@ -363,7 +368,7 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider): name=rcd_name, type=change.new._type, ttl=change.new.ttl, - value=self._unescape_semicolon(record), + value=self._unescape_for_netbox(change.new._type, record), disable_ptr=self.disable_ptr, ) @@ -422,6 +427,6 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider): name=rcd_name, type=change.new._type, ttl=change.new.ttl, - value=self._unescape_semicolon(record), + value=self._unescape_for_netbox(change.new._type, record), disable_ptr=self.disable_ptr, )