netbox-plugin-dns 1.2.5__py3-none-any.whl → 1.2.7__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 (77) hide show
  1. netbox_dns/__init__.py +16 -8
  2. netbox_dns/api/field_serializers.py +25 -0
  3. netbox_dns/api/nested_serializers.py +19 -1
  4. netbox_dns/api/serializers.py +3 -0
  5. netbox_dns/api/serializers_/dnssec_key_template.py +59 -0
  6. netbox_dns/api/serializers_/dnssec_policy.py +113 -0
  7. netbox_dns/api/serializers_/record.py +2 -0
  8. netbox_dns/api/serializers_/record_template.py +2 -0
  9. netbox_dns/api/serializers_/zone.py +20 -1
  10. netbox_dns/api/serializers_/zone_template.py +13 -4
  11. netbox_dns/api/urls.py +4 -0
  12. netbox_dns/api/views.py +18 -0
  13. netbox_dns/choices/__init__.py +2 -0
  14. netbox_dns/choices/dnssec_key_template.py +63 -0
  15. netbox_dns/choices/dnssec_policy.py +40 -0
  16. netbox_dns/choices/record.py +2 -25
  17. netbox_dns/choices/utilities.py +26 -0
  18. netbox_dns/choices/zone.py +96 -1
  19. netbox_dns/fields/__init__.py +2 -0
  20. netbox_dns/fields/choice_array.py +33 -0
  21. netbox_dns/fields/timeperiod.py +33 -0
  22. netbox_dns/filtersets/__init__.py +3 -0
  23. netbox_dns/filtersets/dnssec_key_template.py +51 -0
  24. netbox_dns/filtersets/dnssec_policy.py +97 -0
  25. netbox_dns/filtersets/zone.py +30 -6
  26. netbox_dns/filtersets/zone_template.py +13 -2
  27. netbox_dns/forms/__init__.py +2 -0
  28. netbox_dns/forms/dnssec_key_template.py +189 -0
  29. netbox_dns/forms/dnssec_policy.py +593 -0
  30. netbox_dns/forms/nameserver.py +2 -0
  31. netbox_dns/forms/record.py +12 -6
  32. netbox_dns/forms/record_template.py +10 -3
  33. netbox_dns/forms/zone.py +142 -31
  34. netbox_dns/forms/zone_template.py +38 -0
  35. netbox_dns/graphql/__init__.py +7 -3
  36. netbox_dns/graphql/filters.py +16 -0
  37. netbox_dns/graphql/schema.py +20 -0
  38. netbox_dns/graphql/types.py +67 -3
  39. netbox_dns/locale/de/LC_MESSAGES/django.mo +0 -0
  40. netbox_dns/locale/fr/LC_MESSAGES/django.mo +0 -0
  41. netbox_dns/migrations/0015_dnssec.py +168 -0
  42. netbox_dns/migrations/0016_dnssec_policy_status.py +18 -0
  43. netbox_dns/migrations/0017_dnssec_policy_zone_zone_template.py +41 -0
  44. netbox_dns/migrations/0018_zone_domain_status_zone_expiration_date.py +23 -0
  45. netbox_dns/models/__init__.py +2 -0
  46. netbox_dns/models/dnssec_key_template.py +114 -0
  47. netbox_dns/models/dnssec_policy.py +203 -0
  48. netbox_dns/models/record.py +1 -1
  49. netbox_dns/models/zone.py +74 -19
  50. netbox_dns/models/zone_template.py +17 -7
  51. netbox_dns/navigation.py +49 -0
  52. netbox_dns/signals/dnssec.py +32 -0
  53. netbox_dns/tables/__init__.py +2 -0
  54. netbox_dns/tables/dnssec_key_template.py +48 -0
  55. netbox_dns/tables/dnssec_policy.py +131 -0
  56. netbox_dns/tables/zone.py +23 -2
  57. netbox_dns/tables/zone_template.py +4 -0
  58. netbox_dns/template_content.py +2 -1
  59. netbox_dns/templates/netbox_dns/dnsseckeytemplate.html +70 -0
  60. netbox_dns/templates/netbox_dns/dnssecpolicy.html +155 -0
  61. netbox_dns/templates/netbox_dns/zone/registration.html +19 -0
  62. netbox_dns/templates/netbox_dns/zone.html +16 -0
  63. netbox_dns/templates/netbox_dns/zonetemplate/child.html +46 -0
  64. netbox_dns/templates/netbox_dns/zonetemplate.html +12 -0
  65. netbox_dns/urls.py +23 -0
  66. netbox_dns/utilities/conversions.py +13 -0
  67. netbox_dns/validators/__init__.py +1 -0
  68. netbox_dns/validators/dnssec.py +148 -0
  69. netbox_dns/views/__init__.py +2 -0
  70. netbox_dns/views/dnssec_key_template.py +87 -0
  71. netbox_dns/views/dnssec_policy.py +155 -0
  72. netbox_dns/views/zone.py +11 -1
  73. {netbox_plugin_dns-1.2.5.dist-info → netbox_plugin_dns-1.2.7.dist-info}/METADATA +3 -2
  74. {netbox_plugin_dns-1.2.5.dist-info → netbox_plugin_dns-1.2.7.dist-info}/RECORD +77 -49
  75. {netbox_plugin_dns-1.2.5.dist-info → netbox_plugin_dns-1.2.7.dist-info}/WHEEL +1 -1
  76. {netbox_plugin_dns-1.2.5.dist-info → netbox_plugin_dns-1.2.7.dist-info/licenses}/LICENSE +0 -0
  77. {netbox_plugin_dns-1.2.5.dist-info → netbox_plugin_dns-1.2.7.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,148 @@
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 {lifetime} is less than DNSKEY TTL + Publish Safety + Zone Propagation Delay."
101
+ ).format(lifetime=key_lifetime)
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 {lifetime} is less than Max Zone TTL + Retire Safety + Zone Propagation Delay."
113
+ ).format(lifetime=key_lifetime)
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
+ _(
127
+ "Key Lifetime {lifetime} is less than Signatures Validity - Signatures Refresh."
128
+ )
129
+ ).format(lifetime=key_lifetime)
130
+ else:
131
+ parent_ds_ttl = policy.get_effective_value("parent_ds_ttl")
132
+ parent_propagation_delay = policy.get_effective_value(
133
+ "parent_propagation_delay"
134
+ )
135
+
136
+ if (
137
+ parent_ds_ttl is not None
138
+ and retire_safety is not None
139
+ and parent_propagation_delay is not None
140
+ and parent_ds_ttl < retire_safety + parent_propagation_delay
141
+ ):
142
+ validation_errors.append(
143
+ _(
144
+ "Key Lifetime {lifetime} is less than Parent DS TTL + Retire Safety + Parent Propagation Delay."
145
+ ).format(lifetime=key_lifetime)
146
+ )
147
+
148
+ 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,155 @@
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(
50
+ "key_templates", "zones", "zone_templates"
51
+ )
52
+
53
+ def get_extra_context(self, request, instance):
54
+ context = {}
55
+
56
+ key_errors = {
57
+ key_template.pk: validate_key_template_lifetime(key_template, instance)
58
+ for key_template in instance.key_templates.all()
59
+ }
60
+
61
+ context["key_template_errors"] = key_errors
62
+
63
+ if not instance.key_templates.filter(
64
+ type__in=(
65
+ DNSSECKeyTemplateTypeChoices.TYPE_ZSK,
66
+ DNSSECKeyTemplateTypeChoices.TYPE_CSK,
67
+ )
68
+ ).exists():
69
+ context["policy_warning"] = _(
70
+ "No key for signing zones (CSK or ZSK) is assigned."
71
+ )
72
+
73
+ return context
74
+
75
+
76
+ @register_model_view(DNSSECPolicy, "add", detail=False)
77
+ @register_model_view(DNSSECPolicy, "edit")
78
+ class DNSSECPolicyEditView(generic.ObjectEditView):
79
+ queryset = DNSSECPolicy.objects.all()
80
+ form = DNSSECPolicyForm
81
+ default_return_url = "plugins:netbox_dns:dnssecpolicy_list"
82
+
83
+
84
+ @register_model_view(DNSSECPolicy, "delete")
85
+ class DNSSECPolicyDeleteView(generic.ObjectDeleteView):
86
+ queryset = DNSSECPolicy.objects.all()
87
+ default_return_url = "plugins:netbox_dns:dnssecpolicy_list"
88
+
89
+
90
+ @register_model_view(DNSSECPolicy, "bulk_import", detail=False)
91
+ class DNSSECPolicyBulkImportView(generic.BulkImportView):
92
+ queryset = DNSSECPolicy.objects.all()
93
+ model_form = DNSSECPolicyImportForm
94
+ table = DNSSECPolicyTable
95
+ default_return_url = "plugins:netbox_dns:dnssecpolicy_list"
96
+
97
+
98
+ @register_model_view(DNSSECPolicy, "bulk_edit", path="edit", detail=False)
99
+ class DNSSECPolicyBulkEditView(generic.BulkEditView):
100
+ queryset = DNSSECPolicy.objects.all()
101
+ filterset = DNSSECPolicyFilterSet
102
+ table = DNSSECPolicyTable
103
+ form = DNSSECPolicyBulkEditForm
104
+
105
+
106
+ @register_model_view(DNSSECPolicy, "bulk_delete", path="delete", detail=False)
107
+ class DNSSECPolicyBulkDeleteView(generic.BulkDeleteView):
108
+ queryset = DNSSECPolicy.objects.all()
109
+ filterset = DNSSECPolicyFilterSet
110
+ table = DNSSECPolicyTable
111
+
112
+
113
+ @register_model_view(DNSSECPolicy, "contacts")
114
+ class DNSSECPolicyContactsView(ObjectContactsView):
115
+ queryset = DNSSECPolicy.objects.all()
116
+
117
+
118
+ @register_model_view(DNSSECPolicy, "zones")
119
+ class DNSSECPolicyZoneListView(generic.ObjectChildrenView):
120
+ queryset = DNSSECPolicy.objects.all()
121
+ child_model = Zone
122
+ table = ZoneDisplayTable
123
+ filterset = ZoneFilterSet
124
+ template_name = "netbox_dns/zone/child.html"
125
+ hide_if_empty = True
126
+
127
+ tab = ViewTab(
128
+ label=_("Zones"),
129
+ permission="netbox_dns.view_zones",
130
+ badge=lambda obj: obj.zones.count(),
131
+ hide_if_empty=True,
132
+ )
133
+
134
+ def get_children(self, request, parent):
135
+ return parent.zones.restrict(request.user, "view")
136
+
137
+
138
+ @register_model_view(DNSSECPolicy, "zonetemplates")
139
+ class DNSSECPolicyZoneTemplateListView(generic.ObjectChildrenView):
140
+ queryset = DNSSECPolicy.objects.all()
141
+ child_model = ZoneTemplate
142
+ table = ZoneTemplateDisplayTable
143
+ filterset = ZoneTemplateFilterSet
144
+ template_name = "netbox_dns/zonetemplate/child.html"
145
+ hide_if_empty = True
146
+
147
+ tab = ViewTab(
148
+ label=_("Zone Templates"),
149
+ permission="netbox_dns.view_zonetemplates",
150
+ badge=lambda obj: obj.zone_templates.count(),
151
+ hide_if_empty=True,
152
+ )
153
+
154
+ def get_children(self, request, parent):
155
+ return parent.zone_templates.restrict(request.user, "view")
netbox_dns/views/zone.py CHANGED
@@ -119,9 +119,19 @@ class ZoneRegistrationView(generic.ObjectView):
119
119
  template_name = "netbox_dns/zone/registration.html"
120
120
 
121
121
  tab = RegistrationViewTab(
122
- label="Registration",
122
+ label=_("Registration"),
123
123
  )
124
124
 
125
+ def get_extra_context(self, request, instance):
126
+ expiration_warning, expiration_error = instance.check_expiration()
127
+
128
+ context = {
129
+ "expiration_warning": expiration_warning,
130
+ "expiration_error": expiration_error,
131
+ }
132
+
133
+ return context
134
+
125
135
 
126
136
  @register_model_view(Zone, "records")
127
137
  class ZoneRecordListView(generic.ObjectChildrenView):
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: netbox-plugin-dns
3
- Version: 1.2.5
3
+ Version: 1.2.7
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
@@ -13,6 +13,7 @@ Requires-Python: >=3.10
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
15
  Requires-Dist: dnspython
16
+ Dynamic: license-file
16
17
 
17
18
  # NetBox DNS
18
19
  The NetBox DNS plugin enables NetBox to manage operational DNS data such as name servers, zones, records and views, as well as registration data for domains. It can automate tasks like creating PTR records, generating zone serial numbers, NS and SOA records, as well as validate names and values values for resource records to ensure zone data is consistent, up-to-date and compliant with to the relevant RFCs.
@@ -1,54 +1,67 @@
1
- netbox_dns/__init__.py,sha256=nnD4iq2_TUmMshut8Z3viAIlrY0RSc9YH6fllV11R4E,3098
1
+ netbox_dns/__init__.py,sha256=utlUlw7ocA8EMnwLvb2b006T2SpVWSnV77NIBdh_75Y,3570
2
2
  netbox_dns/apps.py,sha256=JCW5eS-AQBUubDJve1DjP-IRFKTFGQh1NLGWzJpC5MI,151
3
- netbox_dns/navigation.py,sha256=36clAzlWftW94_VZ3EHu8_btzzA_dah50CLTfoov-O4,6226
4
- netbox_dns/template_content.py,sha256=T06L7-m4eGrLMeGsCvPpQLAGfn3S2FL7z0Cd1hhbisY,4225
5
- netbox_dns/urls.py,sha256=OJ4RIfbFP1fSUo5llMv0IwOl7eJl6PEOA0TAAWVd4wI,1932
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
3
+ netbox_dns/navigation.py,sha256=u90MwWBySg1Z9yfZEdvUctYWEkab5z1Y3019J7U_-3g,7741
4
+ netbox_dns/template_content.py,sha256=irgHJe91TnmmL9K1Xnv07uGmOeJMn9zTrIKtJev88XI,4283
5
+ netbox_dns/urls.py,sha256=wrse8l5scD-jz_O7WY0YXRlYPzpkL-0-kyAd-wCPtbQ,2596
6
+ netbox_dns/api/field_serializers.py,sha256=nVZ6d69DWagONDwbYCP2j3cmL-x9lryitF1wThEJxyI,725
7
+ netbox_dns/api/nested_serializers.py,sha256=zg6FaSeWQdVL2fTUIsKPv4gC60gyJuLEiqbrAC0wRQc,3690
8
+ netbox_dns/api/serializers.py,sha256=OHrpfJkBn6D1y6b3nIxBEFyE50U5p-Aqv4lBojMEFgk,474
9
+ netbox_dns/api/urls.py,sha256=-kQaei47yZeGbDpQ9RaFaFlFb682ThuPA5h321_2cgM,1000
10
+ netbox_dns/api/views.py,sha256=w71SRyZue5zPD1C64TIr496nYFA_ARjHTlpSVFTZ76o,4522
10
11
  netbox_dns/api/serializers_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ netbox_dns/api/serializers_/dnssec_key_template.py,sha256=QQUvbDwvYP05d_XB7Tcqi9XSR2Zq_ddq0wTBllo3LE0,1585
13
+ netbox_dns/api/serializers_/dnssec_policy.py,sha256=FCsmeJrBGaS3GC7_io3uJLZ2RYuoLvdfRkzSSy6gO6U,3917
11
14
  netbox_dns/api/serializers_/nameserver.py,sha256=DMkUaLNDt3UtpAD6JDHfo1NMngHWRqHh2-xQeOPlfFM,1171
12
15
  netbox_dns/api/serializers_/prefix.py,sha256=kZ1DjDly6VFZamXSxGa57YC6MfZZcI5S7jmGBkVB2_I,551
13
- netbox_dns/api/serializers_/record.py,sha256=gpfANXhAcPylFWmWpCfwSEHrYy3b9Wl07PIyM4sPKM0,2408
14
- netbox_dns/api/serializers_/record_template.py,sha256=WAHua_O7v8IB7QL_hOPWjItMtAjWIUZace2rebwjSJA,1519
16
+ netbox_dns/api/serializers_/record.py,sha256=U3N92qHITIUAN6vXn1cSusstGKlwsWJiqOU1uaSUU9I,2515
17
+ netbox_dns/api/serializers_/record_template.py,sha256=tvfSlG31X4qn-FjgJespyfkGnb4874EjUjbCFl_z6Ng,1626
15
18
  netbox_dns/api/serializers_/registrar.py,sha256=xLIaeBJ5ckV1Jf-uyCTFcvsLlsRMlpDtIg6q79vXZic,842
16
19
  netbox_dns/api/serializers_/registration_contact.py,sha256=3IGWW5xB9XEBGApCGZCZIxpCmy1Y5jQUbA4GzmtaCik,1024
17
20
  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
22
- netbox_dns/choices/zone.py,sha256=Vblm5RUtNtPNkULh8U1NxBMme1iHPllD6B6LkQkWZW4,621
23
- netbox_dns/fields/__init__.py,sha256=U1nbFIwwtvr10pp3Sk91jEZeWkVQBSJtr0BVWYgOfiA,89
21
+ netbox_dns/api/serializers_/zone.py,sha256=MJrCIhv8j24YnVx43EBe3TkaZoij7C9MitbDuwjOaJY,6205
22
+ netbox_dns/api/serializers_/zone_template.py,sha256=gYlP6wBSVoTZ-DVxJHzGz2fyLdcyibTYR1O9czEKl_k,4374
23
+ netbox_dns/choices/__init__.py,sha256=K3JfawICeoUny8O_Dqexr7DOxwyg3QqijZ4DO6j5yP8,106
24
+ netbox_dns/choices/dnssec_key_template.py,sha256=YwJYGbxq2EVPUVwMs-sy1k1MJuEwbdWFVZh84qyU-QI,1429
25
+ netbox_dns/choices/dnssec_policy.py,sha256=s6kz8gTiAuyTzn4piGbl2K9mVG-zga8n1rqZD26l72A,843
26
+ netbox_dns/choices/record.py,sha256=PRS9crKoEZdFXTo6RRqXoFztfx9u3TZPsxq0T4Qdwj0,1423
27
+ netbox_dns/choices/utilities.py,sha256=CV-77-iHKbgSOCDwrTTzsrIpZOq4cBnIf3rhvI0_5qs,711
28
+ netbox_dns/choices/zone.py,sha256=KvyNL_TR_2FXCoH6usrXTRJYRzZ9W1PiDvunutAUYhY,4294
29
+ netbox_dns/fields/__init__.py,sha256=yUVrNQ7BvoeVRGoiRFmrZxXsp1LIwHLRLl0_5mBIyzk,143
24
30
  netbox_dns/fields/address.py,sha256=qNLHmpwwJ3TevljG1QsUr_f2h6NrPsK6wr-R-Ti8eZI,1262
31
+ netbox_dns/fields/choice_array.py,sha256=qECgwzJ9PVGIbpqC_JVzuSUsV7C3FG03ibv1EUrvZr4,850
25
32
  netbox_dns/fields/ipam.py,sha256=wla-kBm77BpD0LNQhgRZS1RYbVois7WDqPpyQkUT02k,481
26
33
  netbox_dns/fields/network.py,sha256=a5nTzjscRufxgMjVsf5juszSYuTujU50pQ9P7q4qMVs,3740
27
34
  netbox_dns/fields/rfc2317.py,sha256=y72PZKlXZ8_6P4eeWZ8IF3gqOMjPxW48gk3AB81XboE,2642
28
- netbox_dns/filtersets/__init__.py,sha256=f8zJhpC3-TyK1OMgTaXmm1E6C2wUc1mNtoI6LOKkljQ,210
35
+ netbox_dns/fields/timeperiod.py,sha256=InK3FVc8gHNQjx101a7HsGfrHxvoG1y6drYwuRjRSIE,941
36
+ netbox_dns/filtersets/__init__.py,sha256=bKppz_w3X2xNNHOcxZZiIO7zSkDaNTrZJ__k1U7rKik,275
37
+ netbox_dns/filtersets/dnssec_key_template.py,sha256=qu1c2MzBKEflcU-QkWrGGf6aU8iYDgfeKPCcxxfdRkY,1565
38
+ netbox_dns/filtersets/dnssec_policy.py,sha256=WwNX_D0xbufDfjOLV4od-yzJppl7A9GVKF_unqXTLVg,3069
29
39
  netbox_dns/filtersets/nameserver.py,sha256=7hk9Wh4v4-IHP44rQC4nhdvpYbDYNYYf-XZp6Yo72xE,1203
30
40
  netbox_dns/filtersets/record.py,sha256=Ao2666F6z435TXD_hV2dgItI0sWXlS-jyQ1TQZEL8Yc,3913
31
41
  netbox_dns/filtersets/record_template.py,sha256=wir5s2QWfDnw0M1wWnzJs9im5ok4l5cTbWPMBSM8aEg,1604
32
42
  netbox_dns/filtersets/registrar.py,sha256=Wh_l-IXRHnJhW7Pyokp3czQZISDKzXnWeSQKp512Drc,977
33
43
  netbox_dns/filtersets/registration_contact.py,sha256=903sOcHPRCI0dVzqn1i0pn5VPr_4YpHPh5QE2-akR-Y,1139
34
44
  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
38
- 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
45
+ netbox_dns/filtersets/zone.py,sha256=ih1Jy1ocGyToP91QDZo6eaxl-2o-Qkgc5GDBHDtrxLA,7049
46
+ netbox_dns/filtersets/zone_template.py,sha256=7pmS7gd1JdsUgu7ICrq5d5gTuIsxMFSejEKZ2VLwwn8,4737
47
+ netbox_dns/forms/__init__.py,sha256=tObkTOHw_6kVtEcwdyshN0Ql-8VGhwsgQw7owL_s2lI,273
48
+ netbox_dns/forms/dnssec_key_template.py,sha256=BChWsbShkm72tnZGh5ClStN6SG-XPMAeMeu7mQzoCDk,5249
49
+ netbox_dns/forms/dnssec_policy.py,sha256=KvuC85OfQjvsHLi-W8brjjgH6_Mv2fy1Q_yzv1kepsY,17041
50
+ netbox_dns/forms/nameserver.py,sha256=v0nvG4MmpbYypde5KG5TkoXYkwibMhmqi4I8ugNbDXc,3459
51
+ netbox_dns/forms/record.py,sha256=wkl3YpbKfq0bH6U8atNYrYwrV-kNPRqG1PRQG3X1eHA,8389
52
+ netbox_dns/forms/record_template.py,sha256=2wNS0LvxX6Zv9uELWmJyL-hIzaVTItNFHv4xDI3qwAk,6505
41
53
  netbox_dns/forms/registrar.py,sha256=GaRH3w5zlhrpwy_U0pxlrl1DrAEaMB78MUlnGxBRwZI,3949
42
54
  netbox_dns/forms/registration_contact.py,sha256=IhNAqElY7hOdpDG0jwWMdy3y2mB43xmjUhj3lsgJ3SE,5906
43
55
  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
56
+ netbox_dns/forms/zone.py,sha256=0Lr3pWU21Tn70t32CXsEfJn6h5S2ulQugDTkEqva2Zw,29398
57
+ netbox_dns/forms/zone_template.py,sha256=0VXGG59EH9IJJ-Nq5Bn-eiNJNqT_ZiLADSDyuYWXSLE,11280
58
+ netbox_dns/graphql/__init__.py,sha256=0xg_5d1PPFTadBOZo752t5sfZeLFrqs2jM51Rbf8ti4,652
59
+ netbox_dns/graphql/filters.py,sha256=Cyi8_Jz_5cMZfwsiZaAqsdWQM7Hsp-TmoZkvXOa_-S8,2237
60
+ netbox_dns/graphql/schema.py,sha256=KlbJmlfQEqZhvb6-cYmq94mrMFcQoCh3MldaUD5eVV4,2904
61
+ netbox_dns/graphql/types.py,sha256=LIXmzn2QbWU9PzS8Fa2X2hy7GqMiGz50HeNfAOfWzUA,10161
62
+ netbox_dns/locale/de/LC_MESSAGES/django.mo,sha256=ERg4czwv3Yz6luunGaa6Xw9S_dFS8oeWuBT6ZS17X0Y,29854
51
63
  netbox_dns/locale/en/LC_MESSAGES/django.mo,sha256=GDnSZkfHs3yjtTsll7dksEEej4B50F8pc9RGytZNubM,393
64
+ netbox_dns/locale/fr/LC_MESSAGES/django.mo,sha256=XjWCnhwjI4Iwht_2JpPLB2btIg6f4ED8F3LqYPwNffA,30023
52
65
  netbox_dns/management/commands/cleanup_database.py,sha256=1-tAl0Sht80qaNZyfFyUW19Eh9gBUuc7GdbHN4aemGU,5935
53
66
  netbox_dns/management/commands/cleanup_rrset_ttl.py,sha256=UFRURLBcFeGHUS2lrYFv7UWIebjI72aG1EUQJt0XsXw,2046
54
67
  netbox_dns/management/commands/rebuild_dnssync.py,sha256=Tcl385u6kJTX47SvSyRzKm1RIx4nYRYCMcKr3uVnV60,1246
@@ -69,6 +82,10 @@ netbox_dns/migrations/0011_rename_related_fields.py,sha256=j9lI-QBmTSzOrAxDl02Sd
69
82
  netbox_dns/migrations/0012_natural_ordering.py,sha256=h5XVSmRwisUqz5OJzkBW41dwHIBlu08zqG2-1mxiiw4,2725
70
83
  netbox_dns/migrations/0013_zonetemplate_soa_mname_zonetemplate_soa_rname.py,sha256=Y6TdD_dUZ-Pb1kuRR3l3kSwObn_Cpcmp3tm75qSkc5g,795
71
84
  netbox_dns/migrations/0014_alter_unique_constraints_lowercase.py,sha256=Ueesv7uoB2ZQ1-7kG_qsMlPv0mn3mdDeI8OoAKIschM,1409
85
+ netbox_dns/migrations/0015_dnssec.py,sha256=PRS8wjN3_h-M17gOHagM-5pkZuuS5nlaJjlIqzKr5f8,6716
86
+ netbox_dns/migrations/0016_dnssec_policy_status.py,sha256=MAGTAz95WYkp2PR1Q1EQehEvAYgL1V-ksMa3wlKHgGE,384
87
+ netbox_dns/migrations/0017_dnssec_policy_zone_zone_template.py,sha256=m36a08UMLzs2l-IpKY1nXdspcbGouCQWMG15m19s8kE,1162
88
+ netbox_dns/migrations/0018_zone_domain_status_zone_expiration_date.py,sha256=P_JaNl3NhTPgX7pgA-ZyBJpujrg4HzPcpW6X3FbghMk,595
72
89
  netbox_dns/migrations/0020_netbox_3_4.py,sha256=UMcHdn8ZAuQjUaM_3rEGpktYrM0TuvhccD7Jt7WQnPs,1271
73
90
  netbox_dns/migrations/0021_record_ip_address.py,sha256=EqdhWXmq7aiK4X79xTRUZng3zFncCl-8JoO65HqlJKw,3244
74
91
  netbox_dns/migrations/0022_search.py,sha256=KW1ffEZ4-0dppGQ_KD1EN7iw8eQJOnDco-xfJFRZqKQ,172
@@ -82,18 +99,23 @@ netbox_dns/migrations/0029_record_fqdn.py,sha256=UAAU38ekKQyiYDOJlcrz6Qbk4bqZfSH
82
99
  netbox_dns/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
100
  netbox_dns/mixins/__init__.py,sha256=LxTEfpod_RHCyMtnzDljv0_dwqp2z3Q6tqbXW8LTGD8,35
84
101
  netbox_dns/mixins/object_modification.py,sha256=AR64fU5f7g-scNAj9b54eSoS9dpjyOpqrxXVXPcOhY8,1807
85
- netbox_dns/models/__init__.py,sha256=iTTJNgUfPAmU4n41usqDSGPvncd4Wpsb9f43ryVDDOs,209
102
+ netbox_dns/models/__init__.py,sha256=CuwFENIVUv0FNMDlY18Am-mvN5kBGkPOGavCP0cle7c,273
103
+ netbox_dns/models/dnssec_key_template.py,sha256=h6YniKfLx1ILAbvko6Mps-bhsI743uHIOiLgtfStZTI,2790
104
+ netbox_dns/models/dnssec_policy.py,sha256=eD13F_zTUgpP8fNGg0FssMNBUtpBRvkJiM6ZSYh1Pws,5466
86
105
  netbox_dns/models/nameserver.py,sha256=ivZpIVfgQLdDhrtqYPi-zRbygVgl3aff2FMsq1M3qA8,4044
87
- netbox_dns/models/record.py,sha256=ot2f5LVxj4ZjNanE29y-30iUK4YZS7-0-37ds3hWtjo,29716
106
+ netbox_dns/models/record.py,sha256=QtQ6jRKw2PkAkDtavZF80YaNMYMh99iG8CnU8T8nDbg,29719
88
107
  netbox_dns/models/record_template.py,sha256=kt-_sMFSMKmuKU8voVqz1-Lh7Wi7lPcA2ExPFQYLoxM,5345
89
108
  netbox_dns/models/registrar.py,sha256=L5tbO8rtOa0VCs_y90nHYLKSRKBnnUhh_6sxZ3Mm2kk,1942
90
109
  netbox_dns/models/registration_contact.py,sha256=O7T1clUjuilZnDjvhJKaHZdmNEF4aLg2h8K5p4llWOs,3825
91
110
  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
111
+ netbox_dns/models/zone.py,sha256=6TiKp2kP43Aixab6XwICz66NVpdUD9q7MmV45ZfrKLk,35107
112
+ netbox_dns/models/zone_template.py,sha256=TpM4LNBStwoyHXkvMGa8zUdBp28ZnauolkbFntt9hPk,5249
94
113
  netbox_dns/signals/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
+ netbox_dns/signals/dnssec.py,sha256=o4MOEg6ftxoDWFAhDtajkXzb7Nb6KuUHjtx1zNu7C1w,1040
95
115
  netbox_dns/signals/ipam_dnssync.py,sha256=1zhlf4cMcJLlFosX7YzyqVYdFFHV4MFwTz5KCdL8xQc,7730
96
- netbox_dns/tables/__init__.py,sha256=axENVF9vX9BtDKCNxrapRjye1NnygUg9BS0BBj6a0io,209
116
+ netbox_dns/tables/__init__.py,sha256=tObkTOHw_6kVtEcwdyshN0Ql-8VGhwsgQw7owL_s2lI,273
117
+ netbox_dns/tables/dnssec_key_template.py,sha256=PplAhtgQa5MqVJtfRyHA7M1QppWKP_XN5NZGld5szEc,1100
118
+ netbox_dns/tables/dnssec_policy.py,sha256=l18S9eMwZH5YFcZIRnW4piJ6pmXCI1KzJIkgepuhxs0,3329
97
119
  netbox_dns/tables/ipam_dnssync.py,sha256=7IK95XlA2ter6gsHqXjXPd6WubpOxrV-O5-UT6R1CKU,330
98
120
  netbox_dns/tables/nameserver.py,sha256=Ue1ZTygkgifWbQxvnpIG4PIC2qIWfVZaX_g8OIrRd6Q,739
99
121
  netbox_dns/tables/record.py,sha256=domOGxacF_2LT84k1qBdTgNKQl4kXVsIR8IM8JwZMns,4299
@@ -101,16 +123,18 @@ netbox_dns/tables/record_template.py,sha256=HJEOK3VYVCKWhExs775Nb4KAvHPE7IqQEzne
101
123
  netbox_dns/tables/registrar.py,sha256=XQtJj0c4O4gpCdUp903GSD0tIuARmJw13Nwosw9pTFU,727
102
124
  netbox_dns/tables/registration_contact.py,sha256=n_FKE90j6KNgPKRVq1WXg4vnOzFE238oXsi_NYVAU9M,931
103
125
  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
126
+ netbox_dns/tables/zone.py,sha256=TEQcSiuCuWpVtDnPa9oh-IDfrap-Plfi4qK40bGeDzA,2432
127
+ netbox_dns/tables/zone_template.py,sha256=TU45sNYPHxs1xJTKj57e1s-jxLENCOAgE6S6lconWMc,1751
128
+ netbox_dns/templates/netbox_dns/dnsseckeytemplate.html,sha256=dSEyHgUp0k_5JSdR4s4m_7Rom67TqvRIQN0zbQKYfjE,2839
129
+ netbox_dns/templates/netbox_dns/dnssecpolicy.html,sha256=dXHAt8ISsSWv-vK_kaJMcAzUBh4TZ2hAmeaYa47u0PU,7694
106
130
  netbox_dns/templates/netbox_dns/nameserver.html,sha256=MawPiuAmjFrbv0zRi-7xkm8vr-dT1tlEno8EcoQ9peU,1714
107
131
  netbox_dns/templates/netbox_dns/record.html,sha256=1KBT4xDooTX9kt1cUoPD2-6QnMizPmbItA0JAAgRzfw,6550
108
132
  netbox_dns/templates/netbox_dns/recordtemplate.html,sha256=a29PAUl-KI_I1lxWpVdPp2loJtzgis9DG9erOWrOZM0,3708
109
133
  netbox_dns/templates/netbox_dns/registrar.html,sha256=4kJuj3biiDxQrIMQEQUEmF4iGRE4psr6Fh0CBP1evz8,2308
110
134
  netbox_dns/templates/netbox_dns/registrationcontact.html,sha256=sljVp_MrPSJRc2vJCPFXq9MiWOw4wjbr1kI_YStBntw,3094
111
135
  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
136
+ netbox_dns/templates/netbox_dns/zone.html,sha256=5PaCQgZ_6dtD-XzzJsqkcI21vjWn_mB22gKHBpBvgS8,7540
137
+ netbox_dns/templates/netbox_dns/zonetemplate.html,sha256=a3QD0O_8CW2MUBnU_nXGweGhCwo5pYDVlwJHzovC1RU,4344
114
138
  netbox_dns/templates/netbox_dns/record/managed.html,sha256=uwpxQTxyfAXkWqThLT-T2ZssKNUhXTDDMnLWJSVuDNU,119
115
139
  netbox_dns/templates/netbox_dns/record/related.html,sha256=R59aPhE4CyIZtTH0ncwDyS6_wAe_Y-oZjuN_j4qk8iA,1158
116
140
  netbox_dns/templates/netbox_dns/view/button.html,sha256=EMOB5x78XpyfN1qi-pY1CKKKLjyHo9rFUa4Uhq6rFMc,322
@@ -122,29 +146,33 @@ netbox_dns/templates/netbox_dns/zone/child_zone.html,sha256=b9CSGWEfWT7hLQ80gApM
122
146
  netbox_dns/templates/netbox_dns/zone/delegation_record.html,sha256=bpJoyEYb5CVCoeH2260KMwwL6pUJxKA-Dt0qUruBEdk,517
123
147
  netbox_dns/templates/netbox_dns/zone/managed_record.html,sha256=LOchMAJyfMZIICE6q0pX1eorRbtgUtOQ1u0VvJKCDZ8,514
124
148
  netbox_dns/templates/netbox_dns/zone/record.html,sha256=Y_gg9EUIqjSYxmIZKufAK8jyg9A54J-BoewNxUBoO1Y,2238
125
- netbox_dns/templates/netbox_dns/zone/registration.html,sha256=PqniHrO-LnXstIKyjn3fJk69ysjfrrt3U4kZAJqidXI,1265
149
+ netbox_dns/templates/netbox_dns/zone/registration.html,sha256=jbgKoMVG8YNNXTBDEclUCxfj4KbV05C250jt6x6n9cc,2069
126
150
  netbox_dns/templates/netbox_dns/zone/rfc2317_child_zone.html,sha256=rWlmb3zRQbLYQ_1dsa0twwu6y1dRj2tfFVEERH07p-s,517
151
+ netbox_dns/templates/netbox_dns/zonetemplate/child.html,sha256=S8BMNOZkfs8SM_4yfKR8_RnQXG47FHCe7rf2quDTc_Y,2247
127
152
  netbox_dns/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
153
  netbox_dns/templatetags/netbox_dns.py,sha256=DND1DMPzv636Rak3M6Hor_Vw6pjqUfSTquofIw4dIsA,223
129
154
  netbox_dns/utilities/__init__.py,sha256=cSGf-nGaRWx9b-Xrh3dLMJYoWNsZ6FF-qdmV4F1uOgg,74
130
- netbox_dns/utilities/conversions.py,sha256=eKA17FSU-Us3cfda9DAgtZgmr3r2o5UbJ_1giD3LLvE,2713
155
+ netbox_dns/utilities/conversions.py,sha256=qYnzecmR28l8Je_H0vFvzJ2sikTiEiyxr6drl_aRocg,3016
131
156
  netbox_dns/utilities/dns.py,sha256=UBiyQe8thiOTnKOmU9e2iRHHnGF9toVLe4efU623kX4,322
132
157
  netbox_dns/utilities/ipam_dnssync.py,sha256=_yuHoah_QN-opsZB51yGCkwjkij7nrmTgKHUZ-bQrBI,9625
133
- netbox_dns/validators/__init__.py,sha256=Mr8TvmcJTa8Pubj8TzbFBKfbHhEmGcr5JdQvczEJ39A,72
158
+ netbox_dns/validators/__init__.py,sha256=X0hPZlC3VZcXMcvXKZ2_5LSoEJdXPNSBr4QtEIFSBJ0,94
134
159
  netbox_dns/validators/dns_name.py,sha256=Sil68Av49jfZPzgFMV_1qEcLnuuAWXmbxfAJPDXUsGg,3766
135
160
  netbox_dns/validators/dns_value.py,sha256=-mc62mth-hlbPUPe_RlCR7vo1KSD6_gQDXiE8rjB-Cc,5206
161
+ netbox_dns/validators/dnssec.py,sha256=FzWLXX3qwS9ZMaLWHaBJStwJ_D96wp7GI4LYoKjoegc,4909
136
162
  netbox_dns/validators/rfc2317.py,sha256=uKkwxpakiFFKdYA0qy8WSlEnbFwJD4MDw6gGV4F6skg,706
137
- netbox_dns/views/__init__.py,sha256=axENVF9vX9BtDKCNxrapRjye1NnygUg9BS0BBj6a0io,209
163
+ netbox_dns/views/__init__.py,sha256=tObkTOHw_6kVtEcwdyshN0Ql-8VGhwsgQw7owL_s2lI,273
164
+ netbox_dns/views/dnssec_key_template.py,sha256=TfBtODl7EzGvmC2NVDLd-P1zMalLCjClb9pKgPzIsBk,3050
165
+ netbox_dns/views/dnssec_policy.py,sha256=7bQRr9X-7U4RM3I_9k-SEfX2_WoZnHlbGpgXTG_HH7M,4807
138
166
  netbox_dns/views/nameserver.py,sha256=6lHg8fqBjc_SoITzFj1FiRARpPF7nSn9knAZxe9x5Rg,3932
139
167
  netbox_dns/views/record.py,sha256=6tOTC7BbQ5XOC7wr94LjFMR3epOi47HP5qIETNvj5sE,6715
140
168
  netbox_dns/views/record_template.py,sha256=CbSyckBvyEvcZCeZgK3q0fJsa1_5HbwUflh_iM7JjH0,3134
141
169
  netbox_dns/views/registrar.py,sha256=Um_2wnzmP2bqbdMUhBPhny2My0R8fMXScQ9GLiTCrvg,2808
142
170
  netbox_dns/views/registration_contact.py,sha256=c9KrNkfFNsb55pL74A5rN1CNx32M82V6mdwBYduNxas,3596
143
171
  netbox_dns/views/view.py,sha256=VfrKaLC9D_KNZNmRyFVohRlmMlMbtblAuPgNg0LNyf8,3421
144
- netbox_dns/views/zone.py,sha256=W66Miyaf4RKW-8z5wMrerrtmHclhht3h-lPqTWFpiOw,7163
172
+ netbox_dns/views/zone.py,sha256=DU_esPOMHGMRQIgy5vS8miZe-FNozBcIyMLZPwZK4_c,7453
145
173
  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,,
174
+ netbox_plugin_dns-1.2.7.dist-info/licenses/LICENSE,sha256=I3tDu11bZfhFm3EkV4zOD5TmWgLjnUNLEFwrdjniZYs,1112
175
+ netbox_plugin_dns-1.2.7.dist-info/METADATA,sha256=4O-jOmeTRrhbeg2y_qoB5LX4nqkAIv1dBOqLB1VKWcc,7658
176
+ netbox_plugin_dns-1.2.7.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
177
+ netbox_plugin_dns-1.2.7.dist-info/top_level.txt,sha256=sA1Rwl1mRKvMC6XHe2ylZ1GF-Q1NGd08XedK9Y4xZc4,11
178
+ netbox_plugin_dns-1.2.7.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.2)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5