netbox-plugin-dns 1.2.7b3__py3-none-any.whl → 1.2.8__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 (45) hide show
  1. netbox_dns/__init__.py +56 -29
  2. netbox_dns/api/field_serializers.py +25 -0
  3. netbox_dns/api/serializers_/dnssec_key_template.py +2 -0
  4. netbox_dns/api/serializers_/dnssec_policy.py +14 -0
  5. netbox_dns/api/serializers_/record.py +2 -0
  6. netbox_dns/api/serializers_/record_template.py +2 -0
  7. netbox_dns/api/serializers_/zone.py +10 -1
  8. netbox_dns/choices/dnssec_key_template.py +2 -2
  9. netbox_dns/choices/dnssec_policy.py +2 -2
  10. netbox_dns/choices/record.py +66 -19
  11. netbox_dns/choices/utilities.py +4 -26
  12. netbox_dns/choices/zone.py +96 -1
  13. netbox_dns/fields/timeperiod.py +6 -12
  14. netbox_dns/filtersets/dnssec_key_template.py +2 -2
  15. netbox_dns/filtersets/dnssec_policy.py +28 -6
  16. netbox_dns/filtersets/zone.py +7 -2
  17. netbox_dns/filtersets/zone_template.py +2 -2
  18. netbox_dns/forms/dnssec_key_template.py +3 -2
  19. netbox_dns/forms/dnssec_policy.py +59 -37
  20. netbox_dns/forms/nameserver.py +2 -0
  21. netbox_dns/forms/record_template.py +1 -0
  22. netbox_dns/forms/zone.py +78 -15
  23. netbox_dns/forms/zone_template.py +9 -0
  24. netbox_dns/graphql/types.py +1 -0
  25. netbox_dns/locale/de/LC_MESSAGES/django.mo +0 -0
  26. netbox_dns/locale/fr/LC_MESSAGES/django.mo +0 -0
  27. netbox_dns/migrations/0018_zone_domain_status_zone_expiration_date.py +23 -0
  28. netbox_dns/migrations/0019_dnssecpolicy_parental_agents.py +25 -0
  29. netbox_dns/models/dnssec_policy.py +9 -0
  30. netbox_dns/models/record.py +4 -1
  31. netbox_dns/models/zone.py +65 -4
  32. netbox_dns/models/zone_template.py +1 -1
  33. netbox_dns/tables/zone.py +6 -1
  34. netbox_dns/template_content.py +2 -1
  35. netbox_dns/templates/netbox_dns/dnssecpolicy.html +10 -0
  36. netbox_dns/templates/netbox_dns/zone/registration.html +19 -0
  37. netbox_dns/urls.py +7 -0
  38. netbox_dns/utilities/conversions.py +13 -0
  39. netbox_dns/validators/dns_value.py +3 -0
  40. netbox_dns/views/zone.py +11 -1
  41. {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.8.dist-info}/METADATA +4 -3
  42. {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.8.dist-info}/RECORD +45 -42
  43. {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.8.dist-info}/WHEEL +1 -1
  44. {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.8.dist-info/licenses}/LICENSE +0 -0
  45. {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.8.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,23 @@
1
+ # Generated by Django 5.1.7 on 2025-04-03 13:43
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ("netbox_dns", "0017_dnssec_policy_zone_zone_template"),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AddField(
14
+ model_name="zone",
15
+ name="domain_status",
16
+ field=models.CharField(blank=True, max_length=50, null=True),
17
+ ),
18
+ migrations.AddField(
19
+ model_name="zone",
20
+ name="expiration_date",
21
+ field=models.DateField(blank=True, null=True),
22
+ ),
23
+ ]
@@ -0,0 +1,25 @@
1
+ # Generated by Django 5.2 on 2025-04-22 18:05
2
+
3
+ import django.contrib.postgres.fields
4
+ from django.db import migrations, models
5
+
6
+
7
+ class Migration(migrations.Migration):
8
+
9
+ dependencies = [
10
+ ("netbox_dns", "0018_zone_domain_status_zone_expiration_date"),
11
+ ]
12
+
13
+ operations = [
14
+ migrations.AddField(
15
+ model_name="dnssecpolicy",
16
+ name="parental_agents",
17
+ field=django.contrib.postgres.fields.ArrayField(
18
+ base_field=models.GenericIPAddressField(),
19
+ blank=True,
20
+ default=list,
21
+ null=True,
22
+ size=None,
23
+ ),
24
+ ),
25
+ ]
@@ -1,5 +1,6 @@
1
1
  from django.db import models
2
2
  from django.urls import reverse
3
+ from django.contrib.postgres.fields import ArrayField
3
4
  from django.utils.translation import gettext_lazy as _
4
5
 
5
6
  from netbox.models import NetBoxModel
@@ -117,6 +118,14 @@ class DNSSECPolicy(ContactsMixin, NetBoxModel):
117
118
  blank=True,
118
119
  null=True,
119
120
  )
121
+ parental_agents = ArrayField(
122
+ base_field=models.GenericIPAddressField(
123
+ protocol="both",
124
+ ),
125
+ blank=True,
126
+ null=True,
127
+ default=list,
128
+ )
120
129
 
121
130
  use_nsec3 = models.BooleanField(
122
131
  verbose_name=_("Use NSEC3"),
@@ -167,7 +167,7 @@ class Record(ObjectModificationMixin, ContactsMixin, NetBoxModel):
167
167
  default=False,
168
168
  )
169
169
  ptr_record = models.OneToOneField(
170
- verbose_name="PTR Record",
170
+ verbose_name=_("PTR Record"),
171
171
  to="self",
172
172
  on_delete=models.SET_NULL,
173
173
  related_name="address_record",
@@ -649,6 +649,9 @@ class Record(ObjectModificationMixin, ContactsMixin, NetBoxModel):
649
649
 
650
650
  @property
651
651
  def absolute_value(self):
652
+ if self.type in RecordTypeChoices.CUSTOM_TYPES:
653
+ return self.value
654
+
652
655
  zone = dns_name.from_text(self.zone.name)
653
656
  rr = rdata.from_text(RecordClassChoices.IN, self.type, self.value)
654
657
 
netbox_dns/models/zone.py CHANGED
@@ -1,6 +1,6 @@
1
1
  import re
2
2
  from math import ceil
3
- from datetime import datetime
3
+ from datetime import datetime, date
4
4
 
5
5
  from dns import name as dns_name
6
6
  from dns.exception import DNSException
@@ -26,7 +26,12 @@ from netbox.plugins.utils import get_plugin_config
26
26
  from utilities.querysets import RestrictedQuerySet
27
27
  from ipam.models import IPAddress
28
28
 
29
- from netbox_dns.choices import RecordClassChoices, RecordTypeChoices, ZoneStatusChoices
29
+ from netbox_dns.choices import (
30
+ RecordClassChoices,
31
+ RecordTypeChoices,
32
+ ZoneStatusChoices,
33
+ ZoneEPPStatusChoices,
34
+ )
30
35
  from netbox_dns.fields import NetworkField, RFC2317NetworkField
31
36
  from netbox_dns.utilities import (
32
37
  update_dns_records,
@@ -202,6 +207,18 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
202
207
  blank=True,
203
208
  null=True,
204
209
  )
210
+ expiration_date = models.DateField(
211
+ verbose_name=_("Expiration Date"),
212
+ blank=True,
213
+ null=True,
214
+ )
215
+ domain_status = models.CharField(
216
+ verbose_name=_("Domain Status"),
217
+ max_length=50,
218
+ choices=ZoneEPPStatusChoices,
219
+ blank=True,
220
+ null=True,
221
+ )
205
222
  registrant = models.ForeignKey(
206
223
  verbose_name=_("Registrant"),
207
224
  to="RegistrationContact",
@@ -211,7 +228,7 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
211
228
  null=True,
212
229
  )
213
230
  admin_c = models.ForeignKey(
214
- verbose_name="Administrative Contact",
231
+ verbose_name=_("Administrative Contact"),
215
232
  to="RegistrationContact",
216
233
  on_delete=models.SET_NULL,
217
234
  related_name="admin_c_zones",
@@ -288,6 +305,23 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
288
305
  "tenant",
289
306
  )
290
307
 
308
+ soa_clean_fields = {
309
+ "description",
310
+ "status",
311
+ "dnssec_policy",
312
+ "inline_signing",
313
+ "registrar",
314
+ "registry_domain_id",
315
+ "expiration_date",
316
+ "domain_status",
317
+ "registrant",
318
+ "admin_c",
319
+ "tech_c",
320
+ "billing_c",
321
+ "rfc2317_parent_managed",
322
+ "tenant",
323
+ }
324
+
291
325
  class Meta:
292
326
  verbose_name = _("Zone")
293
327
  verbose_name_plural = _("Zones")
@@ -370,6 +404,9 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
370
404
  def get_status_color(self):
371
405
  return ZoneStatusChoices.colors.get(self.status)
372
406
 
407
+ def get_domain_status_color(self):
408
+ return ZoneEPPStatusChoices.colors.get(self.domain_status)
409
+
373
410
  # TODO: Remove in version 1.3.0 (NetBox #18555)
374
411
  def get_absolute_url(self):
375
412
  return reverse("plugins:netbox_dns:zone", kwargs={"pk": self.pk})
@@ -410,6 +447,8 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
410
447
  self.admin_c,
411
448
  self.tech_c,
412
449
  self.billing_c,
450
+ self.expiration_date,
451
+ self.domain_status,
413
452
  )
414
453
  )
415
454
 
@@ -579,6 +618,26 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
579
618
 
580
619
  return ns_warnings, ns_errors
581
620
 
621
+ def check_expiration(self):
622
+ if self.expiration_date is None:
623
+ return None, None
624
+
625
+ expiration_warning = None
626
+ expiration_error = None
627
+
628
+ expiration_warning_days = get_plugin_config(
629
+ "netbox_dns", "zone_expiration_warning_days"
630
+ )
631
+
632
+ if self.expiration_date < date.today():
633
+ expiration_error = _("The registration for this domain has expired.")
634
+ elif (self.expiration_date - date.today()).days < expiration_warning_days:
635
+ expiration_warning = _(
636
+ f"The registration for his domain will expire less than {expiration_warning_days} days."
637
+ )
638
+
639
+ return expiration_warning, expiration_error
640
+
582
641
  def check_soa_serial_increment(self, old_serial, new_serial):
583
642
  MAX_SOA_SERIAL_INCREMENT = 2**31 - 1
584
643
  SOA_SERIAL_WRAP = 2**32
@@ -870,7 +929,9 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
870
929
 
871
930
  changed_fields = self.changed_fields
872
931
 
873
- if self.soa_serial_auto:
932
+ if self.soa_serial_auto and (
933
+ changed_fields is None or changed_fields - self.soa_clean_fields
934
+ ):
874
935
  self.soa_serial = self.get_auto_serial()
875
936
 
876
937
  super().save(*args, **kwargs)
@@ -139,7 +139,7 @@ class ZoneTemplate(NetBoxModel):
139
139
 
140
140
  class Meta:
141
141
  verbose_name = _("Zone Template")
142
- verbose_name_plural = "Zone Templates"
142
+ verbose_name_plural = _("Zone Templates")
143
143
 
144
144
  ordering = ("name",)
145
145
 
netbox_dns/tables/zone.py CHANGED
@@ -38,7 +38,7 @@ class ZoneTable(TenancyColumnsMixin, NetBoxTable):
38
38
  url_name="plugins:netbox_dns:zone_list",
39
39
  )
40
40
  default_ttl = tables.Column(
41
- verbose_name="Default TTL",
41
+ verbose_name=_("Default TTL"),
42
42
  )
43
43
  dnssec_policy = tables.Column(
44
44
  verbose_name=_("DNSSEC Policy"),
@@ -55,6 +55,9 @@ class ZoneTable(TenancyColumnsMixin, NetBoxTable):
55
55
  verbose_name=_("Registrar"),
56
56
  linkify=True,
57
57
  )
58
+ domain_status = ChoiceFieldColumn(
59
+ verbose_name=_("Domain Status"),
60
+ )
58
61
  registrant = tables.Column(
59
62
  verbose_name=_("Registrant"),
60
63
  linkify=True,
@@ -84,6 +87,8 @@ class ZoneTable(TenancyColumnsMixin, NetBoxTable):
84
87
  "inline_signing",
85
88
  "rfc2317_parent_managed",
86
89
  "registry_domain_id",
90
+ "expiration_date",
91
+ "domain_status",
87
92
  )
88
93
  default_columns = (
89
94
  "name",
@@ -2,6 +2,7 @@ import django_tables2 as tables
2
2
 
3
3
  from django.conf import settings
4
4
  from django.urls import reverse
5
+ from django.utils.translation import gettext_lazy as _
5
6
 
6
7
  from netbox.plugins.utils import get_plugin_config
7
8
  from netbox.plugins import PluginTemplateExtension
@@ -119,7 +120,7 @@ class IPRelatedDNSRecords(PluginTemplateExtension):
119
120
 
120
121
 
121
122
  address_records = tables.ManyToManyColumn(
122
- verbose_name="DNS Address Records",
123
+ verbose_name=_("DNS Address Records"),
123
124
  accessor="netbox_dns_records",
124
125
  linkify_item=True,
125
126
  transform=lambda obj: (
@@ -118,6 +118,16 @@
118
118
  <th scope="row">{% trans "Parent Propagation Delay" %}</th>
119
119
  <td>{{ object.parent_propagation_delay|placeholder }}</td>
120
120
  </tr>
121
+ <tr>
122
+ <th scope="row">{% trans "Parental Agents" %}</th>
123
+ <td>
124
+ <table>
125
+ {% for parental_agent in object.parental_agents %}
126
+ <tr><td>{{ parental_agent }}</td></tr>
127
+ {% endfor %}
128
+ </table>
129
+ </td>
130
+ </tr>
121
131
  </table>
122
132
  </div>
123
133
  <div class="card">
@@ -14,6 +14,25 @@
14
14
  <th scope="row">{% trans "Registry Domain ID" %}</th>
15
15
  <td>{{ object.registry_domain_id|placeholder }}</td>
16
16
  </tr>
17
+ <tr>
18
+ <th scope="row">{% trans "Expiration Date" %}</th>
19
+ <td>{{ object.expiration_date|placeholder }}</td>
20
+ </tr>
21
+ {% if expiration_warning %}
22
+ <tr>
23
+ <th class="text-warning" scope="row">{% trans "Warning" %}</th>
24
+ <td class="text-warning">{{ expiration_warning }}</td>
25
+ </tr>
26
+ {% elif expiration_error %}
27
+ <tr>
28
+ <th class="text-danger" scope="row">{% trans "Error" %}</th>
29
+ <td class="text-danger">{{ expiration_error }}</td>
30
+ </tr>
31
+ {% endif %}
32
+ <tr>
33
+ <th scope="row">{% trans "Domain Status" %}</th>
34
+ <td>{% badge object.get_domain_status_display bg_color=object.get_domain_status_color %}</td>
35
+ </tr>
17
36
  <tr>
18
37
  <th scope="row">{% trans "Registrant" %}</th>
19
38
  <td>{{ object.registrant|linkify|placeholder }}</td>
netbox_dns/urls.py CHANGED
@@ -2,6 +2,13 @@ from django.urls import include, path
2
2
 
3
3
  from utilities.urls import get_model_urls
4
4
 
5
+ # +
6
+ # Import views so the register_model_view is run. This is required for the
7
+ # URLs to be set up properly with get_model_urls().
8
+ # -
9
+ from .views import * # noqa: F401
10
+
11
+
5
12
  app_name = "netbox_dns"
6
13
 
7
14
  urlpatterns = (
@@ -4,6 +4,8 @@ from dns import name as dns_name
4
4
  from dns.exception import DNSException
5
5
  from netaddr import IPNetwork, AddrFormatError
6
6
 
7
+ from django.utils.dateparse import parse_duration
8
+
7
9
  from netbox.plugins.utils import get_plugin_config
8
10
 
9
11
 
@@ -15,6 +17,7 @@ __all__ = (
15
17
  "normalize_name",
16
18
  "network_to_reverse",
17
19
  "regex_from_list",
20
+ "iso8601_to_int",
18
21
  )
19
22
 
20
23
 
@@ -111,3 +114,13 @@ def network_to_reverse(network):
111
114
 
112
115
  def regex_from_list(names):
113
116
  return f"^({'|'.join(re.escape(name) for name in names)})$"
117
+
118
+
119
+ def iso8601_to_int(value):
120
+ try:
121
+ return int(value)
122
+ except ValueError:
123
+ duration = parse_duration(value)
124
+ if duration is None:
125
+ raise TypeError
126
+ return int(duration.total_seconds())
@@ -52,6 +52,9 @@ def validate_record_value(record):
52
52
  for part in textwrap.wrap(raw_value, MAX_TXT_LENGTH, drop_whitespace=False)
53
53
  )
54
54
 
55
+ if record.type in (RecordTypeChoices.CUSTOM_TYPES):
56
+ return
57
+
55
58
  if record.type in (RecordTypeChoices.TXT, RecordTypeChoices.SPF):
56
59
  if not (record.value.isascii() and record.value.isprintable()):
57
60
  raise ValidationError(
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.7b3
3
+ Version: 1.2.8
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,11 +8,12 @@ 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 :: 4 - Beta
11
+ Classifier: Development Status :: 5 - Production/Stable
12
12
  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,66 +1,67 @@
1
- netbox_dns/__init__.py,sha256=VVKUApX3xr_SAcF6I6JvHIME3eLseCTfgEWfnPfpY-c,3765
1
+ netbox_dns/__init__.py,sha256=C8n1B8TntuiSdKIBNzv8pxUN541jPIhsfPVqV8o0fvY,4890
2
2
  netbox_dns/apps.py,sha256=JCW5eS-AQBUubDJve1DjP-IRFKTFGQh1NLGWzJpC5MI,151
3
3
  netbox_dns/navigation.py,sha256=u90MwWBySg1Z9yfZEdvUctYWEkab5z1Y3019J7U_-3g,7741
4
- netbox_dns/template_content.py,sha256=T06L7-m4eGrLMeGsCvPpQLAGfn3S2FL7z0Cd1hhbisY,4225
5
- netbox_dns/urls.py,sha256=B00wVs22LOx9VC5boyvL-jo84MiVd_g3FPFCpTDQAgQ,2424
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
6
7
  netbox_dns/api/nested_serializers.py,sha256=zg6FaSeWQdVL2fTUIsKPv4gC60gyJuLEiqbrAC0wRQc,3690
7
8
  netbox_dns/api/serializers.py,sha256=OHrpfJkBn6D1y6b3nIxBEFyE50U5p-Aqv4lBojMEFgk,474
8
9
  netbox_dns/api/urls.py,sha256=-kQaei47yZeGbDpQ9RaFaFlFb682ThuPA5h321_2cgM,1000
9
10
  netbox_dns/api/views.py,sha256=w71SRyZue5zPD1C64TIr496nYFA_ARjHTlpSVFTZ76o,4522
10
11
  netbox_dns/api/serializers_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- netbox_dns/api/serializers_/dnssec_key_template.py,sha256=X9ZcHwyAxTXrkRzcLvd0R2xHO6KTot2IUy_BSSJ9dPw,1473
12
- netbox_dns/api/serializers_/dnssec_policy.py,sha256=w_l-_F_onDNzvjSCmonnmUar8gipDSxL6trpnNLQ2b0,2999
12
+ netbox_dns/api/serializers_/dnssec_key_template.py,sha256=QQUvbDwvYP05d_XB7Tcqi9XSR2Zq_ddq0wTBllo3LE0,1585
13
+ netbox_dns/api/serializers_/dnssec_policy.py,sha256=DSfMOMCYVJOslYxKiw-5LseWVDQ4C19smZApiGozUlc,3948
13
14
  netbox_dns/api/serializers_/nameserver.py,sha256=DMkUaLNDt3UtpAD6JDHfo1NMngHWRqHh2-xQeOPlfFM,1171
14
15
  netbox_dns/api/serializers_/prefix.py,sha256=kZ1DjDly6VFZamXSxGa57YC6MfZZcI5S7jmGBkVB2_I,551
15
- netbox_dns/api/serializers_/record.py,sha256=gpfANXhAcPylFWmWpCfwSEHrYy3b9Wl07PIyM4sPKM0,2408
16
- 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
17
18
  netbox_dns/api/serializers_/registrar.py,sha256=xLIaeBJ5ckV1Jf-uyCTFcvsLlsRMlpDtIg6q79vXZic,842
18
19
  netbox_dns/api/serializers_/registration_contact.py,sha256=3IGWW5xB9XEBGApCGZCZIxpCmy1Y5jQUbA4GzmtaCik,1024
19
20
  netbox_dns/api/serializers_/view.py,sha256=nnWeQugoqMdn-NGGC7ykbVPwmBrcBma_ZKwdDxUgJ24,1809
20
- netbox_dns/api/serializers_/zone.py,sha256=ARUvmQpMOlJlS5Zo5_ItL855oxK0bSnZFvnTL-ENaow,5675
21
+ netbox_dns/api/serializers_/zone.py,sha256=MJrCIhv8j24YnVx43EBe3TkaZoij7C9MitbDuwjOaJY,6205
21
22
  netbox_dns/api/serializers_/zone_template.py,sha256=gYlP6wBSVoTZ-DVxJHzGz2fyLdcyibTYR1O9czEKl_k,4374
22
23
  netbox_dns/choices/__init__.py,sha256=K3JfawICeoUny8O_Dqexr7DOxwyg3QqijZ4DO6j5yP8,106
23
- netbox_dns/choices/dnssec_key_template.py,sha256=YwJYGbxq2EVPUVwMs-sy1k1MJuEwbdWFVZh84qyU-QI,1429
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
27
- netbox_dns/choices/zone.py,sha256=Vblm5RUtNtPNkULh8U1NxBMme1iHPllD6B6LkQkWZW4,621
24
+ netbox_dns/choices/dnssec_key_template.py,sha256=khU1gJF1GlBfk1YGCkm56LPvr7SLXEwqaB-SdD-8Zi0,1425
25
+ netbox_dns/choices/dnssec_policy.py,sha256=1EH1VoLbewiTZmnACpxq6GN0UJDVA1L6cxs-Jf6OagI,839
26
+ netbox_dns/choices/record.py,sha256=Ynw1aDASQEovzIPJbRFRM6F-M9u39iHMe0aj9DZsrfk,2650
27
+ netbox_dns/choices/utilities.py,sha256=osvDMxOZnvxx9Jc7zKjkMGNFGxtnhM49q71Q-h61lLA,123
28
+ netbox_dns/choices/zone.py,sha256=KvyNL_TR_2FXCoH6usrXTRJYRzZ9W1PiDvunutAUYhY,4294
28
29
  netbox_dns/fields/__init__.py,sha256=yUVrNQ7BvoeVRGoiRFmrZxXsp1LIwHLRLl0_5mBIyzk,143
29
30
  netbox_dns/fields/address.py,sha256=qNLHmpwwJ3TevljG1QsUr_f2h6NrPsK6wr-R-Ti8eZI,1262
30
31
  netbox_dns/fields/choice_array.py,sha256=qECgwzJ9PVGIbpqC_JVzuSUsV7C3FG03ibv1EUrvZr4,850
31
32
  netbox_dns/fields/ipam.py,sha256=wla-kBm77BpD0LNQhgRZS1RYbVois7WDqPpyQkUT02k,481
32
33
  netbox_dns/fields/network.py,sha256=a5nTzjscRufxgMjVsf5juszSYuTujU50pQ9P7q4qMVs,3740
33
34
  netbox_dns/fields/rfc2317.py,sha256=y72PZKlXZ8_6P4eeWZ8IF3gqOMjPxW48gk3AB81XboE,2642
34
- netbox_dns/fields/timeperiod.py,sha256=bC9Qs4HLj1E8I5d9aqLwFeBbwNJNwHdrlnWf5z3PTkQ,1167
35
+ netbox_dns/fields/timeperiod.py,sha256=InK3FVc8gHNQjx101a7HsGfrHxvoG1y6drYwuRjRSIE,941
35
36
  netbox_dns/filtersets/__init__.py,sha256=bKppz_w3X2xNNHOcxZZiIO7zSkDaNTrZJ__k1U7rKik,275
36
- netbox_dns/filtersets/dnssec_key_template.py,sha256=0lluEjVu4d41baiwD_tlJCUwC-y-zjUePj5Mh7TCBrQ,1569
37
- netbox_dns/filtersets/dnssec_policy.py,sha256=n_Mn1MnR8zbBij42iw3HVaz9scvs8dIgipdqQgdMUGI,3075
37
+ netbox_dns/filtersets/dnssec_key_template.py,sha256=qu1c2MzBKEflcU-QkWrGGf6aU8iYDgfeKPCcxxfdRkY,1565
38
+ netbox_dns/filtersets/dnssec_policy.py,sha256=fx_0ObPnMNZIO-JSBDTCXBhjZf49s2CccUcCG8Q9GdQ,3670
38
39
  netbox_dns/filtersets/nameserver.py,sha256=7hk9Wh4v4-IHP44rQC4nhdvpYbDYNYYf-XZp6Yo72xE,1203
39
40
  netbox_dns/filtersets/record.py,sha256=Ao2666F6z435TXD_hV2dgItI0sWXlS-jyQ1TQZEL8Yc,3913
40
41
  netbox_dns/filtersets/record_template.py,sha256=wir5s2QWfDnw0M1wWnzJs9im5ok4l5cTbWPMBSM8aEg,1604
41
42
  netbox_dns/filtersets/registrar.py,sha256=Wh_l-IXRHnJhW7Pyokp3czQZISDKzXnWeSQKp512Drc,977
42
43
  netbox_dns/filtersets/registration_contact.py,sha256=903sOcHPRCI0dVzqn1i0pn5VPr_4YpHPh5QE2-akR-Y,1139
43
44
  netbox_dns/filtersets/view.py,sha256=IlQz3k2J_N6eSbT9op0KOu3sKLrn-HTsJCcrIqoYgyY,1047
44
- netbox_dns/filtersets/zone.py,sha256=LeFmuuRjUv105_gDMkxvuR1i7OABgptBl-zO8u7jUTQ,6833
45
- netbox_dns/filtersets/zone_template.py,sha256=bbbdc3-420GWR9DrL1MOV8InL1DztKA7I0N4tnr5hXk,4737
45
+ netbox_dns/filtersets/zone.py,sha256=ih1Jy1ocGyToP91QDZo6eaxl-2o-Qkgc5GDBHDtrxLA,7049
46
+ netbox_dns/filtersets/zone_template.py,sha256=7pmS7gd1JdsUgu7ICrq5d5gTuIsxMFSejEKZ2VLwwn8,4737
46
47
  netbox_dns/forms/__init__.py,sha256=tObkTOHw_6kVtEcwdyshN0Ql-8VGhwsgQw7owL_s2lI,273
47
- netbox_dns/forms/dnssec_key_template.py,sha256=NK4Eahz0Qg1CTe4YXgKOJ4OReKyOClMKWaA3TjRqlT4,5221
48
- netbox_dns/forms/dnssec_policy.py,sha256=O6u_EHG7y1R_LEXIixpvoS6y_6w3zYA1_tJpR_h2wM4,16954
49
- netbox_dns/forms/nameserver.py,sha256=GJe3ece4yIGwMtLZ6wQihBrJu1dk_ZSiwX-vSU0fRa0,3397
48
+ netbox_dns/forms/dnssec_key_template.py,sha256=BChWsbShkm72tnZGh5ClStN6SG-XPMAeMeu7mQzoCDk,5249
49
+ netbox_dns/forms/dnssec_policy.py,sha256=u9_FWYm6Yem8p9BPell0xf8O-6wT1o_Kuz8pC1n06ac,17682
50
+ netbox_dns/forms/nameserver.py,sha256=v0nvG4MmpbYypde5KG5TkoXYkwibMhmqi4I8ugNbDXc,3459
50
51
  netbox_dns/forms/record.py,sha256=wkl3YpbKfq0bH6U8atNYrYwrV-kNPRqG1PRQG3X1eHA,8389
51
- netbox_dns/forms/record_template.py,sha256=BdcDkQ5VPER3-nBKq6R1MINOG__H8yGa4uqdIqoLZuU,6474
52
+ netbox_dns/forms/record_template.py,sha256=2wNS0LvxX6Zv9uELWmJyL-hIzaVTItNFHv4xDI3qwAk,6505
52
53
  netbox_dns/forms/registrar.py,sha256=GaRH3w5zlhrpwy_U0pxlrl1DrAEaMB78MUlnGxBRwZI,3949
53
54
  netbox_dns/forms/registration_contact.py,sha256=IhNAqElY7hOdpDG0jwWMdy3y2mB43xmjUhj3lsgJ3SE,5906
54
55
  netbox_dns/forms/view.py,sha256=GacwKHXSDvxQEs-d3ys7rietqA_MzpSd0XjWaSsIbU0,10339
55
- netbox_dns/forms/zone.py,sha256=0KKRDGAMzGhxzgaqb2ENLtsV9jft_MnA2qR8RT-lYSo,27518
56
- netbox_dns/forms/zone_template.py,sha256=Xi7GbYytVekKRrNjG-60uhthFGeOP1a1l3gxD_0ENuM,11001
56
+ netbox_dns/forms/zone.py,sha256=0Lr3pWU21Tn70t32CXsEfJn6h5S2ulQugDTkEqva2Zw,29398
57
+ netbox_dns/forms/zone_template.py,sha256=0VXGG59EH9IJJ-Nq5Bn-eiNJNqT_ZiLADSDyuYWXSLE,11280
57
58
  netbox_dns/graphql/__init__.py,sha256=0xg_5d1PPFTadBOZo752t5sfZeLFrqs2jM51Rbf8ti4,652
58
59
  netbox_dns/graphql/filters.py,sha256=Cyi8_Jz_5cMZfwsiZaAqsdWQM7Hsp-TmoZkvXOa_-S8,2237
59
60
  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=AegvIhFcWu4r6t5TCCheyD0S-SbCbPBGvnQ0rVSYYwI,23758
61
+ netbox_dns/graphql/types.py,sha256=_lmUCGoZ1_i-9PP2oRmBEHP1QmEBbrhQMT5Z9_aVJ9Y,10192
62
+ netbox_dns/locale/de/LC_MESSAGES/django.mo,sha256=2aWnoyYtInSC7wQTIAXO7E4oNxo_g281o8-42-Ilkr8,30000
62
63
  netbox_dns/locale/en/LC_MESSAGES/django.mo,sha256=GDnSZkfHs3yjtTsll7dksEEej4B50F8pc9RGytZNubM,393
63
- netbox_dns/locale/fr/LC_MESSAGES/django.mo,sha256=fzkzqnO1x9Yg4DKgqrQ6eKQLOnAgH7NEBsPje1mxQ68,24139
64
+ netbox_dns/locale/fr/LC_MESSAGES/django.mo,sha256=XjWCnhwjI4Iwht_2JpPLB2btIg6f4ED8F3LqYPwNffA,30023
64
65
  netbox_dns/management/commands/cleanup_database.py,sha256=1-tAl0Sht80qaNZyfFyUW19Eh9gBUuc7GdbHN4aemGU,5935
65
66
  netbox_dns/management/commands/cleanup_rrset_ttl.py,sha256=UFRURLBcFeGHUS2lrYFv7UWIebjI72aG1EUQJt0XsXw,2046
66
67
  netbox_dns/management/commands/rebuild_dnssync.py,sha256=Tcl385u6kJTX47SvSyRzKm1RIx4nYRYCMcKr3uVnV60,1246
@@ -84,6 +85,8 @@ netbox_dns/migrations/0014_alter_unique_constraints_lowercase.py,sha256=Ueesv7uo
84
85
  netbox_dns/migrations/0015_dnssec.py,sha256=PRS8wjN3_h-M17gOHagM-5pkZuuS5nlaJjlIqzKr5f8,6716
85
86
  netbox_dns/migrations/0016_dnssec_policy_status.py,sha256=MAGTAz95WYkp2PR1Q1EQehEvAYgL1V-ksMa3wlKHgGE,384
86
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
89
+ netbox_dns/migrations/0019_dnssecpolicy_parental_agents.py,sha256=ENbj3lhsCYHBflUnb2LrfUyTxwvPwcACmL8sUsm7P7A,655
87
90
  netbox_dns/migrations/0020_netbox_3_4.py,sha256=UMcHdn8ZAuQjUaM_3rEGpktYrM0TuvhccD7Jt7WQnPs,1271
88
91
  netbox_dns/migrations/0021_record_ip_address.py,sha256=EqdhWXmq7aiK4X79xTRUZng3zFncCl-8JoO65HqlJKw,3244
89
92
  netbox_dns/migrations/0022_search.py,sha256=KW1ffEZ4-0dppGQ_KD1EN7iw8eQJOnDco-xfJFRZqKQ,172
@@ -99,15 +102,15 @@ netbox_dns/mixins/__init__.py,sha256=LxTEfpod_RHCyMtnzDljv0_dwqp2z3Q6tqbXW8LTGD8
99
102
  netbox_dns/mixins/object_modification.py,sha256=AR64fU5f7g-scNAj9b54eSoS9dpjyOpqrxXVXPcOhY8,1807
100
103
  netbox_dns/models/__init__.py,sha256=CuwFENIVUv0FNMDlY18Am-mvN5kBGkPOGavCP0cle7c,273
101
104
  netbox_dns/models/dnssec_key_template.py,sha256=h6YniKfLx1ILAbvko6Mps-bhsI743uHIOiLgtfStZTI,2790
102
- netbox_dns/models/dnssec_policy.py,sha256=eD13F_zTUgpP8fNGg0FssMNBUtpBRvkJiM6ZSYh1Pws,5466
105
+ netbox_dns/models/dnssec_policy.py,sha256=cz289177774geIGf7JsriDCi-hov9GMkEK-rmgEgLis,5710
103
106
  netbox_dns/models/nameserver.py,sha256=ivZpIVfgQLdDhrtqYPi-zRbygVgl3aff2FMsq1M3qA8,4044
104
- netbox_dns/models/record.py,sha256=ot2f5LVxj4ZjNanE29y-30iUK4YZS7-0-37ds3hWtjo,29716
107
+ netbox_dns/models/record.py,sha256=GAl4JQCGX5Ip_R4zAQ-ZA-2Kn-Pr7zBmSgFCGsfbM5M,29806
105
108
  netbox_dns/models/record_template.py,sha256=kt-_sMFSMKmuKU8voVqz1-Lh7Wi7lPcA2ExPFQYLoxM,5345
106
109
  netbox_dns/models/registrar.py,sha256=L5tbO8rtOa0VCs_y90nHYLKSRKBnnUhh_6sxZ3Mm2kk,1942
107
110
  netbox_dns/models/registration_contact.py,sha256=O7T1clUjuilZnDjvhJKaHZdmNEF4aLg2h8K5p4llWOs,3825
108
111
  netbox_dns/models/view.py,sha256=gQvKNr_FmhG2EMz2T8kWbdK4b8CyqI-Qc67-Dgrx2SI,4808
109
- netbox_dns/models/zone.py,sha256=i0wA5NFc15BSV_yIl6HMzIWhAqiEL7RpxNCQdfxGV9A,33847
110
- netbox_dns/models/zone_template.py,sha256=-5lk8MtetHjsjlfEwVJ00qIpAx7Cnd1JvjBtPVHEcX4,5246
112
+ netbox_dns/models/zone.py,sha256=oVhGwmTyK28Ct0WlFoqUsOlgqzH38frQY26lbe5rqF0,35559
113
+ netbox_dns/models/zone_template.py,sha256=TpM4LNBStwoyHXkvMGa8zUdBp28ZnauolkbFntt9hPk,5249
111
114
  netbox_dns/signals/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
115
  netbox_dns/signals/dnssec.py,sha256=o4MOEg6ftxoDWFAhDtajkXzb7Nb6KuUHjtx1zNu7C1w,1040
113
116
  netbox_dns/signals/ipam_dnssync.py,sha256=1zhlf4cMcJLlFosX7YzyqVYdFFHV4MFwTz5KCdL8xQc,7730
@@ -121,10 +124,10 @@ netbox_dns/tables/record_template.py,sha256=HJEOK3VYVCKWhExs775Nb4KAvHPE7IqQEzne
121
124
  netbox_dns/tables/registrar.py,sha256=XQtJj0c4O4gpCdUp903GSD0tIuARmJw13Nwosw9pTFU,727
122
125
  netbox_dns/tables/registration_contact.py,sha256=n_FKE90j6KNgPKRVq1WXg4vnOzFE238oXsi_NYVAU9M,931
123
126
  netbox_dns/tables/view.py,sha256=gsuWQWAk3RstNIKzBDOHNHR2D3ykX6WigYLMj0VhQFs,1148
124
- netbox_dns/tables/zone.py,sha256=A8aEqXRTJ9asVxpVHBymx3F1nmkDPyIfDLcNLHMXTSM,2283
127
+ netbox_dns/tables/zone.py,sha256=TEQcSiuCuWpVtDnPa9oh-IDfrap-Plfi4qK40bGeDzA,2432
125
128
  netbox_dns/tables/zone_template.py,sha256=TU45sNYPHxs1xJTKj57e1s-jxLENCOAgE6S6lconWMc,1751
126
129
  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
130
+ netbox_dns/templates/netbox_dns/dnssecpolicy.html,sha256=Xx_xlt6vU4ZyYFFcNOr5WBEApWyzyE_SAup_6q065yQ,8151
128
131
  netbox_dns/templates/netbox_dns/nameserver.html,sha256=MawPiuAmjFrbv0zRi-7xkm8vr-dT1tlEno8EcoQ9peU,1714
129
132
  netbox_dns/templates/netbox_dns/record.html,sha256=1KBT4xDooTX9kt1cUoPD2-6QnMizPmbItA0JAAgRzfw,6550
130
133
  netbox_dns/templates/netbox_dns/recordtemplate.html,sha256=a29PAUl-KI_I1lxWpVdPp2loJtzgis9DG9erOWrOZM0,3708
@@ -144,18 +147,18 @@ netbox_dns/templates/netbox_dns/zone/child_zone.html,sha256=b9CSGWEfWT7hLQ80gApM
144
147
  netbox_dns/templates/netbox_dns/zone/delegation_record.html,sha256=bpJoyEYb5CVCoeH2260KMwwL6pUJxKA-Dt0qUruBEdk,517
145
148
  netbox_dns/templates/netbox_dns/zone/managed_record.html,sha256=LOchMAJyfMZIICE6q0pX1eorRbtgUtOQ1u0VvJKCDZ8,514
146
149
  netbox_dns/templates/netbox_dns/zone/record.html,sha256=Y_gg9EUIqjSYxmIZKufAK8jyg9A54J-BoewNxUBoO1Y,2238
147
- netbox_dns/templates/netbox_dns/zone/registration.html,sha256=PqniHrO-LnXstIKyjn3fJk69ysjfrrt3U4kZAJqidXI,1265
150
+ netbox_dns/templates/netbox_dns/zone/registration.html,sha256=jbgKoMVG8YNNXTBDEclUCxfj4KbV05C250jt6x6n9cc,2069
148
151
  netbox_dns/templates/netbox_dns/zone/rfc2317_child_zone.html,sha256=rWlmb3zRQbLYQ_1dsa0twwu6y1dRj2tfFVEERH07p-s,517
149
152
  netbox_dns/templates/netbox_dns/zonetemplate/child.html,sha256=S8BMNOZkfs8SM_4yfKR8_RnQXG47FHCe7rf2quDTc_Y,2247
150
153
  netbox_dns/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
154
  netbox_dns/templatetags/netbox_dns.py,sha256=DND1DMPzv636Rak3M6Hor_Vw6pjqUfSTquofIw4dIsA,223
152
155
  netbox_dns/utilities/__init__.py,sha256=cSGf-nGaRWx9b-Xrh3dLMJYoWNsZ6FF-qdmV4F1uOgg,74
153
- netbox_dns/utilities/conversions.py,sha256=eKA17FSU-Us3cfda9DAgtZgmr3r2o5UbJ_1giD3LLvE,2713
156
+ netbox_dns/utilities/conversions.py,sha256=qYnzecmR28l8Je_H0vFvzJ2sikTiEiyxr6drl_aRocg,3016
154
157
  netbox_dns/utilities/dns.py,sha256=UBiyQe8thiOTnKOmU9e2iRHHnGF9toVLe4efU623kX4,322
155
158
  netbox_dns/utilities/ipam_dnssync.py,sha256=_yuHoah_QN-opsZB51yGCkwjkij7nrmTgKHUZ-bQrBI,9625
156
159
  netbox_dns/validators/__init__.py,sha256=X0hPZlC3VZcXMcvXKZ2_5LSoEJdXPNSBr4QtEIFSBJ0,94
157
160
  netbox_dns/validators/dns_name.py,sha256=Sil68Av49jfZPzgFMV_1qEcLnuuAWXmbxfAJPDXUsGg,3766
158
- netbox_dns/validators/dns_value.py,sha256=-mc62mth-hlbPUPe_RlCR7vo1KSD6_gQDXiE8rjB-Cc,5206
161
+ netbox_dns/validators/dns_value.py,sha256=cADhgTohXAtOLPzaoMKO9DahEUiDanpdiuKonrwFw0E,5278
159
162
  netbox_dns/validators/dnssec.py,sha256=FzWLXX3qwS9ZMaLWHaBJStwJ_D96wp7GI4LYoKjoegc,4909
160
163
  netbox_dns/validators/rfc2317.py,sha256=uKkwxpakiFFKdYA0qy8WSlEnbFwJD4MDw6gGV4F6skg,706
161
164
  netbox_dns/views/__init__.py,sha256=tObkTOHw_6kVtEcwdyshN0Ql-8VGhwsgQw7owL_s2lI,273
@@ -167,10 +170,10 @@ netbox_dns/views/record_template.py,sha256=CbSyckBvyEvcZCeZgK3q0fJsa1_5HbwUflh_i
167
170
  netbox_dns/views/registrar.py,sha256=Um_2wnzmP2bqbdMUhBPhny2My0R8fMXScQ9GLiTCrvg,2808
168
171
  netbox_dns/views/registration_contact.py,sha256=c9KrNkfFNsb55pL74A5rN1CNx32M82V6mdwBYduNxas,3596
169
172
  netbox_dns/views/view.py,sha256=VfrKaLC9D_KNZNmRyFVohRlmMlMbtblAuPgNg0LNyf8,3421
170
- netbox_dns/views/zone.py,sha256=W66Miyaf4RKW-8z5wMrerrtmHclhht3h-lPqTWFpiOw,7163
173
+ netbox_dns/views/zone.py,sha256=DU_esPOMHGMRQIgy5vS8miZe-FNozBcIyMLZPwZK4_c,7453
171
174
  netbox_dns/views/zone_template.py,sha256=IIW1lr6RQmhShtqJu6A6LnHdxdBrkkZQHxIDSTqQeyc,2705
172
- netbox_plugin_dns-1.2.7b3.dist-info/LICENSE,sha256=I3tDu11bZfhFm3EkV4zOD5TmWgLjnUNLEFwrdjniZYs,1112
173
- netbox_plugin_dns-1.2.7b3.dist-info/METADATA,sha256=V-yBL8EdajFb4lZzG6NqVN1sAlXyVgmwmuZqsd-lVuw,7625
174
- netbox_plugin_dns-1.2.7b3.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
175
- netbox_plugin_dns-1.2.7b3.dist-info/top_level.txt,sha256=sA1Rwl1mRKvMC6XHe2ylZ1GF-Q1NGd08XedK9Y4xZc4,11
176
- netbox_plugin_dns-1.2.7b3.dist-info/RECORD,,
175
+ netbox_plugin_dns-1.2.8.dist-info/licenses/LICENSE,sha256=I3tDu11bZfhFm3EkV4zOD5TmWgLjnUNLEFwrdjniZYs,1112
176
+ netbox_plugin_dns-1.2.8.dist-info/METADATA,sha256=pNyZ3KpZL3Kns_9Op6xslaXsk9ywrnDBg8Hl6UYMDfE,7658
177
+ netbox_plugin_dns-1.2.8.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
178
+ netbox_plugin_dns-1.2.8.dist-info/top_level.txt,sha256=sA1Rwl1mRKvMC6XHe2ylZ1GF-Q1NGd08XedK9Y4xZc4,11
179
+ netbox_plugin_dns-1.2.8.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.0.0)
2
+ Generator: setuptools (79.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5