From 0051c30b8d948971b7ec447595b50eef80515993 Mon Sep 17 00:00:00 2001 From: Matthias Frey Date: Tue, 18 Jun 2024 09:58:26 +0200 Subject: [PATCH 1/3] Implement Provider.list_zones for dynamic zone config support --- src/octodns_netbox_dns/__init__.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/octodns_netbox_dns/__init__.py b/src/octodns_netbox_dns/__init__.py index d2db2d8..fd68f00 100644 --- a/src/octodns_netbox_dns/__init__.py +++ b/src/octodns_netbox_dns/__init__.py @@ -430,3 +430,12 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider): value=record, disable_ptr=self.disable_ptr, ) + + def list_zones(self) -> list[str]: + """get all zones from netbox + + @return: a list with all active zones + """ + query_params = {"status": "active", **self.nb_view} + zones = self.api.plugins.netbox_dns.zones.filter(**query_params) + return sorted([z.name + ("." if z.name[-1] != "." else "") for z in zones]) From 60b322636169fd8a32804f29264fe750caff607b Mon Sep 17 00:00:00 2001 From: Ivan Schaller Date: Thu, 27 Jun 2024 21:26:56 +0200 Subject: [PATCH 2/3] use make_absolute function --- src/octodns_netbox_dns/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/octodns_netbox_dns/__init__.py b/src/octodns_netbox_dns/__init__.py index fd68f00..31a9d94 100644 --- a/src/octodns_netbox_dns/__init__.py +++ b/src/octodns_netbox_dns/__init__.py @@ -438,4 +438,5 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider): """ query_params = {"status": "active", **self.nb_view} zones = self.api.plugins.netbox_dns.zones.filter(**query_params) - return sorted([z.name + ("." if z.name[-1] != "." else "") for z in zones]) + + return sorted([self._make_absolute(z.name) for z in zones]) From ba2a3f6edfe2be8566c609784f659b1638c3922d Mon Sep 17 00:00:00 2001 From: Ivan Schaller Date: Thu, 27 Jun 2024 21:30:10 +0200 Subject: [PATCH 3/3] fix whitespace --- src/octodns_netbox_dns/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/octodns_netbox_dns/__init__.py b/src/octodns_netbox_dns/__init__.py index 31a9d94..56edd41 100644 --- a/src/octodns_netbox_dns/__init__.py +++ b/src/octodns_netbox_dns/__init__.py @@ -438,5 +438,5 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider): """ query_params = {"status": "active", **self.nb_view} zones = self.api.plugins.netbox_dns.zones.filter(**query_params) - + return sorted([self._make_absolute(z.name) for z in zones])