netbox-plugin-dns 1.2.5__py3-none-any.whl → 1.2.7b2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of netbox-plugin-dns might be problematic. Click here for more details.

Files changed (65) hide show
  1. netbox_dns/__init__.py +15 -1
  2. netbox_dns/api/serializers.py +3 -0
  3. netbox_dns/api/serializers_/dnssec_key_template.py +46 -0
  4. netbox_dns/api/serializers_/dnssec_policy.py +83 -0
  5. netbox_dns/api/serializers_/zone.py +10 -0
  6. netbox_dns/api/serializers_/zone_template.py +13 -4
  7. netbox_dns/api/urls.py +4 -0
  8. netbox_dns/api/views.py +18 -0
  9. netbox_dns/choices/__init__.py +2 -0
  10. netbox_dns/choices/dnssec_key_template.py +63 -0
  11. netbox_dns/choices/dnssec_policy.py +40 -0
  12. netbox_dns/choices/record.py +2 -25
  13. netbox_dns/choices/utilities.py +26 -0
  14. netbox_dns/fields/__init__.py +2 -0
  15. netbox_dns/fields/choice_array.py +20 -0
  16. netbox_dns/fields/timeperiod.py +31 -0
  17. netbox_dns/filtersets/__init__.py +3 -0
  18. netbox_dns/filtersets/dnssec_key_template.py +51 -0
  19. netbox_dns/filtersets/dnssec_policy.py +73 -0
  20. netbox_dns/filtersets/zone.py +23 -4
  21. netbox_dns/filtersets/zone_template.py +11 -0
  22. netbox_dns/forms/__init__.py +2 -0
  23. netbox_dns/forms/dnssec_key_template.py +188 -0
  24. netbox_dns/forms/dnssec_policy.py +563 -0
  25. netbox_dns/forms/record.py +12 -6
  26. netbox_dns/forms/record_template.py +9 -3
  27. netbox_dns/forms/zone.py +70 -22
  28. netbox_dns/forms/zone_template.py +29 -0
  29. netbox_dns/graphql/__init__.py +7 -3
  30. netbox_dns/graphql/filters.py +16 -0
  31. netbox_dns/graphql/schema.py +20 -0
  32. netbox_dns/graphql/types.py +67 -3
  33. netbox_dns/locale/de/LC_MESSAGES/django.mo +0 -0
  34. netbox_dns/locale/fr/LC_MESSAGES/django.mo +0 -0
  35. netbox_dns/migrations/0015_dnssec.py +168 -0
  36. netbox_dns/migrations/0016_dnssec_policy_status.py +18 -0
  37. netbox_dns/migrations/0017_dnssec_policy_zone_zone_template.py +41 -0
  38. netbox_dns/models/__init__.py +2 -0
  39. netbox_dns/models/dnssec_key_template.py +114 -0
  40. netbox_dns/models/dnssec_policy.py +201 -0
  41. netbox_dns/models/zone.py +29 -16
  42. netbox_dns/models/zone_template.py +16 -6
  43. netbox_dns/navigation.py +49 -0
  44. netbox_dns/signals/dnssec.py +32 -0
  45. netbox_dns/tables/__init__.py +2 -0
  46. netbox_dns/tables/dnssec_key_template.py +48 -0
  47. netbox_dns/tables/dnssec_policy.py +131 -0
  48. netbox_dns/tables/zone.py +17 -1
  49. netbox_dns/tables/zone_template.py +4 -0
  50. netbox_dns/templates/netbox_dns/dnsseckeytemplate.html +70 -0
  51. netbox_dns/templates/netbox_dns/dnssecpolicy.html +155 -0
  52. netbox_dns/templates/netbox_dns/zone.html +16 -0
  53. netbox_dns/templates/netbox_dns/zonetemplate/child.html +46 -0
  54. netbox_dns/templates/netbox_dns/zonetemplate.html +12 -0
  55. netbox_dns/urls.py +16 -0
  56. netbox_dns/validators/__init__.py +1 -0
  57. netbox_dns/validators/dnssec.py +146 -0
  58. netbox_dns/views/__init__.py +2 -0
  59. netbox_dns/views/dnssec_key_template.py +87 -0
  60. netbox_dns/views/dnssec_policy.py +153 -0
  61. {netbox_plugin_dns-1.2.5.dist-info → netbox_plugin_dns-1.2.7b2.dist-info}/METADATA +2 -2
  62. {netbox_plugin_dns-1.2.5.dist-info → netbox_plugin_dns-1.2.7b2.dist-info}/RECORD +65 -39
  63. {netbox_plugin_dns-1.2.5.dist-info → netbox_plugin_dns-1.2.7b2.dist-info}/WHEEL +1 -1
  64. {netbox_plugin_dns-1.2.5.dist-info → netbox_plugin_dns-1.2.7b2.dist-info}/LICENSE +0 -0
  65. {netbox_plugin_dns-1.2.5.dist-info → netbox_plugin_dns-1.2.7b2.dist-info}/top_level.txt +0 -0
netbox_dns/urls.py CHANGED
@@ -69,4 +69,20 @@ urlpatterns = (
69
69
  "zones/<int:pk>/",
70
70
  include(get_model_urls("netbox_dns", "zone")),
71
71
  ),
72
+ path(
73
+ "dnsseckeytemplates/",
74
+ include(get_model_urls("netbox_dns", "dnsseckeytemplate", detail=False)),
75
+ ),
76
+ path(
77
+ "dnsseckeytemplates/<int:pk>/",
78
+ include(get_model_urls("netbox_dns", "dnsseckeytemplate")),
79
+ ),
80
+ path(
81
+ "dnssecpolicies/",
82
+ include(get_model_urls("netbox_dns", "dnssecpolicy", detail=False)),
83
+ ),
84
+ path(
85
+ "dnssecpolicies/<int:pk>/",
86
+ include(get_model_urls("netbox_dns", "dnssecpolicy")),
87
+ ),
72
88
  )
@@ -1,3 +1,4 @@
1
1
  from .dns_name import *
2
2
  from .dns_value import *
3
3
  from .rfc2317 import *
4
+ from .dnssec import *
@@ -0,0 +1,146 @@
1
+ from django.core.exceptions import ValidationError
2
+ from django.utils.translation import gettext_lazy as _
3
+
4
+ from netbox_dns.choices import (
5
+ DNSSECKeyTemplateTypeChoices,
6
+ DNSSECKeyTemplateAlgorithmChoices,
7
+ DNSSECKeyTemplateKeySizeChoices,
8
+ )
9
+
10
+ __all__ = (
11
+ "validate_key_template",
12
+ "validate_key_template_assignment",
13
+ "validate_key_template_lifetime",
14
+ )
15
+
16
+
17
+ def validate_key_template(key_template):
18
+ if key_template.key_size is None:
19
+ return
20
+
21
+ if key_template.key_size not in DNSSECKeyTemplateKeySizeChoices.values():
22
+ raise ValidationError(
23
+ {
24
+ "key_size": _("{key_size} is not a supported key size.").format(
25
+ key_size=key_template.key_size
26
+ )
27
+ }
28
+ )
29
+
30
+ if key_template.algorithm != DNSSECKeyTemplateAlgorithmChoices.RSASHA256:
31
+ raise ValidationError(
32
+ {
33
+ "key_size": _(
34
+ "Specifying the key size is not supported for algorithm {algorithm}."
35
+ ).format(algorithm=key_template.algorithm)
36
+ }
37
+ )
38
+
39
+
40
+ def validate_key_template_assignment(key_templates):
41
+ if key_templates is None:
42
+ return
43
+
44
+ csk = key_templates.filter(type=DNSSECKeyTemplateTypeChoices.TYPE_CSK)
45
+ ksk = key_templates.filter(type=DNSSECKeyTemplateTypeChoices.TYPE_KSK)
46
+ zsk = key_templates.filter(type=DNSSECKeyTemplateTypeChoices.TYPE_ZSK)
47
+
48
+ if csk and (ksk or zsk):
49
+ raise ValidationError(
50
+ {
51
+ "key_templates": _(
52
+ "Specifying a CSK together with any other key template type is not allowed."
53
+ )
54
+ }
55
+ )
56
+
57
+ if any(
58
+ (
59
+ csk.count() > 1,
60
+ ksk.count() > 1,
61
+ zsk.count() > 1,
62
+ )
63
+ ):
64
+ raise ValidationError(
65
+ {
66
+ "key_templates": _(
67
+ "At most one key template per type (CSK, KSK and ZSK) is allowed."
68
+ )
69
+ }
70
+ )
71
+
72
+ if (ksk and zsk) and (ksk.first().algorithm != zsk.first().algorithm):
73
+ raise ValidationError(
74
+ {"key_templates": _("KSK and ZSK must use the same algorithm.")}
75
+ )
76
+
77
+
78
+ def validate_key_template_lifetime(key_template, policy, raise_exception=True):
79
+ key_lifetime = key_template.lifetime
80
+
81
+ if not key_lifetime:
82
+ return
83
+
84
+ dnskey_ttl = policy.get_effective_value("dnskey_ttl")
85
+ publish_safety = policy.get_effective_value("publish_safety")
86
+ zone_propagation_delay = policy.get_effective_value("zone_propagation_delay")
87
+ max_zone_ttl = policy.get_effective_value("max_zone_ttl")
88
+ retire_safety = policy.get_effective_value("retire_safety")
89
+
90
+ validation_errors = []
91
+
92
+ if (
93
+ dnskey_ttl is not None
94
+ and publish_safety is not None
95
+ and zone_propagation_delay is not None
96
+ and key_lifetime < (dnskey_ttl + publish_safety + zone_propagation_delay)
97
+ ):
98
+ validation_errors.append(
99
+ _(
100
+ "Key Lifetime is less than DNSKEY TTL + Publish Safety + Zone Propagation Delay."
101
+ )
102
+ )
103
+
104
+ if (
105
+ max_zone_ttl is not None
106
+ and retire_safety is not None
107
+ and zone_propagation_delay is not None
108
+ and key_lifetime < (max_zone_ttl + retire_safety + zone_propagation_delay)
109
+ ):
110
+ validation_errors.append(
111
+ _(
112
+ "Key Lifetime is less than Max Zone TTL + Retire Safety + Zone Propagation Delay."
113
+ )
114
+ )
115
+
116
+ if key_template.type == DNSSECKeyTemplateTypeChoices.TYPE_ZSK:
117
+ signatures_validity = policy.get_effective_value("signatures_validity")
118
+ signatures_refresh = policy.get_effective_value("signatures_refresh")
119
+
120
+ if (
121
+ signatures_validity is not None
122
+ and signatures_validity is not None
123
+ and key_lifetime < signatures_validity - signatures_refresh
124
+ ):
125
+ validation_errors.append(
126
+ _("Key Lifetime is less than Signatures Validity - Signatures Refresh.")
127
+ )
128
+ else:
129
+ parent_ds_ttl = policy.get_effective_value("parent_ds_ttl")
130
+ parent_propagation_delay = policy.get_effective_value(
131
+ "parent_propagation_delay"
132
+ )
133
+
134
+ if (
135
+ parent_ds_ttl is not None
136
+ and retire_safety is not None
137
+ and parent_propagation_delay is not None
138
+ and parent_ds_ttl < retire_safety + parent_propagation_delay
139
+ ):
140
+ validation_errors.append(
141
+ _(
142
+ "Key Lifetime is less than Parent DS TTL + Retire Safety + Parent Propagation Delay."
143
+ )
144
+ )
145
+
146
+ return validation_errors
@@ -6,3 +6,5 @@ from .registration_contact import *
6
6
  from .registrar import *
7
7
  from .zone_template import *
8
8
  from .record_template import *
9
+ from .dnssec_key_template import *
10
+ from .dnssec_policy import *
@@ -0,0 +1,87 @@
1
+ from netbox.views import generic
2
+ from utilities.views import register_model_view
3
+ from tenancy.views import ObjectContactsView
4
+
5
+ from netbox_dns.filtersets import DNSSECKeyTemplateFilterSet
6
+ from netbox_dns.forms import (
7
+ DNSSECKeyTemplateImportForm,
8
+ DNSSECKeyTemplateFilterForm,
9
+ DNSSECKeyTemplateForm,
10
+ DNSSECKeyTemplateBulkEditForm,
11
+ )
12
+ from netbox_dns.models import DNSSECKeyTemplate
13
+ from netbox_dns.tables import DNSSECKeyTemplateTable, DNSSECPolicyDisplayTable
14
+
15
+
16
+ __all__ = (
17
+ "DNSSECKeyTemplateView",
18
+ "DNSSECKeyTemplateListView",
19
+ "DNSSECKeyTemplateEditView",
20
+ "DNSSECKeyTemplateDeleteView",
21
+ "DNSSECKeyTemplateBulkEditView",
22
+ "DNSSECKeyTemplateBulkImportView",
23
+ "DNSSECKeyTemplateBulkDeleteView",
24
+ )
25
+
26
+
27
+ @register_model_view(DNSSECKeyTemplate, "list", path="", detail=False)
28
+ class DNSSECKeyTemplateListView(generic.ObjectListView):
29
+ queryset = DNSSECKeyTemplate.objects.all()
30
+ filterset = DNSSECKeyTemplateFilterSet
31
+ filterset_form = DNSSECKeyTemplateFilterForm
32
+ table = DNSSECKeyTemplateTable
33
+
34
+
35
+ @register_model_view(DNSSECKeyTemplate)
36
+ class DNSSECKeyTemplateView(generic.ObjectView):
37
+ queryset = DNSSECKeyTemplate.objects.prefetch_related("policies")
38
+
39
+ def get_extra_context(self, request, instance):
40
+ if instance.policies.exists():
41
+ return {
42
+ "policy_table": DNSSECPolicyDisplayTable(data=instance.policies.all())
43
+ }
44
+
45
+ return {}
46
+
47
+
48
+ @register_model_view(DNSSECKeyTemplate, "add", detail=False)
49
+ @register_model_view(DNSSECKeyTemplate, "edit")
50
+ class DNSSECKeyTemplateEditView(generic.ObjectEditView):
51
+ queryset = DNSSECKeyTemplate.objects.all()
52
+ form = DNSSECKeyTemplateForm
53
+ default_return_url = "plugins:netbox_dns:dnsseckeytemplate_list"
54
+
55
+
56
+ @register_model_view(DNSSECKeyTemplate, "delete")
57
+ class DNSSECKeyTemplateDeleteView(generic.ObjectDeleteView):
58
+ queryset = DNSSECKeyTemplate.objects.all()
59
+ default_return_url = "plugins:netbox_dns:dnsseckeytemplate_list"
60
+
61
+
62
+ @register_model_view(DNSSECKeyTemplate, "bulk_import", detail=False)
63
+ class DNSSECKeyTemplateBulkImportView(generic.BulkImportView):
64
+ queryset = DNSSECKeyTemplate.objects.all()
65
+ model_form = DNSSECKeyTemplateImportForm
66
+ table = DNSSECKeyTemplateTable
67
+ default_return_url = "plugins:netbox_dns:dnsseckeytemplate_list"
68
+
69
+
70
+ @register_model_view(DNSSECKeyTemplate, "bulk_edit", path="edit", detail=False)
71
+ class DNSSECKeyTemplateBulkEditView(generic.BulkEditView):
72
+ queryset = DNSSECKeyTemplate.objects.all()
73
+ filterset = DNSSECKeyTemplateFilterSet
74
+ table = DNSSECKeyTemplateTable
75
+ form = DNSSECKeyTemplateBulkEditForm
76
+
77
+
78
+ @register_model_view(DNSSECKeyTemplate, "bulk_delete", path="delete", detail=False)
79
+ class DNSSECKeyTemplateBulkDeleteView(generic.BulkDeleteView):
80
+ queryset = DNSSECKeyTemplate.objects.all()
81
+ filterset = DNSSECKeyTemplateFilterSet
82
+ table = DNSSECKeyTemplateTable
83
+
84
+
85
+ @register_model_view(DNSSECKeyTemplate, "contacts")
86
+ class DNSSECKeyTemplateContactsView(ObjectContactsView):
87
+ queryset = DNSSECKeyTemplate.objects.all()
@@ -0,0 +1,153 @@
1
+ from django.utils.translation import gettext_lazy as _
2
+
3
+ from netbox.views import generic
4
+ from utilities.views import ViewTab, register_model_view
5
+ from tenancy.views import ObjectContactsView
6
+
7
+ from netbox_dns.filtersets import (
8
+ DNSSECPolicyFilterSet,
9
+ ZoneFilterSet,
10
+ ZoneTemplateFilterSet,
11
+ )
12
+ from netbox_dns.forms import (
13
+ DNSSECPolicyImportForm,
14
+ DNSSECPolicyFilterForm,
15
+ DNSSECPolicyForm,
16
+ DNSSECPolicyBulkEditForm,
17
+ )
18
+ from netbox_dns.models import DNSSECPolicy, Zone, ZoneTemplate
19
+ from netbox_dns.tables import (
20
+ DNSSECPolicyTable,
21
+ ZoneDisplayTable,
22
+ ZoneTemplateDisplayTable,
23
+ )
24
+ from netbox_dns.validators import validate_key_template_lifetime
25
+ from netbox_dns.choices import DNSSECKeyTemplateTypeChoices
26
+
27
+
28
+ __all__ = (
29
+ "DNSSECPolicyView",
30
+ "DNSSECPolicyListView",
31
+ "DNSSECPolicyEditView",
32
+ "DNSSECPolicyDeleteView",
33
+ "DNSSECPolicyBulkEditView",
34
+ "DNSSECPolicyBulkImportView",
35
+ "DNSSECPolicyBulkDeleteView",
36
+ )
37
+
38
+
39
+ @register_model_view(DNSSECPolicy, "list", path="", detail=False)
40
+ class DNSSECPolicyListView(generic.ObjectListView):
41
+ queryset = DNSSECPolicy.objects.all()
42
+ filterset = DNSSECPolicyFilterSet
43
+ filterset_form = DNSSECPolicyFilterForm
44
+ table = DNSSECPolicyTable
45
+
46
+
47
+ @register_model_view(DNSSECPolicy)
48
+ class DNSSECPolicyView(generic.ObjectView):
49
+ queryset = DNSSECPolicy.objects.prefetch_related("key_templates")
50
+
51
+ def get_extra_context(self, request, instance):
52
+ context = {}
53
+
54
+ key_errors = {
55
+ key_template.pk: validate_key_template_lifetime(key_template, instance)
56
+ for key_template in instance.key_templates.all()
57
+ }
58
+
59
+ context["key_template_errors"] = key_errors
60
+
61
+ if not instance.key_templates.filter(
62
+ type__in=(
63
+ DNSSECKeyTemplateTypeChoices.TYPE_ZSK,
64
+ DNSSECKeyTemplateTypeChoices.TYPE_CSK,
65
+ )
66
+ ).exists():
67
+ context["policy_warning"] = _(
68
+ "No key for signing zones (CSK or ZSK) is assigned."
69
+ )
70
+
71
+ return context
72
+
73
+
74
+ @register_model_view(DNSSECPolicy, "add", detail=False)
75
+ @register_model_view(DNSSECPolicy, "edit")
76
+ class DNSSECPolicyEditView(generic.ObjectEditView):
77
+ queryset = DNSSECPolicy.objects.all()
78
+ form = DNSSECPolicyForm
79
+ default_return_url = "plugins:netbox_dns:dnssecpolicy_list"
80
+
81
+
82
+ @register_model_view(DNSSECPolicy, "delete")
83
+ class DNSSECPolicyDeleteView(generic.ObjectDeleteView):
84
+ queryset = DNSSECPolicy.objects.all()
85
+ default_return_url = "plugins:netbox_dns:dnssecpolicy_list"
86
+
87
+
88
+ @register_model_view(DNSSECPolicy, "bulk_import", detail=False)
89
+ class DNSSECPolicyBulkImportView(generic.BulkImportView):
90
+ queryset = DNSSECPolicy.objects.all()
91
+ model_form = DNSSECPolicyImportForm
92
+ table = DNSSECPolicyTable
93
+ default_return_url = "plugins:netbox_dns:dnssecpolicy_list"
94
+
95
+
96
+ @register_model_view(DNSSECPolicy, "bulk_edit", path="edit", detail=False)
97
+ class DNSSECPolicyBulkEditView(generic.BulkEditView):
98
+ queryset = DNSSECPolicy.objects.all()
99
+ filterset = DNSSECPolicyFilterSet
100
+ table = DNSSECPolicyTable
101
+ form = DNSSECPolicyBulkEditForm
102
+
103
+
104
+ @register_model_view(DNSSECPolicy, "bulk_delete", path="delete", detail=False)
105
+ class DNSSECPolicyBulkDeleteView(generic.BulkDeleteView):
106
+ queryset = DNSSECPolicy.objects.all()
107
+ filterset = DNSSECPolicyFilterSet
108
+ table = DNSSECPolicyTable
109
+
110
+
111
+ @register_model_view(DNSSECPolicy, "contacts")
112
+ class DNSSECPolicyContactsView(ObjectContactsView):
113
+ queryset = DNSSECPolicy.objects.all()
114
+
115
+
116
+ @register_model_view(DNSSECPolicy, "zones")
117
+ class DNSSECPolicyZoneListView(generic.ObjectChildrenView):
118
+ queryset = DNSSECPolicy.objects.all()
119
+ child_model = Zone
120
+ table = ZoneDisplayTable
121
+ filterset = ZoneFilterSet
122
+ template_name = "netbox_dns/zone/child.html"
123
+ hide_if_empty = True
124
+
125
+ tab = ViewTab(
126
+ label=_("Zones"),
127
+ permission="netbox_dns.view_zones",
128
+ badge=lambda obj: obj.zones.count(),
129
+ hide_if_empty=True,
130
+ )
131
+
132
+ def get_children(self, request, parent):
133
+ return parent.zones.restrict(request.user, "view")
134
+
135
+
136
+ @register_model_view(DNSSECPolicy, "zonetemplates")
137
+ class DNSSECPolicyZoneTemplateListView(generic.ObjectChildrenView):
138
+ queryset = DNSSECPolicy.objects.all()
139
+ child_model = ZoneTemplate
140
+ table = ZoneTemplateDisplayTable
141
+ filterset = ZoneTemplateFilterSet
142
+ template_name = "netbox_dns/zonetemplate/child.html"
143
+ hide_if_empty = True
144
+
145
+ tab = ViewTab(
146
+ label=_("Zone Templates"),
147
+ permission="netbox_dns.view_zonetemplates",
148
+ badge=lambda obj: obj.zone_templates.count(),
149
+ hide_if_empty=True,
150
+ )
151
+
152
+ def get_children(self, request, parent):
153
+ return parent.zone_templates.restrict(request.user, "view")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: netbox-plugin-dns
3
- Version: 1.2.5
3
+ Version: 1.2.7b2
4
4
  Summary: NetBox DNS is a NetBox plugin for managing DNS data.
5
5
  Author-email: Peter Eckel <pete@netbox-dns.org>
6
6
  Project-URL: Homepage, https://github.com/peteeckel/netbox-plugin-dns
@@ -8,7 +8,7 @@ Project-URL: Documentation, https://github.com/peteeckel/netbox-plugin-dns/blob/
8
8
  Project-URL: Repository, https://github.com/peteeckel/netbox-plugin-dns
9
9
  Project-URL: Issues, https://github.com/peteeckel/netbox-plugin-dns/issues
10
10
  Keywords: netbox,netbox-plugin,dns
11
- Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Development Status :: 4 - Beta
12
12
  Requires-Python: >=3.10
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
@@ -1,13 +1,15 @@
1
- netbox_dns/__init__.py,sha256=nnD4iq2_TUmMshut8Z3viAIlrY0RSc9YH6fllV11R4E,3098
1
+ netbox_dns/__init__.py,sha256=p7_4AWAau8aG1UBylTcxA3jToayAQMW9XOZJJ16ZecA,3765
2
2
  netbox_dns/apps.py,sha256=JCW5eS-AQBUubDJve1DjP-IRFKTFGQh1NLGWzJpC5MI,151
3
- netbox_dns/navigation.py,sha256=36clAzlWftW94_VZ3EHu8_btzzA_dah50CLTfoov-O4,6226
3
+ netbox_dns/navigation.py,sha256=u90MwWBySg1Z9yfZEdvUctYWEkab5z1Y3019J7U_-3g,7741
4
4
  netbox_dns/template_content.py,sha256=T06L7-m4eGrLMeGsCvPpQLAGfn3S2FL7z0Cd1hhbisY,4225
5
- netbox_dns/urls.py,sha256=OJ4RIfbFP1fSUo5llMv0IwOl7eJl6PEOA0TAAWVd4wI,1932
5
+ netbox_dns/urls.py,sha256=B00wVs22LOx9VC5boyvL-jo84MiVd_g3FPFCpTDQAgQ,2424
6
6
  netbox_dns/api/nested_serializers.py,sha256=RfwT96Kd-E25oTPxnYVMZX04ZGCSww15c1TmPG8zZk4,3251
7
- netbox_dns/api/serializers.py,sha256=bLbAjyIsj75S9wnQAGL-wYOkTlFS1Y7OsBObAPzNJxc,383
8
- netbox_dns/api/urls.py,sha256=WXYJJvqJ25BvwyrmTY-0F6cJMrgEEdEcisGeMVWEeiY,826
9
- netbox_dns/api/views.py,sha256=QtA5OQtIDGZoZSSaFTua1TtqARQPSVxLYy8b28CAf0s,3979
7
+ netbox_dns/api/serializers.py,sha256=OHrpfJkBn6D1y6b3nIxBEFyE50U5p-Aqv4lBojMEFgk,474
8
+ netbox_dns/api/urls.py,sha256=-kQaei47yZeGbDpQ9RaFaFlFb682ThuPA5h321_2cgM,1000
9
+ netbox_dns/api/views.py,sha256=w71SRyZue5zPD1C64TIr496nYFA_ARjHTlpSVFTZ76o,4522
10
10
  netbox_dns/api/serializers_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ netbox_dns/api/serializers_/dnssec_key_template.py,sha256=nWbEj1FGygDWhrJmEd4BlFg7SiLEHcutceCIfCCNfGg,1139
12
+ netbox_dns/api/serializers_/dnssec_policy.py,sha256=IapAT7fI2mSvail_rkXL7c1ZHVgVnlmmgqChpQNoLbw,2466
11
13
  netbox_dns/api/serializers_/nameserver.py,sha256=DMkUaLNDt3UtpAD6JDHfo1NMngHWRqHh2-xQeOPlfFM,1171
12
14
  netbox_dns/api/serializers_/prefix.py,sha256=kZ1DjDly6VFZamXSxGa57YC6MfZZcI5S7jmGBkVB2_I,551
13
15
  netbox_dns/api/serializers_/record.py,sha256=gpfANXhAcPylFWmWpCfwSEHrYy3b9Wl07PIyM4sPKM0,2408
@@ -15,40 +17,50 @@ netbox_dns/api/serializers_/record_template.py,sha256=WAHua_O7v8IB7QL_hOPWjItMtA
15
17
  netbox_dns/api/serializers_/registrar.py,sha256=xLIaeBJ5ckV1Jf-uyCTFcvsLlsRMlpDtIg6q79vXZic,842
16
18
  netbox_dns/api/serializers_/registration_contact.py,sha256=3IGWW5xB9XEBGApCGZCZIxpCmy1Y5jQUbA4GzmtaCik,1024
17
19
  netbox_dns/api/serializers_/view.py,sha256=nnWeQugoqMdn-NGGC7ykbVPwmBrcBma_ZKwdDxUgJ24,1809
18
- netbox_dns/api/serializers_/zone.py,sha256=CctZ4aABInB7taj5MvWIF8KKAA6qsc0d1UyBPHdoOTc,5367
19
- netbox_dns/api/serializers_/zone_template.py,sha256=NQFycXBNcHSMPID62o6w6EKbPkj_xCfNhXCUiwt2xic,4087
20
- netbox_dns/choices/__init__.py,sha256=jOVs2VGV5SVADRlqVnrFeAy26i8BIeEAbGpiX7K8bL8,42
21
- netbox_dns/choices/record.py,sha256=ZSpyiZE2YCsF2wF53A5DFWgwCIhkFhgOKt__RJ0KxSk,2084
20
+ netbox_dns/api/serializers_/zone.py,sha256=ARUvmQpMOlJlS5Zo5_ItL855oxK0bSnZFvnTL-ENaow,5675
21
+ netbox_dns/api/serializers_/zone_template.py,sha256=gYlP6wBSVoTZ-DVxJHzGz2fyLdcyibTYR1O9czEKl_k,4374
22
+ netbox_dns/choices/__init__.py,sha256=K3JfawICeoUny8O_Dqexr7DOxwyg3QqijZ4DO6j5yP8,106
23
+ netbox_dns/choices/dnssec_key_template.py,sha256=I1EeEBT1wqOU7CT8CozSjH-Q7JL0udoze9qBoFj_-b4,1403
24
+ netbox_dns/choices/dnssec_policy.py,sha256=s6kz8gTiAuyTzn4piGbl2K9mVG-zga8n1rqZD26l72A,843
25
+ netbox_dns/choices/record.py,sha256=PRS9crKoEZdFXTo6RRqXoFztfx9u3TZPsxq0T4Qdwj0,1423
26
+ netbox_dns/choices/utilities.py,sha256=CV-77-iHKbgSOCDwrTTzsrIpZOq4cBnIf3rhvI0_5qs,711
22
27
  netbox_dns/choices/zone.py,sha256=Vblm5RUtNtPNkULh8U1NxBMme1iHPllD6B6LkQkWZW4,621
23
- netbox_dns/fields/__init__.py,sha256=U1nbFIwwtvr10pp3Sk91jEZeWkVQBSJtr0BVWYgOfiA,89
28
+ netbox_dns/fields/__init__.py,sha256=yUVrNQ7BvoeVRGoiRFmrZxXsp1LIwHLRLl0_5mBIyzk,143
24
29
  netbox_dns/fields/address.py,sha256=qNLHmpwwJ3TevljG1QsUr_f2h6NrPsK6wr-R-Ti8eZI,1262
30
+ netbox_dns/fields/choice_array.py,sha256=hRKZrdjQqxe4yZzmSlXrHgfCiJrT0FiCVqRddEO8IRc,588
25
31
  netbox_dns/fields/ipam.py,sha256=wla-kBm77BpD0LNQhgRZS1RYbVois7WDqPpyQkUT02k,481
26
32
  netbox_dns/fields/network.py,sha256=a5nTzjscRufxgMjVsf5juszSYuTujU50pQ9P7q4qMVs,3740
27
33
  netbox_dns/fields/rfc2317.py,sha256=y72PZKlXZ8_6P4eeWZ8IF3gqOMjPxW48gk3AB81XboE,2642
28
- netbox_dns/filtersets/__init__.py,sha256=f8zJhpC3-TyK1OMgTaXmm1E6C2wUc1mNtoI6LOKkljQ,210
34
+ netbox_dns/fields/timeperiod.py,sha256=QEdrmczeZWpBCuZubFrWxiHtm973qneGMM2LvtIosqM,901
35
+ netbox_dns/filtersets/__init__.py,sha256=bKppz_w3X2xNNHOcxZZiIO7zSkDaNTrZJ__k1U7rKik,275
36
+ netbox_dns/filtersets/dnssec_key_template.py,sha256=qu1c2MzBKEflcU-QkWrGGf6aU8iYDgfeKPCcxxfdRkY,1565
37
+ netbox_dns/filtersets/dnssec_policy.py,sha256=dezuuqC9ZzSL0fmEC8qCXLerQ0jbxggiYBuI-QlwcmQ,2239
29
38
  netbox_dns/filtersets/nameserver.py,sha256=7hk9Wh4v4-IHP44rQC4nhdvpYbDYNYYf-XZp6Yo72xE,1203
30
39
  netbox_dns/filtersets/record.py,sha256=Ao2666F6z435TXD_hV2dgItI0sWXlS-jyQ1TQZEL8Yc,3913
31
40
  netbox_dns/filtersets/record_template.py,sha256=wir5s2QWfDnw0M1wWnzJs9im5ok4l5cTbWPMBSM8aEg,1604
32
41
  netbox_dns/filtersets/registrar.py,sha256=Wh_l-IXRHnJhW7Pyokp3czQZISDKzXnWeSQKp512Drc,977
33
42
  netbox_dns/filtersets/registration_contact.py,sha256=903sOcHPRCI0dVzqn1i0pn5VPr_4YpHPh5QE2-akR-Y,1139
34
43
  netbox_dns/filtersets/view.py,sha256=IlQz3k2J_N6eSbT9op0KOu3sKLrn-HTsJCcrIqoYgyY,1047
35
- netbox_dns/filtersets/zone.py,sha256=zl39SOiYIZxAi3G1wx0s9UEIgh8hG9Bdb46qIXLwMr8,6334
36
- netbox_dns/filtersets/zone_template.py,sha256=So-sxWeDhlm-DTtujYp5B_gDbnAVUHnLdRZgw7cOc4o,4347
37
- netbox_dns/forms/__init__.py,sha256=axENVF9vX9BtDKCNxrapRjye1NnygUg9BS0BBj6a0io,209
44
+ netbox_dns/filtersets/zone.py,sha256=LeFmuuRjUv105_gDMkxvuR1i7OABgptBl-zO8u7jUTQ,6833
45
+ netbox_dns/filtersets/zone_template.py,sha256=bbbdc3-420GWR9DrL1MOV8InL1DztKA7I0N4tnr5hXk,4737
46
+ netbox_dns/forms/__init__.py,sha256=tObkTOHw_6kVtEcwdyshN0Ql-8VGhwsgQw7owL_s2lI,273
47
+ netbox_dns/forms/dnssec_key_template.py,sha256=7GAnYZrDe4VW_GYJY0zHwEjG0ecV6Qh317dbSpeKU3I,5217
48
+ netbox_dns/forms/dnssec_policy.py,sha256=yDVdM7qPRVbFaz14CaT8-ns0zdpwF4YJ2jA0AruZIuQ,15603
38
49
  netbox_dns/forms/nameserver.py,sha256=GJe3ece4yIGwMtLZ6wQihBrJu1dk_ZSiwX-vSU0fRa0,3397
39
- netbox_dns/forms/record.py,sha256=QNGLqWprhsGFTSlH2YAe-SHmCx1K1QbT_osAhCegyJg,8252
40
- netbox_dns/forms/record_template.py,sha256=UcB-AlK-ZDoNmIMJhUrxfr76oGkwJ8d7JhkDj9vbMDI,6337
50
+ netbox_dns/forms/record.py,sha256=wkl3YpbKfq0bH6U8atNYrYwrV-kNPRqG1PRQG3X1eHA,8389
51
+ netbox_dns/forms/record_template.py,sha256=BdcDkQ5VPER3-nBKq6R1MINOG__H8yGa4uqdIqoLZuU,6474
41
52
  netbox_dns/forms/registrar.py,sha256=GaRH3w5zlhrpwy_U0pxlrl1DrAEaMB78MUlnGxBRwZI,3949
42
53
  netbox_dns/forms/registration_contact.py,sha256=IhNAqElY7hOdpDG0jwWMdy3y2mB43xmjUhj3lsgJ3SE,5906
43
54
  netbox_dns/forms/view.py,sha256=GacwKHXSDvxQEs-d3ys7rietqA_MzpSd0XjWaSsIbU0,10339
44
- netbox_dns/forms/zone.py,sha256=b63kCukS4uFgkxGnQ_h-i8d-d8GaSINfppDJlrBuXJA,26195
45
- netbox_dns/forms/zone_template.py,sha256=P7jdEz0MI_tjD_fuVDuKOIFCInqGI4opf7l_qaDmG1g,10098
46
- netbox_dns/graphql/__init__.py,sha256=jghYD6uOSAis6YyLbtI3YJGZfwPw1uL2FBRsHs1EhNk,514
47
- netbox_dns/graphql/filters.py,sha256=fHCjFIwbPBJJMk2W7HI8LhrfFhCtQtCM9IE8ZMgVafc,1766
48
- netbox_dns/graphql/schema.py,sha256=q9DQ_hfRB0e6Znq4-IS6UEeTOfMkZmrWkwxcAql1uOA,2270
49
- netbox_dns/graphql/types.py,sha256=zAH8bkMCQdp9_g8HzBdrxSS0spxLwvqHhMA61kp65gk,8268
50
- netbox_dns/locale/de/LC_MESSAGES/django.mo,sha256=L0qwlTBiL4M5IRoN33eejQRgzP11oinumTdGzrsfKEA,20148
55
+ netbox_dns/forms/zone.py,sha256=0KKRDGAMzGhxzgaqb2ENLtsV9jft_MnA2qR8RT-lYSo,27518
56
+ netbox_dns/forms/zone_template.py,sha256=Xi7GbYytVekKRrNjG-60uhthFGeOP1a1l3gxD_0ENuM,11001
57
+ netbox_dns/graphql/__init__.py,sha256=0xg_5d1PPFTadBOZo752t5sfZeLFrqs2jM51Rbf8ti4,652
58
+ netbox_dns/graphql/filters.py,sha256=Cyi8_Jz_5cMZfwsiZaAqsdWQM7Hsp-TmoZkvXOa_-S8,2237
59
+ netbox_dns/graphql/schema.py,sha256=KlbJmlfQEqZhvb6-cYmq94mrMFcQoCh3MldaUD5eVV4,2904
60
+ netbox_dns/graphql/types.py,sha256=LIXmzn2QbWU9PzS8Fa2X2hy7GqMiGz50HeNfAOfWzUA,10161
61
+ netbox_dns/locale/de/LC_MESSAGES/django.mo,sha256=9NILKyHatRicFKDt1chIXIcPAi0oki5jmtZYJR27pLs,24329
51
62
  netbox_dns/locale/en/LC_MESSAGES/django.mo,sha256=GDnSZkfHs3yjtTsll7dksEEej4B50F8pc9RGytZNubM,393
63
+ netbox_dns/locale/fr/LC_MESSAGES/django.mo,sha256=Gvhfvo0LWlW7ga03q3m8QhbzpgYmCzKp_lida5ABcnc,25024
52
64
  netbox_dns/management/commands/cleanup_database.py,sha256=1-tAl0Sht80qaNZyfFyUW19Eh9gBUuc7GdbHN4aemGU,5935
53
65
  netbox_dns/management/commands/cleanup_rrset_ttl.py,sha256=UFRURLBcFeGHUS2lrYFv7UWIebjI72aG1EUQJt0XsXw,2046
54
66
  netbox_dns/management/commands/rebuild_dnssync.py,sha256=Tcl385u6kJTX47SvSyRzKm1RIx4nYRYCMcKr3uVnV60,1246
@@ -69,6 +81,9 @@ netbox_dns/migrations/0011_rename_related_fields.py,sha256=j9lI-QBmTSzOrAxDl02Sd
69
81
  netbox_dns/migrations/0012_natural_ordering.py,sha256=h5XVSmRwisUqz5OJzkBW41dwHIBlu08zqG2-1mxiiw4,2725
70
82
  netbox_dns/migrations/0013_zonetemplate_soa_mname_zonetemplate_soa_rname.py,sha256=Y6TdD_dUZ-Pb1kuRR3l3kSwObn_Cpcmp3tm75qSkc5g,795
71
83
  netbox_dns/migrations/0014_alter_unique_constraints_lowercase.py,sha256=Ueesv7uoB2ZQ1-7kG_qsMlPv0mn3mdDeI8OoAKIschM,1409
84
+ netbox_dns/migrations/0015_dnssec.py,sha256=PRS8wjN3_h-M17gOHagM-5pkZuuS5nlaJjlIqzKr5f8,6716
85
+ netbox_dns/migrations/0016_dnssec_policy_status.py,sha256=MAGTAz95WYkp2PR1Q1EQehEvAYgL1V-ksMa3wlKHgGE,384
86
+ netbox_dns/migrations/0017_dnssec_policy_zone_zone_template.py,sha256=m36a08UMLzs2l-IpKY1nXdspcbGouCQWMG15m19s8kE,1162
72
87
  netbox_dns/migrations/0020_netbox_3_4.py,sha256=UMcHdn8ZAuQjUaM_3rEGpktYrM0TuvhccD7Jt7WQnPs,1271
73
88
  netbox_dns/migrations/0021_record_ip_address.py,sha256=EqdhWXmq7aiK4X79xTRUZng3zFncCl-8JoO65HqlJKw,3244
74
89
  netbox_dns/migrations/0022_search.py,sha256=KW1ffEZ4-0dppGQ_KD1EN7iw8eQJOnDco-xfJFRZqKQ,172
@@ -82,18 +97,23 @@ netbox_dns/migrations/0029_record_fqdn.py,sha256=UAAU38ekKQyiYDOJlcrz6Qbk4bqZfSH
82
97
  netbox_dns/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
98
  netbox_dns/mixins/__init__.py,sha256=LxTEfpod_RHCyMtnzDljv0_dwqp2z3Q6tqbXW8LTGD8,35
84
99
  netbox_dns/mixins/object_modification.py,sha256=AR64fU5f7g-scNAj9b54eSoS9dpjyOpqrxXVXPcOhY8,1807
85
- netbox_dns/models/__init__.py,sha256=iTTJNgUfPAmU4n41usqDSGPvncd4Wpsb9f43ryVDDOs,209
100
+ netbox_dns/models/__init__.py,sha256=CuwFENIVUv0FNMDlY18Am-mvN5kBGkPOGavCP0cle7c,273
101
+ netbox_dns/models/dnssec_key_template.py,sha256=h6YniKfLx1ILAbvko6Mps-bhsI743uHIOiLgtfStZTI,2790
102
+ netbox_dns/models/dnssec_policy.py,sha256=KV9_iFKmoURA5gelOAzNKIuO9iUFmhw8c_kwsyapKSU,5395
86
103
  netbox_dns/models/nameserver.py,sha256=ivZpIVfgQLdDhrtqYPi-zRbygVgl3aff2FMsq1M3qA8,4044
87
104
  netbox_dns/models/record.py,sha256=ot2f5LVxj4ZjNanE29y-30iUK4YZS7-0-37ds3hWtjo,29716
88
105
  netbox_dns/models/record_template.py,sha256=kt-_sMFSMKmuKU8voVqz1-Lh7Wi7lPcA2ExPFQYLoxM,5345
89
106
  netbox_dns/models/registrar.py,sha256=L5tbO8rtOa0VCs_y90nHYLKSRKBnnUhh_6sxZ3Mm2kk,1942
90
107
  netbox_dns/models/registration_contact.py,sha256=O7T1clUjuilZnDjvhJKaHZdmNEF4aLg2h8K5p4llWOs,3825
91
108
  netbox_dns/models/view.py,sha256=gQvKNr_FmhG2EMz2T8kWbdK4b8CyqI-Qc67-Dgrx2SI,4808
92
- netbox_dns/models/zone.py,sha256=GhFtsOkA0zPB0VMfXtqFgJZrnrLul-SqgouZbMBcc50,33465
93
- netbox_dns/models/zone_template.py,sha256=QjjOvSZktH_6l64bCZzVudnL1s9qU6_ZVDkhrhW1zqc,4970
109
+ netbox_dns/models/zone.py,sha256=i0wA5NFc15BSV_yIl6HMzIWhAqiEL7RpxNCQdfxGV9A,33847
110
+ netbox_dns/models/zone_template.py,sha256=-5lk8MtetHjsjlfEwVJ00qIpAx7Cnd1JvjBtPVHEcX4,5246
94
111
  netbox_dns/signals/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
+ netbox_dns/signals/dnssec.py,sha256=o4MOEg6ftxoDWFAhDtajkXzb7Nb6KuUHjtx1zNu7C1w,1040
95
113
  netbox_dns/signals/ipam_dnssync.py,sha256=1zhlf4cMcJLlFosX7YzyqVYdFFHV4MFwTz5KCdL8xQc,7730
96
- netbox_dns/tables/__init__.py,sha256=axENVF9vX9BtDKCNxrapRjye1NnygUg9BS0BBj6a0io,209
114
+ netbox_dns/tables/__init__.py,sha256=tObkTOHw_6kVtEcwdyshN0Ql-8VGhwsgQw7owL_s2lI,273
115
+ netbox_dns/tables/dnssec_key_template.py,sha256=PplAhtgQa5MqVJtfRyHA7M1QppWKP_XN5NZGld5szEc,1100
116
+ netbox_dns/tables/dnssec_policy.py,sha256=l18S9eMwZH5YFcZIRnW4piJ6pmXCI1KzJIkgepuhxs0,3329
97
117
  netbox_dns/tables/ipam_dnssync.py,sha256=7IK95XlA2ter6gsHqXjXPd6WubpOxrV-O5-UT6R1CKU,330
98
118
  netbox_dns/tables/nameserver.py,sha256=Ue1ZTygkgifWbQxvnpIG4PIC2qIWfVZaX_g8OIrRd6Q,739
99
119
  netbox_dns/tables/record.py,sha256=domOGxacF_2LT84k1qBdTgNKQl4kXVsIR8IM8JwZMns,4299
@@ -101,16 +121,18 @@ netbox_dns/tables/record_template.py,sha256=HJEOK3VYVCKWhExs775Nb4KAvHPE7IqQEzne
101
121
  netbox_dns/tables/registrar.py,sha256=XQtJj0c4O4gpCdUp903GSD0tIuARmJw13Nwosw9pTFU,727
102
122
  netbox_dns/tables/registration_contact.py,sha256=n_FKE90j6KNgPKRVq1WXg4vnOzFE238oXsi_NYVAU9M,931
103
123
  netbox_dns/tables/view.py,sha256=gsuWQWAk3RstNIKzBDOHNHR2D3ykX6WigYLMj0VhQFs,1148
104
- netbox_dns/tables/zone.py,sha256=_WihxcaUoQ2pgNyufXau8-yDqgIUMU6HAmbK5jxfIFM,1965
105
- netbox_dns/tables/zone_template.py,sha256=6Cls0YZ1sI1nyQn9Yu2EMW5pTwOAcHsqNxhc6WuqXac,1647
124
+ netbox_dns/tables/zone.py,sha256=A8aEqXRTJ9asVxpVHBymx3F1nmkDPyIfDLcNLHMXTSM,2283
125
+ netbox_dns/tables/zone_template.py,sha256=TU45sNYPHxs1xJTKj57e1s-jxLENCOAgE6S6lconWMc,1751
126
+ netbox_dns/templates/netbox_dns/dnsseckeytemplate.html,sha256=dSEyHgUp0k_5JSdR4s4m_7Rom67TqvRIQN0zbQKYfjE,2839
127
+ netbox_dns/templates/netbox_dns/dnssecpolicy.html,sha256=dXHAt8ISsSWv-vK_kaJMcAzUBh4TZ2hAmeaYa47u0PU,7694
106
128
  netbox_dns/templates/netbox_dns/nameserver.html,sha256=MawPiuAmjFrbv0zRi-7xkm8vr-dT1tlEno8EcoQ9peU,1714
107
129
  netbox_dns/templates/netbox_dns/record.html,sha256=1KBT4xDooTX9kt1cUoPD2-6QnMizPmbItA0JAAgRzfw,6550
108
130
  netbox_dns/templates/netbox_dns/recordtemplate.html,sha256=a29PAUl-KI_I1lxWpVdPp2loJtzgis9DG9erOWrOZM0,3708
109
131
  netbox_dns/templates/netbox_dns/registrar.html,sha256=4kJuj3biiDxQrIMQEQUEmF4iGRE4psr6Fh0CBP1evz8,2308
110
132
  netbox_dns/templates/netbox_dns/registrationcontact.html,sha256=sljVp_MrPSJRc2vJCPFXq9MiWOw4wjbr1kI_YStBntw,3094
111
133
  netbox_dns/templates/netbox_dns/view.html,sha256=1MuzOYNQezRrryNjlklgxErjGTFoVnwqcxf4qceuglw,3320
112
- netbox_dns/templates/netbox_dns/zone.html,sha256=Ci8MbZgd34vJh67F44_f7Tb4VvV4N14-H-Zh6-qDZsM,6894
113
- netbox_dns/templates/netbox_dns/zonetemplate.html,sha256=iE2Dzl3v9AqjUmPuqA5jhPnO94RWxtJgwX1NAr-wimE,3898
134
+ netbox_dns/templates/netbox_dns/zone.html,sha256=5PaCQgZ_6dtD-XzzJsqkcI21vjWn_mB22gKHBpBvgS8,7540
135
+ netbox_dns/templates/netbox_dns/zonetemplate.html,sha256=a3QD0O_8CW2MUBnU_nXGweGhCwo5pYDVlwJHzovC1RU,4344
114
136
  netbox_dns/templates/netbox_dns/record/managed.html,sha256=uwpxQTxyfAXkWqThLT-T2ZssKNUhXTDDMnLWJSVuDNU,119
115
137
  netbox_dns/templates/netbox_dns/record/related.html,sha256=R59aPhE4CyIZtTH0ncwDyS6_wAe_Y-oZjuN_j4qk8iA,1158
116
138
  netbox_dns/templates/netbox_dns/view/button.html,sha256=EMOB5x78XpyfN1qi-pY1CKKKLjyHo9rFUa4Uhq6rFMc,322
@@ -124,17 +146,21 @@ netbox_dns/templates/netbox_dns/zone/managed_record.html,sha256=LOchMAJyfMZIICE6
124
146
  netbox_dns/templates/netbox_dns/zone/record.html,sha256=Y_gg9EUIqjSYxmIZKufAK8jyg9A54J-BoewNxUBoO1Y,2238
125
147
  netbox_dns/templates/netbox_dns/zone/registration.html,sha256=PqniHrO-LnXstIKyjn3fJk69ysjfrrt3U4kZAJqidXI,1265
126
148
  netbox_dns/templates/netbox_dns/zone/rfc2317_child_zone.html,sha256=rWlmb3zRQbLYQ_1dsa0twwu6y1dRj2tfFVEERH07p-s,517
149
+ netbox_dns/templates/netbox_dns/zonetemplate/child.html,sha256=S8BMNOZkfs8SM_4yfKR8_RnQXG47FHCe7rf2quDTc_Y,2247
127
150
  netbox_dns/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
151
  netbox_dns/templatetags/netbox_dns.py,sha256=DND1DMPzv636Rak3M6Hor_Vw6pjqUfSTquofIw4dIsA,223
129
152
  netbox_dns/utilities/__init__.py,sha256=cSGf-nGaRWx9b-Xrh3dLMJYoWNsZ6FF-qdmV4F1uOgg,74
130
153
  netbox_dns/utilities/conversions.py,sha256=eKA17FSU-Us3cfda9DAgtZgmr3r2o5UbJ_1giD3LLvE,2713
131
154
  netbox_dns/utilities/dns.py,sha256=UBiyQe8thiOTnKOmU9e2iRHHnGF9toVLe4efU623kX4,322
132
155
  netbox_dns/utilities/ipam_dnssync.py,sha256=_yuHoah_QN-opsZB51yGCkwjkij7nrmTgKHUZ-bQrBI,9625
133
- netbox_dns/validators/__init__.py,sha256=Mr8TvmcJTa8Pubj8TzbFBKfbHhEmGcr5JdQvczEJ39A,72
156
+ netbox_dns/validators/__init__.py,sha256=X0hPZlC3VZcXMcvXKZ2_5LSoEJdXPNSBr4QtEIFSBJ0,94
134
157
  netbox_dns/validators/dns_name.py,sha256=Sil68Av49jfZPzgFMV_1qEcLnuuAWXmbxfAJPDXUsGg,3766
135
158
  netbox_dns/validators/dns_value.py,sha256=-mc62mth-hlbPUPe_RlCR7vo1KSD6_gQDXiE8rjB-Cc,5206
159
+ netbox_dns/validators/dnssec.py,sha256=3_go92FfrDM6zb-0DZQtaOTqmqGu5bTlywuS6xkp4f4,4707
136
160
  netbox_dns/validators/rfc2317.py,sha256=uKkwxpakiFFKdYA0qy8WSlEnbFwJD4MDw6gGV4F6skg,706
137
- netbox_dns/views/__init__.py,sha256=axENVF9vX9BtDKCNxrapRjye1NnygUg9BS0BBj6a0io,209
161
+ netbox_dns/views/__init__.py,sha256=tObkTOHw_6kVtEcwdyshN0Ql-8VGhwsgQw7owL_s2lI,273
162
+ netbox_dns/views/dnssec_key_template.py,sha256=TfBtODl7EzGvmC2NVDLd-P1zMalLCjClb9pKgPzIsBk,3050
163
+ netbox_dns/views/dnssec_policy.py,sha256=cAuV-Ng0lpwHeXwBbBK9PMeBfmpwFmr1l4lQi2vSHPQ,4766
138
164
  netbox_dns/views/nameserver.py,sha256=6lHg8fqBjc_SoITzFj1FiRARpPF7nSn9knAZxe9x5Rg,3932
139
165
  netbox_dns/views/record.py,sha256=6tOTC7BbQ5XOC7wr94LjFMR3epOi47HP5qIETNvj5sE,6715
140
166
  netbox_dns/views/record_template.py,sha256=CbSyckBvyEvcZCeZgK3q0fJsa1_5HbwUflh_iM7JjH0,3134
@@ -143,8 +169,8 @@ netbox_dns/views/registration_contact.py,sha256=c9KrNkfFNsb55pL74A5rN1CNx32M82V6
143
169
  netbox_dns/views/view.py,sha256=VfrKaLC9D_KNZNmRyFVohRlmMlMbtblAuPgNg0LNyf8,3421
144
170
  netbox_dns/views/zone.py,sha256=W66Miyaf4RKW-8z5wMrerrtmHclhht3h-lPqTWFpiOw,7163
145
171
  netbox_dns/views/zone_template.py,sha256=IIW1lr6RQmhShtqJu6A6LnHdxdBrkkZQHxIDSTqQeyc,2705
146
- netbox_plugin_dns-1.2.5.dist-info/LICENSE,sha256=I3tDu11bZfhFm3EkV4zOD5TmWgLjnUNLEFwrdjniZYs,1112
147
- netbox_plugin_dns-1.2.5.dist-info/METADATA,sha256=CmCyW64s9xmp49ADdEBc48ns2IOYXysCOA8zL9-Ad_0,7636
148
- netbox_plugin_dns-1.2.5.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
149
- netbox_plugin_dns-1.2.5.dist-info/top_level.txt,sha256=sA1Rwl1mRKvMC6XHe2ylZ1GF-Q1NGd08XedK9Y4xZc4,11
150
- netbox_plugin_dns-1.2.5.dist-info/RECORD,,
172
+ netbox_plugin_dns-1.2.7b2.dist-info/LICENSE,sha256=I3tDu11bZfhFm3EkV4zOD5TmWgLjnUNLEFwrdjniZYs,1112
173
+ netbox_plugin_dns-1.2.7b2.dist-info/METADATA,sha256=8N_qhe9Z9UKIyFYI_ejC_24g7RfygkpBqiZnBJ23_ms,7625
174
+ netbox_plugin_dns-1.2.7b2.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
175
+ netbox_plugin_dns-1.2.7b2.dist-info/top_level.txt,sha256=sA1Rwl1mRKvMC6XHe2ylZ1GF-Q1NGd08XedK9Y4xZc4,11
176
+ netbox_plugin_dns-1.2.7b2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.2)
2
+ Generator: setuptools (76.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5