revert: change from repr to string in changeset
Some checks failed
check code / check-code (push) Failing after 27s
Some checks failed
check code / check-code (push) Failing after 27s
Signed-off-by: Ivan Schaller <ivan@schaller.sh>
This commit is contained in:
parent
696d2a2532
commit
8d29b5e639
2 changed files with 25 additions and 12 deletions
|
@ -1,10 +1,22 @@
|
||||||
---
|
---
|
||||||
? ''
|
? ''
|
||||||
: ttl: 172800
|
: - ttl: 172800
|
||||||
type: NS
|
type: NS
|
||||||
values:
|
values:
|
||||||
- ns1.example.com.
|
- ns1.example.com.
|
||||||
- ns3.example.com.
|
- ns2.example.com.
|
||||||
|
- type: TXT
|
||||||
|
value: v=spf1 include:example.com -all
|
||||||
|
_ts3._udp:
|
||||||
|
type: SRV
|
||||||
|
value:
|
||||||
|
port: 9987
|
||||||
|
priority: 0
|
||||||
|
target: example.com.
|
||||||
|
weight: 5
|
||||||
|
abc:
|
||||||
|
type: CNAME
|
||||||
|
value: def.example.com.
|
||||||
ns1:
|
ns1:
|
||||||
type: A
|
type: A
|
||||||
value: 192.168.1.1
|
value: 192.168.1.1
|
||||||
|
|
|
@ -96,7 +96,7 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider):
|
||||||
return fixed
|
return fixed
|
||||||
|
|
||||||
def _unescape_semicolon(self, value: str) -> str:
|
def _unescape_semicolon(self, value: str) -> str:
|
||||||
fixed = value.replace(r"\;", ";")
|
fixed = value.replace(r"\\", "\\").replace(r"\;", ";")
|
||||||
self.log.debug(rf"in='{value}', unescaped='{fixed}'")
|
self.log.debug(rf"in='{value}', unescaped='{fixed}'")
|
||||||
return fixed
|
return fixed
|
||||||
|
|
||||||
|
@ -317,18 +317,19 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider):
|
||||||
"""
|
"""
|
||||||
match change:
|
match change:
|
||||||
case octodns.record.ValueMixin():
|
case octodns.record.ValueMixin():
|
||||||
changeset = {str(change.value)}
|
changeset = {repr(change.value)[1:-1]}
|
||||||
case octodns.record.ValuesMixin():
|
case octodns.record.ValuesMixin():
|
||||||
changeset = {str(v) for v in change.values}
|
changeset = {repr(v)[1:-1] for v in change.values}
|
||||||
|
|
||||||
case _:
|
case _:
|
||||||
raise ValueError
|
raise ValueError
|
||||||
|
|
||||||
if change._type not in ["TXT", "SPF"]:
|
if change._type not in ["TXT", "SPF"]:
|
||||||
|
self.log.debug(f"{changeset=}")
|
||||||
return changeset
|
return changeset
|
||||||
|
|
||||||
escaped_changeset = {self._unescape_semicolon(n) for n in changeset}
|
unescaped_changeset = {self._unescape_semicolon(n) for n in changeset}
|
||||||
return escaped_changeset
|
self.log.debug(f"{unescaped_changeset=}")
|
||||||
|
return unescaped_changeset
|
||||||
|
|
||||||
def _include_change(self, change: octodns.record.change.Change) -> bool:
|
def _include_change(self, change: octodns.record.change.Change) -> bool:
|
||||||
"""filter out record types which the provider can't create in netbox
|
"""filter out record types which the provider can't create in netbox
|
||||||
|
@ -414,7 +415,7 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider):
|
||||||
nb_record.delete()
|
nb_record.delete()
|
||||||
if nb_record.value in to_update:
|
if nb_record.value in to_update:
|
||||||
self.log.debug(
|
self.log.debug(
|
||||||
rf"MODIFY {nb_record.type} {nb_record.name} {nb_record.value}"
|
rf"MODIFY (ttl) {nb_record.type} {nb_record.name} {nb_record.value}"
|
||||||
)
|
)
|
||||||
nb_record.ttl = change.new.ttl
|
nb_record.ttl = change.new.ttl
|
||||||
nb_record.save()
|
nb_record.save()
|
||||||
|
|
Loading…
Reference in a new issue