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.
- 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 +14 -0
- netbox_dns/api/serializers_/record.py +2 -0
- netbox_dns/api/serializers_/record_template.py +2 -0
- netbox_dns/api/serializers_/zone.py +10 -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 +28 -6
- netbox_dns/filtersets/zone.py +7 -2
- netbox_dns/filtersets/zone_template.py +2 -2
- netbox_dns/forms/dnssec_key_template.py +3 -2
- netbox_dns/forms/dnssec_policy.py +59 -37
- netbox_dns/forms/nameserver.py +2 -0
- netbox_dns/forms/record_template.py +1 -0
- netbox_dns/forms/zone.py +78 -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/models/dnssec_policy.py +9 -0
- netbox_dns/models/record.py +4 -1
- netbox_dns/models/zone.py +65 -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/dnssecpolicy.html +10 -0
- netbox_dns/templates/netbox_dns/zone/registration.html +19 -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.8.dist-info}/METADATA +4 -3
- {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.8.dist-info}/RECORD +45 -42
- {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.8.dist-info}/WHEEL +1 -1
- {netbox_plugin_dns-1.2.7b3.dist-info → netbox_plugin_dns-1.2.8.dist-info/licenses}/LICENSE +0 -0
- {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"),
|
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
|
|
@@ -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
|
|
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)
|
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: (
|
|
@@ -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.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: netbox-plugin-dns
|
|
3
|
-
Version: 1.2.
|
|
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 ::
|
|
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=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=
|
|
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=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=
|
|
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=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=
|
|
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=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=
|
|
45
|
-
netbox_dns/filtersets/zone_template.py,sha256=
|
|
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=
|
|
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=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=
|
|
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=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=
|
|
61
|
-
netbox_dns/locale/de/LC_MESSAGES/django.mo,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
110
|
-
netbox_dns/models/zone_template.py,sha256
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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
|
|
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=
|
|
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.
|
|
173
|
-
netbox_plugin_dns-1.2.
|
|
174
|
-
netbox_plugin_dns-1.2.
|
|
175
|
-
netbox_plugin_dns-1.2.
|
|
176
|
-
netbox_plugin_dns-1.2.
|
|
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,,
|
|
File without changes
|
|
File without changes
|