netbox-plugin-dns 1.2.7b3__py3-none-any.whl → 1.2.9__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.
- netbox_dns/__init__.py +56 -29
- netbox_dns/api/field_serializers.py +25 -0
- netbox_dns/api/serializers_/dnssec_key_template.py +2 -0
- netbox_dns/api/serializers_/dnssec_policy.py +13 -0
- netbox_dns/api/serializers_/record.py +2 -0
- netbox_dns/api/serializers_/record_template.py +2 -0
- netbox_dns/api/serializers_/zone.py +11 -1
- netbox_dns/choices/dnssec_key_template.py +2 -2
- netbox_dns/choices/dnssec_policy.py +2 -2
- netbox_dns/choices/record.py +66 -19
- netbox_dns/choices/utilities.py +4 -26
- netbox_dns/choices/zone.py +96 -1
- netbox_dns/fields/timeperiod.py +6 -12
- netbox_dns/filtersets/dnssec_key_template.py +2 -2
- netbox_dns/filtersets/dnssec_policy.py +7 -6
- netbox_dns/filtersets/zone.py +25 -2
- netbox_dns/filtersets/zone_template.py +2 -2
- netbox_dns/forms/dnssec_key_template.py +3 -2
- netbox_dns/forms/dnssec_policy.py +39 -37
- netbox_dns/forms/nameserver.py +2 -0
- netbox_dns/forms/record_template.py +1 -0
- netbox_dns/forms/zone.py +99 -15
- netbox_dns/forms/zone_template.py +9 -0
- netbox_dns/graphql/types.py +1 -0
- netbox_dns/locale/de/LC_MESSAGES/django.mo +0 -0
- netbox_dns/locale/fr/LC_MESSAGES/django.mo +0 -0
- netbox_dns/migrations/0018_zone_domain_status_zone_expiration_date.py +23 -0
- netbox_dns/migrations/0019_dnssecpolicy_parental_agents.py +25 -0
- netbox_dns/migrations/0020_remove_dnssecpolicy_parental_agents_and_more.py +29 -0
- netbox_dns/models/record.py +4 -1
- netbox_dns/models/zone.py +74 -4
- netbox_dns/models/zone_template.py +1 -1
- netbox_dns/tables/zone.py +6 -1
- netbox_dns/template_content.py +2 -1
- netbox_dns/templates/netbox_dns/zone/registration.html +19 -0
- netbox_dns/templates/netbox_dns/zone.html +10 -0
- netbox_dns/urls.py +7 -0
- netbox_dns/utilities/conversions.py +13 -0
- netbox_dns/validators/dns_value.py +3 -0
- netbox_dns/views/zone.py +11 -1
- {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.9.dist-info}/METADATA +4 -3
- {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.9.dist-info}/RECORD +45 -41
- {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.9.dist-info}/WHEEL +1 -1
- {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.9.dist-info/licenses}/LICENSE +0 -0
- {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.9.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Generated by Django 5.1.8 on 2025-04-22 21:45
|
|
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", "0019_dnssecpolicy_parental_agents"),
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
operations = [
|
|
14
|
+
migrations.RemoveField(
|
|
15
|
+
model_name="dnssecpolicy",
|
|
16
|
+
name="parental_agents",
|
|
17
|
+
),
|
|
18
|
+
migrations.AddField(
|
|
19
|
+
model_name="zone",
|
|
20
|
+
name="parental_agents",
|
|
21
|
+
field=django.contrib.postgres.fields.ArrayField(
|
|
22
|
+
base_field=models.GenericIPAddressField(),
|
|
23
|
+
blank=True,
|
|
24
|
+
default=list,
|
|
25
|
+
null=True,
|
|
26
|
+
size=None,
|
|
27
|
+
),
|
|
28
|
+
),
|
|
29
|
+
]
|
netbox_dns/models/record.py
CHANGED
|
@@ -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
|
|
@@ -17,6 +17,7 @@ from django.db.models.signals import m2m_changed
|
|
|
17
17
|
from django.urls import reverse
|
|
18
18
|
from django.dispatch import receiver
|
|
19
19
|
from django.conf import settings
|
|
20
|
+
from django.contrib.postgres.fields import ArrayField
|
|
20
21
|
from django.utils.translation import gettext_lazy as _
|
|
21
22
|
|
|
22
23
|
from netbox.models import NetBoxModel
|
|
@@ -26,7 +27,12 @@ from netbox.plugins.utils import get_plugin_config
|
|
|
26
27
|
from utilities.querysets import RestrictedQuerySet
|
|
27
28
|
from ipam.models import IPAddress
|
|
28
29
|
|
|
29
|
-
from netbox_dns.choices import
|
|
30
|
+
from netbox_dns.choices import (
|
|
31
|
+
RecordClassChoices,
|
|
32
|
+
RecordTypeChoices,
|
|
33
|
+
ZoneStatusChoices,
|
|
34
|
+
ZoneEPPStatusChoices,
|
|
35
|
+
)
|
|
30
36
|
from netbox_dns.fields import NetworkField, RFC2317NetworkField
|
|
31
37
|
from netbox_dns.utilities import (
|
|
32
38
|
update_dns_records,
|
|
@@ -188,6 +194,14 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
188
194
|
help_text=_("Use inline signing for DNSSEC"),
|
|
189
195
|
default=True,
|
|
190
196
|
)
|
|
197
|
+
parental_agents = ArrayField(
|
|
198
|
+
base_field=models.GenericIPAddressField(
|
|
199
|
+
protocol="both",
|
|
200
|
+
),
|
|
201
|
+
blank=True,
|
|
202
|
+
null=True,
|
|
203
|
+
default=list,
|
|
204
|
+
)
|
|
191
205
|
registrar = models.ForeignKey(
|
|
192
206
|
verbose_name=_("Registrar"),
|
|
193
207
|
to="Registrar",
|
|
@@ -202,6 +216,18 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
202
216
|
blank=True,
|
|
203
217
|
null=True,
|
|
204
218
|
)
|
|
219
|
+
expiration_date = models.DateField(
|
|
220
|
+
verbose_name=_("Expiration Date"),
|
|
221
|
+
blank=True,
|
|
222
|
+
null=True,
|
|
223
|
+
)
|
|
224
|
+
domain_status = models.CharField(
|
|
225
|
+
verbose_name=_("Domain Status"),
|
|
226
|
+
max_length=50,
|
|
227
|
+
choices=ZoneEPPStatusChoices,
|
|
228
|
+
blank=True,
|
|
229
|
+
null=True,
|
|
230
|
+
)
|
|
205
231
|
registrant = models.ForeignKey(
|
|
206
232
|
verbose_name=_("Registrant"),
|
|
207
233
|
to="RegistrationContact",
|
|
@@ -211,7 +237,7 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
211
237
|
null=True,
|
|
212
238
|
)
|
|
213
239
|
admin_c = models.ForeignKey(
|
|
214
|
-
verbose_name="Administrative Contact",
|
|
240
|
+
verbose_name=_("Administrative Contact"),
|
|
215
241
|
to="RegistrationContact",
|
|
216
242
|
on_delete=models.SET_NULL,
|
|
217
243
|
related_name="admin_c_zones",
|
|
@@ -288,6 +314,23 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
288
314
|
"tenant",
|
|
289
315
|
)
|
|
290
316
|
|
|
317
|
+
soa_clean_fields = {
|
|
318
|
+
"description",
|
|
319
|
+
"status",
|
|
320
|
+
"dnssec_policy",
|
|
321
|
+
"inline_signing",
|
|
322
|
+
"registrar",
|
|
323
|
+
"registry_domain_id",
|
|
324
|
+
"expiration_date",
|
|
325
|
+
"domain_status",
|
|
326
|
+
"registrant",
|
|
327
|
+
"admin_c",
|
|
328
|
+
"tech_c",
|
|
329
|
+
"billing_c",
|
|
330
|
+
"rfc2317_parent_managed",
|
|
331
|
+
"tenant",
|
|
332
|
+
}
|
|
333
|
+
|
|
291
334
|
class Meta:
|
|
292
335
|
verbose_name = _("Zone")
|
|
293
336
|
verbose_name_plural = _("Zones")
|
|
@@ -370,6 +413,9 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
370
413
|
def get_status_color(self):
|
|
371
414
|
return ZoneStatusChoices.colors.get(self.status)
|
|
372
415
|
|
|
416
|
+
def get_domain_status_color(self):
|
|
417
|
+
return ZoneEPPStatusChoices.colors.get(self.domain_status)
|
|
418
|
+
|
|
373
419
|
# TODO: Remove in version 1.3.0 (NetBox #18555)
|
|
374
420
|
def get_absolute_url(self):
|
|
375
421
|
return reverse("plugins:netbox_dns:zone", kwargs={"pk": self.pk})
|
|
@@ -410,6 +456,8 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
410
456
|
self.admin_c,
|
|
411
457
|
self.tech_c,
|
|
412
458
|
self.billing_c,
|
|
459
|
+
self.expiration_date,
|
|
460
|
+
self.domain_status,
|
|
413
461
|
)
|
|
414
462
|
)
|
|
415
463
|
|
|
@@ -579,6 +627,26 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
579
627
|
|
|
580
628
|
return ns_warnings, ns_errors
|
|
581
629
|
|
|
630
|
+
def check_expiration(self):
|
|
631
|
+
if self.expiration_date is None:
|
|
632
|
+
return None, None
|
|
633
|
+
|
|
634
|
+
expiration_warning = None
|
|
635
|
+
expiration_error = None
|
|
636
|
+
|
|
637
|
+
expiration_warning_days = get_plugin_config(
|
|
638
|
+
"netbox_dns", "zone_expiration_warning_days"
|
|
639
|
+
)
|
|
640
|
+
|
|
641
|
+
if self.expiration_date < date.today():
|
|
642
|
+
expiration_error = _("The registration for this domain has expired.")
|
|
643
|
+
elif (self.expiration_date - date.today()).days < expiration_warning_days:
|
|
644
|
+
expiration_warning = _(
|
|
645
|
+
f"The registration for his domain will expire less than {expiration_warning_days} days."
|
|
646
|
+
)
|
|
647
|
+
|
|
648
|
+
return expiration_warning, expiration_error
|
|
649
|
+
|
|
582
650
|
def check_soa_serial_increment(self, old_serial, new_serial):
|
|
583
651
|
MAX_SOA_SERIAL_INCREMENT = 2**31 - 1
|
|
584
652
|
SOA_SERIAL_WRAP = 2**32
|
|
@@ -870,7 +938,9 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
870
938
|
|
|
871
939
|
changed_fields = self.changed_fields
|
|
872
940
|
|
|
873
|
-
if self.soa_serial_auto
|
|
941
|
+
if self.soa_serial_auto and (
|
|
942
|
+
changed_fields is None or changed_fields - self.soa_clean_fields
|
|
943
|
+
):
|
|
874
944
|
self.soa_serial = self.get_auto_serial()
|
|
875
945
|
|
|
876
946
|
super().save(*args, **kwargs)
|
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",
|
netbox_dns/template_content.py
CHANGED
|
@@ -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: (
|
|
@@ -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>
|
|
@@ -108,6 +108,16 @@
|
|
|
108
108
|
<th scope="row">{% trans "Use Inline Signing" %}</th>
|
|
109
109
|
<td>{% checkmark object.inline_signing %}</td>
|
|
110
110
|
</tr>
|
|
111
|
+
<tr>
|
|
112
|
+
<th scope="row">{% trans "Parental Agents" %}</th>
|
|
113
|
+
<td>
|
|
114
|
+
<table>
|
|
115
|
+
{% for parental_agent in object.parental_agents %}
|
|
116
|
+
<tr><td>{{ parental_agent }}</td></tr>
|
|
117
|
+
{% endfor %}
|
|
118
|
+
</table>
|
|
119
|
+
</td>
|
|
120
|
+
</tr>
|
|
111
121
|
</table>
|
|
112
122
|
</div>
|
|
113
123
|
{% endif %}
|
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.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: netbox-plugin-dns
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.9
|
|
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 ::
|
|
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=
|
|
1
|
+
netbox_dns/__init__.py,sha256=HzeHeQLMPWvjvXQBW8ay9rzV-ZdXu3J5PgrmOfHe95E,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=
|
|
5
|
-
netbox_dns/urls.py,sha256=
|
|
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=
|
|
12
|
-
netbox_dns/api/serializers_/dnssec_policy.py,sha256=
|
|
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
|
|
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=
|
|
16
|
-
netbox_dns/api/serializers_/record_template.py,sha256=
|
|
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=
|
|
21
|
+
netbox_dns/api/serializers_/zone.py,sha256=AataMW3EkDpG-MCZ50wJU5C6kDOEq71HD7n3L36_Auc,6236
|
|
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=
|
|
24
|
-
netbox_dns/choices/dnssec_policy.py,sha256=
|
|
25
|
-
netbox_dns/choices/record.py,sha256=
|
|
26
|
-
netbox_dns/choices/utilities.py,sha256=
|
|
27
|
-
netbox_dns/choices/zone.py,sha256=
|
|
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=
|
|
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=
|
|
37
|
-
netbox_dns/filtersets/dnssec_policy.py,sha256=
|
|
37
|
+
netbox_dns/filtersets/dnssec_key_template.py,sha256=qu1c2MzBKEflcU-QkWrGGf6aU8iYDgfeKPCcxxfdRkY,1565
|
|
38
|
+
netbox_dns/filtersets/dnssec_policy.py,sha256=jNlib02OwOVkktLvh9MmxDv9OPL2u7FmoM2h_VhMGe4,3070
|
|
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=
|
|
45
|
-
netbox_dns/filtersets/zone_template.py,sha256=
|
|
45
|
+
netbox_dns/filtersets/zone.py,sha256=DKSQitUGElcxmuOr6uxy5GOliZEnMLT22GKShuM9xvM,7602
|
|
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=
|
|
48
|
-
netbox_dns/forms/dnssec_policy.py,sha256=
|
|
49
|
-
netbox_dns/forms/nameserver.py,sha256=
|
|
48
|
+
netbox_dns/forms/dnssec_key_template.py,sha256=BChWsbShkm72tnZGh5ClStN6SG-XPMAeMeu7mQzoCDk,5249
|
|
49
|
+
netbox_dns/forms/dnssec_policy.py,sha256=mZWfyV2WD03oHBUcgUEAiXswsydAxyP5-iLgNe2MGXE,17040
|
|
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=
|
|
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=
|
|
56
|
-
netbox_dns/forms/zone_template.py,sha256=
|
|
56
|
+
netbox_dns/forms/zone.py,sha256=_9SVCaK3QaYiQ5FLbeqfxSIGpGcWcVxlvUKCp58ryFU,30041
|
|
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=
|
|
61
|
-
netbox_dns/locale/de/LC_MESSAGES/django.mo,sha256=
|
|
61
|
+
netbox_dns/graphql/types.py,sha256=119sdeUAFIII85LZluBTKeZDEH5pnQ3JSYwUJOUVkAk,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=
|
|
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,7 +85,10 @@ 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
|
|
91
|
+
netbox_dns/migrations/0020_remove_dnssecpolicy_parental_agents_and_more.py,sha256=Fq2Tv-yz4TAY0yzyVs6j79ztIJa1wOm5oSdbPosYdh0,756
|
|
88
92
|
netbox_dns/migrations/0021_record_ip_address.py,sha256=EqdhWXmq7aiK4X79xTRUZng3zFncCl-8JoO65HqlJKw,3244
|
|
89
93
|
netbox_dns/migrations/0022_search.py,sha256=KW1ffEZ4-0dppGQ_KD1EN7iw8eQJOnDco-xfJFRZqKQ,172
|
|
90
94
|
netbox_dns/migrations/0023_alter_record_value.py,sha256=4_4v8YZzU8_jadJqIUUjH6SIhNTeALWhclozTqYDmv0,378
|
|
@@ -101,13 +105,13 @@ netbox_dns/models/__init__.py,sha256=CuwFENIVUv0FNMDlY18Am-mvN5kBGkPOGavCP0cle7c
|
|
|
101
105
|
netbox_dns/models/dnssec_key_template.py,sha256=h6YniKfLx1ILAbvko6Mps-bhsI743uHIOiLgtfStZTI,2790
|
|
102
106
|
netbox_dns/models/dnssec_policy.py,sha256=eD13F_zTUgpP8fNGg0FssMNBUtpBRvkJiM6ZSYh1Pws,5466
|
|
103
107
|
netbox_dns/models/nameserver.py,sha256=ivZpIVfgQLdDhrtqYPi-zRbygVgl3aff2FMsq1M3qA8,4044
|
|
104
|
-
netbox_dns/models/record.py,sha256=
|
|
108
|
+
netbox_dns/models/record.py,sha256=GAl4JQCGX5Ip_R4zAQ-ZA-2Kn-Pr7zBmSgFCGsfbM5M,29806
|
|
105
109
|
netbox_dns/models/record_template.py,sha256=kt-_sMFSMKmuKU8voVqz1-Lh7Wi7lPcA2ExPFQYLoxM,5345
|
|
106
110
|
netbox_dns/models/registrar.py,sha256=L5tbO8rtOa0VCs_y90nHYLKSRKBnnUhh_6sxZ3Mm2kk,1942
|
|
107
111
|
netbox_dns/models/registration_contact.py,sha256=O7T1clUjuilZnDjvhJKaHZdmNEF4aLg2h8K5p4llWOs,3825
|
|
108
112
|
netbox_dns/models/view.py,sha256=gQvKNr_FmhG2EMz2T8kWbdK4b8CyqI-Qc67-Dgrx2SI,4808
|
|
109
|
-
netbox_dns/models/zone.py,sha256=
|
|
110
|
-
netbox_dns/models/zone_template.py,sha256
|
|
113
|
+
netbox_dns/models/zone.py,sha256=eXOF4okhoEuacegAmjhf_xKnugjOAFOgxc_262rLH9I,35803
|
|
114
|
+
netbox_dns/models/zone_template.py,sha256=TpM4LNBStwoyHXkvMGa8zUdBp28ZnauolkbFntt9hPk,5249
|
|
111
115
|
netbox_dns/signals/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
112
116
|
netbox_dns/signals/dnssec.py,sha256=o4MOEg6ftxoDWFAhDtajkXzb7Nb6KuUHjtx1zNu7C1w,1040
|
|
113
117
|
netbox_dns/signals/ipam_dnssync.py,sha256=1zhlf4cMcJLlFosX7YzyqVYdFFHV4MFwTz5KCdL8xQc,7730
|
|
@@ -121,7 +125,7 @@ netbox_dns/tables/record_template.py,sha256=HJEOK3VYVCKWhExs775Nb4KAvHPE7IqQEzne
|
|
|
121
125
|
netbox_dns/tables/registrar.py,sha256=XQtJj0c4O4gpCdUp903GSD0tIuARmJw13Nwosw9pTFU,727
|
|
122
126
|
netbox_dns/tables/registration_contact.py,sha256=n_FKE90j6KNgPKRVq1WXg4vnOzFE238oXsi_NYVAU9M,931
|
|
123
127
|
netbox_dns/tables/view.py,sha256=gsuWQWAk3RstNIKzBDOHNHR2D3ykX6WigYLMj0VhQFs,1148
|
|
124
|
-
netbox_dns/tables/zone.py,sha256=
|
|
128
|
+
netbox_dns/tables/zone.py,sha256=TEQcSiuCuWpVtDnPa9oh-IDfrap-Plfi4qK40bGeDzA,2432
|
|
125
129
|
netbox_dns/tables/zone_template.py,sha256=TU45sNYPHxs1xJTKj57e1s-jxLENCOAgE6S6lconWMc,1751
|
|
126
130
|
netbox_dns/templates/netbox_dns/dnsseckeytemplate.html,sha256=dSEyHgUp0k_5JSdR4s4m_7Rom67TqvRIQN0zbQKYfjE,2839
|
|
127
131
|
netbox_dns/templates/netbox_dns/dnssecpolicy.html,sha256=dXHAt8ISsSWv-vK_kaJMcAzUBh4TZ2hAmeaYa47u0PU,7694
|
|
@@ -131,7 +135,7 @@ netbox_dns/templates/netbox_dns/recordtemplate.html,sha256=a29PAUl-KI_I1lxWpVdPp
|
|
|
131
135
|
netbox_dns/templates/netbox_dns/registrar.html,sha256=4kJuj3biiDxQrIMQEQUEmF4iGRE4psr6Fh0CBP1evz8,2308
|
|
132
136
|
netbox_dns/templates/netbox_dns/registrationcontact.html,sha256=sljVp_MrPSJRc2vJCPFXq9MiWOw4wjbr1kI_YStBntw,3094
|
|
133
137
|
netbox_dns/templates/netbox_dns/view.html,sha256=1MuzOYNQezRrryNjlklgxErjGTFoVnwqcxf4qceuglw,3320
|
|
134
|
-
netbox_dns/templates/netbox_dns/zone.html,sha256=
|
|
138
|
+
netbox_dns/templates/netbox_dns/zone.html,sha256=3G80d3_oJM8LfLZNBGR2mO_UHadGK4Glr1sk5MO92dA,7997
|
|
135
139
|
netbox_dns/templates/netbox_dns/zonetemplate.html,sha256=a3QD0O_8CW2MUBnU_nXGweGhCwo5pYDVlwJHzovC1RU,4344
|
|
136
140
|
netbox_dns/templates/netbox_dns/record/managed.html,sha256=uwpxQTxyfAXkWqThLT-T2ZssKNUhXTDDMnLWJSVuDNU,119
|
|
137
141
|
netbox_dns/templates/netbox_dns/record/related.html,sha256=R59aPhE4CyIZtTH0ncwDyS6_wAe_Y-oZjuN_j4qk8iA,1158
|
|
@@ -144,18 +148,18 @@ netbox_dns/templates/netbox_dns/zone/child_zone.html,sha256=b9CSGWEfWT7hLQ80gApM
|
|
|
144
148
|
netbox_dns/templates/netbox_dns/zone/delegation_record.html,sha256=bpJoyEYb5CVCoeH2260KMwwL6pUJxKA-Dt0qUruBEdk,517
|
|
145
149
|
netbox_dns/templates/netbox_dns/zone/managed_record.html,sha256=LOchMAJyfMZIICE6q0pX1eorRbtgUtOQ1u0VvJKCDZ8,514
|
|
146
150
|
netbox_dns/templates/netbox_dns/zone/record.html,sha256=Y_gg9EUIqjSYxmIZKufAK8jyg9A54J-BoewNxUBoO1Y,2238
|
|
147
|
-
netbox_dns/templates/netbox_dns/zone/registration.html,sha256=
|
|
151
|
+
netbox_dns/templates/netbox_dns/zone/registration.html,sha256=jbgKoMVG8YNNXTBDEclUCxfj4KbV05C250jt6x6n9cc,2069
|
|
148
152
|
netbox_dns/templates/netbox_dns/zone/rfc2317_child_zone.html,sha256=rWlmb3zRQbLYQ_1dsa0twwu6y1dRj2tfFVEERH07p-s,517
|
|
149
153
|
netbox_dns/templates/netbox_dns/zonetemplate/child.html,sha256=S8BMNOZkfs8SM_4yfKR8_RnQXG47FHCe7rf2quDTc_Y,2247
|
|
150
154
|
netbox_dns/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
151
155
|
netbox_dns/templatetags/netbox_dns.py,sha256=DND1DMPzv636Rak3M6Hor_Vw6pjqUfSTquofIw4dIsA,223
|
|
152
156
|
netbox_dns/utilities/__init__.py,sha256=cSGf-nGaRWx9b-Xrh3dLMJYoWNsZ6FF-qdmV4F1uOgg,74
|
|
153
|
-
netbox_dns/utilities/conversions.py,sha256=
|
|
157
|
+
netbox_dns/utilities/conversions.py,sha256=qYnzecmR28l8Je_H0vFvzJ2sikTiEiyxr6drl_aRocg,3016
|
|
154
158
|
netbox_dns/utilities/dns.py,sha256=UBiyQe8thiOTnKOmU9e2iRHHnGF9toVLe4efU623kX4,322
|
|
155
159
|
netbox_dns/utilities/ipam_dnssync.py,sha256=_yuHoah_QN-opsZB51yGCkwjkij7nrmTgKHUZ-bQrBI,9625
|
|
156
160
|
netbox_dns/validators/__init__.py,sha256=X0hPZlC3VZcXMcvXKZ2_5LSoEJdXPNSBr4QtEIFSBJ0,94
|
|
157
161
|
netbox_dns/validators/dns_name.py,sha256=Sil68Av49jfZPzgFMV_1qEcLnuuAWXmbxfAJPDXUsGg,3766
|
|
158
|
-
netbox_dns/validators/dns_value.py,sha256
|
|
162
|
+
netbox_dns/validators/dns_value.py,sha256=cADhgTohXAtOLPzaoMKO9DahEUiDanpdiuKonrwFw0E,5278
|
|
159
163
|
netbox_dns/validators/dnssec.py,sha256=FzWLXX3qwS9ZMaLWHaBJStwJ_D96wp7GI4LYoKjoegc,4909
|
|
160
164
|
netbox_dns/validators/rfc2317.py,sha256=uKkwxpakiFFKdYA0qy8WSlEnbFwJD4MDw6gGV4F6skg,706
|
|
161
165
|
netbox_dns/views/__init__.py,sha256=tObkTOHw_6kVtEcwdyshN0Ql-8VGhwsgQw7owL_s2lI,273
|
|
@@ -167,10 +171,10 @@ netbox_dns/views/record_template.py,sha256=CbSyckBvyEvcZCeZgK3q0fJsa1_5HbwUflh_i
|
|
|
167
171
|
netbox_dns/views/registrar.py,sha256=Um_2wnzmP2bqbdMUhBPhny2My0R8fMXScQ9GLiTCrvg,2808
|
|
168
172
|
netbox_dns/views/registration_contact.py,sha256=c9KrNkfFNsb55pL74A5rN1CNx32M82V6mdwBYduNxas,3596
|
|
169
173
|
netbox_dns/views/view.py,sha256=VfrKaLC9D_KNZNmRyFVohRlmMlMbtblAuPgNg0LNyf8,3421
|
|
170
|
-
netbox_dns/views/zone.py,sha256=
|
|
174
|
+
netbox_dns/views/zone.py,sha256=DU_esPOMHGMRQIgy5vS8miZe-FNozBcIyMLZPwZK4_c,7453
|
|
171
175
|
netbox_dns/views/zone_template.py,sha256=IIW1lr6RQmhShtqJu6A6LnHdxdBrkkZQHxIDSTqQeyc,2705
|
|
172
|
-
netbox_plugin_dns-1.2.
|
|
173
|
-
netbox_plugin_dns-1.2.
|
|
174
|
-
netbox_plugin_dns-1.2.
|
|
175
|
-
netbox_plugin_dns-1.2.
|
|
176
|
-
netbox_plugin_dns-1.2.
|
|
176
|
+
netbox_plugin_dns-1.2.9.dist-info/licenses/LICENSE,sha256=I3tDu11bZfhFm3EkV4zOD5TmWgLjnUNLEFwrdjniZYs,1112
|
|
177
|
+
netbox_plugin_dns-1.2.9.dist-info/METADATA,sha256=2w92TT49ir7a8ySmQ9TcgjJqbxOLScKqMMsa6l-c1W4,7658
|
|
178
|
+
netbox_plugin_dns-1.2.9.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
|
|
179
|
+
netbox_plugin_dns-1.2.9.dist-info/top_level.txt,sha256=sA1Rwl1mRKvMC6XHe2ylZ1GF-Q1NGd08XedK9Y4xZc4,11
|
|
180
|
+
netbox_plugin_dns-1.2.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|