netbox-plugin-dns 1.3b1__py3-none-any.whl → 1.3.1__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 +3 -2
- netbox_dns/api/nested_serializers.py +54 -49
- netbox_dns/api/serializers_/dnssec_key_template.py +22 -13
- netbox_dns/api/serializers_/dnssec_policy.py +89 -40
- netbox_dns/api/serializers_/nameserver.py +25 -13
- netbox_dns/api/serializers_/record.py +46 -38
- netbox_dns/api/serializers_/record_template.py +21 -12
- netbox_dns/api/serializers_/registrar.py +14 -5
- netbox_dns/api/serializers_/registration_contact.py +13 -5
- netbox_dns/api/serializers_/view.py +28 -19
- netbox_dns/api/serializers_/zone.py +87 -62
- netbox_dns/api/serializers_/zone_template.py +40 -34
- netbox_dns/choices/dnssec_key_template.py +4 -0
- netbox_dns/choices/record.py +4 -2
- netbox_dns/filtersets/dnssec_key_template.py +10 -4
- netbox_dns/filtersets/dnssec_policy.py +2 -0
- netbox_dns/filtersets/nameserver.py +9 -4
- netbox_dns/filtersets/record.py +16 -15
- netbox_dns/filtersets/record_template.py +13 -12
- netbox_dns/filtersets/registrar.py +1 -0
- netbox_dns/filtersets/registration_contact.py +1 -0
- netbox_dns/filtersets/view.py +10 -4
- netbox_dns/filtersets/zone.py +39 -20
- netbox_dns/filtersets/zone_template.py +10 -9
- netbox_dns/forms/dnssec_key_template.py +97 -46
- netbox_dns/forms/dnssec_policy.py +124 -105
- netbox_dns/forms/nameserver.py +71 -36
- netbox_dns/forms/record.py +96 -78
- netbox_dns/forms/record_template.py +87 -59
- netbox_dns/forms/registrar.py +55 -39
- netbox_dns/forms/registration_contact.py +64 -41
- netbox_dns/forms/view.py +98 -51
- netbox_dns/forms/zone.py +273 -243
- netbox_dns/forms/zone_template.py +151 -101
- netbox_dns/graphql/types.py +3 -3
- netbox_dns/locale/de/LC_MESSAGES/django.mo +0 -0
- netbox_dns/locale/fr/LC_MESSAGES/django.mo +0 -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/migrations/0021_alter_record_ptr_record.py +25 -0
- netbox_dns/models/dnssec_key_template.py +24 -22
- netbox_dns/models/dnssec_policy.py +17 -16
- netbox_dns/models/nameserver.py +26 -25
- netbox_dns/models/record.py +117 -61
- netbox_dns/models/record_template.py +30 -29
- netbox_dns/models/registrar.py +13 -12
- netbox_dns/models/registration_contact.py +33 -32
- netbox_dns/models/view.py +16 -15
- netbox_dns/models/zone.py +88 -57
- netbox_dns/models/zone_template.py +35 -34
- netbox_dns/tables/dnssec_key_template.py +13 -12
- netbox_dns/tables/dnssec_policy.py +18 -15
- netbox_dns/tables/nameserver.py +10 -8
- netbox_dns/tables/record.py +55 -34
- netbox_dns/tables/record_template.py +21 -17
- netbox_dns/tables/registrar.py +15 -9
- netbox_dns/tables/registration_contact.py +15 -9
- netbox_dns/tables/view.py +25 -12
- netbox_dns/tables/zone.py +23 -21
- netbox_dns/tables/zone_template.py +17 -13
- netbox_dns/template_content.py +13 -2
- netbox_dns/templates/netbox_dns/record.html +13 -11
- netbox_dns/templates/netbox_dns/zone.html +10 -0
- netbox_dns/validators/dns_name.py +1 -1
- netbox_dns/views/dnssec_key_template.py +3 -3
- netbox_dns/views/record.py +19 -3
- netbox_dns/views/record_template.py +3 -1
- netbox_dns/views/zone_template.py +5 -3
- {netbox_plugin_dns-1.3b1.dist-info → netbox_plugin_dns-1.3.1.dist-info}/METADATA +3 -2
- {netbox_plugin_dns-1.3b1.dist-info → netbox_plugin_dns-1.3.1.dist-info}/RECORD +73 -70
- {netbox_plugin_dns-1.3b1.dist-info → netbox_plugin_dns-1.3.1.dist-info}/WHEEL +1 -1
- {netbox_plugin_dns-1.3b1.dist-info → netbox_plugin_dns-1.3.1.dist-info}/licenses/LICENSE +0 -0
- {netbox_plugin_dns-1.3b1.dist-info → netbox_plugin_dns-1.3.1.dist-info}/top_level.txt +0 -0
netbox_dns/__init__.py
CHANGED
|
@@ -4,7 +4,7 @@ from django.core.exceptions import ImproperlyConfigured
|
|
|
4
4
|
from netbox.plugins import PluginConfig
|
|
5
5
|
from netbox.plugins.utils import get_plugin_config
|
|
6
6
|
|
|
7
|
-
__version__ = "1.3
|
|
7
|
+
__version__ = "1.3.1"
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def _check_list(setting):
|
|
@@ -16,7 +16,7 @@ class DNSConfig(PluginConfig):
|
|
|
16
16
|
name = "netbox_dns"
|
|
17
17
|
verbose_name = _("NetBox DNS")
|
|
18
18
|
description = _("NetBox plugin for DNS data")
|
|
19
|
-
min_version = "4.
|
|
19
|
+
min_version = "4.3.0"
|
|
20
20
|
version = __version__
|
|
21
21
|
author = "Peter Eckel"
|
|
22
22
|
author_email = "pete@netbox-dns.org"
|
|
@@ -72,6 +72,7 @@ class DNSConfig(PluginConfig):
|
|
|
72
72
|
"RRSIG",
|
|
73
73
|
],
|
|
74
74
|
"filter_record_types+": [],
|
|
75
|
+
"filter_record_types-": [],
|
|
75
76
|
"custom_record_types": [],
|
|
76
77
|
"record_active_status": ["active"],
|
|
77
78
|
"dnssync_disabled": False,
|
|
@@ -17,19 +17,19 @@ __all__ = (
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class NestedZoneSerializer(WritableNestedSerializer):
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
# Workaround for the problem that the serializer does not return the
|
|
23
|
-
# annotation "active" when called with "many=False". See issue
|
|
24
|
-
# https://github.com/peteeckel/netbox-plugin-dns/issues/132
|
|
25
|
-
#
|
|
26
|
-
# TODO: Investigate root cause, probably in DRF.
|
|
27
|
-
# -
|
|
28
|
-
representation = super().to_representation(instance)
|
|
29
|
-
if representation.get("active") is None:
|
|
30
|
-
representation["active"] = instance.is_active
|
|
20
|
+
class Meta:
|
|
21
|
+
model = Zone
|
|
31
22
|
|
|
32
|
-
|
|
23
|
+
fields = (
|
|
24
|
+
"id",
|
|
25
|
+
"url",
|
|
26
|
+
"display",
|
|
27
|
+
"name",
|
|
28
|
+
"view",
|
|
29
|
+
"status",
|
|
30
|
+
"active",
|
|
31
|
+
"rfc2317_prefix",
|
|
32
|
+
)
|
|
33
33
|
|
|
34
34
|
url = serializers.HyperlinkedIdentityField(
|
|
35
35
|
view_name="plugins-api:netbox_dns-api:zone-detail"
|
|
@@ -47,27 +47,25 @@ class NestedZoneSerializer(WritableNestedSerializer):
|
|
|
47
47
|
allow_null=True,
|
|
48
48
|
)
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
"
|
|
61
|
-
]
|
|
50
|
+
def to_representation(self, instance):
|
|
51
|
+
# +
|
|
52
|
+
# Workaround for the problem that the serializer does not return the
|
|
53
|
+
# annotation "active" when called with "many=False". See issue
|
|
54
|
+
# https://github.com/peteeckel/netbox-plugin-dns/issues/132
|
|
55
|
+
#
|
|
56
|
+
# TODO: Investigate root cause, probably in DRF.
|
|
57
|
+
# -
|
|
58
|
+
representation = super().to_representation(instance)
|
|
59
|
+
if representation.get("active") is None:
|
|
60
|
+
representation["active"] = instance.is_active
|
|
62
61
|
|
|
62
|
+
return representation
|
|
63
63
|
|
|
64
|
-
class NestedZoneTemplateSerializer(WritableNestedSerializer):
|
|
65
|
-
url = serializers.HyperlinkedIdentityField(
|
|
66
|
-
view_name="plugins-api:netbox_dns-api:zonetemplate-detail"
|
|
67
|
-
)
|
|
68
64
|
|
|
65
|
+
class NestedZoneTemplateSerializer(WritableNestedSerializer):
|
|
69
66
|
class Meta:
|
|
70
67
|
model = ZoneTemplate
|
|
68
|
+
|
|
71
69
|
fields = (
|
|
72
70
|
"id",
|
|
73
71
|
"url",
|
|
@@ -76,25 +74,16 @@ class NestedZoneTemplateSerializer(WritableNestedSerializer):
|
|
|
76
74
|
"description",
|
|
77
75
|
)
|
|
78
76
|
|
|
79
|
-
|
|
80
|
-
class NestedRecordSerializer(WritableNestedSerializer):
|
|
81
77
|
url = serializers.HyperlinkedIdentityField(
|
|
82
|
-
view_name="plugins-api:netbox_dns-api:
|
|
83
|
-
)
|
|
84
|
-
zone = NestedZoneSerializer(
|
|
85
|
-
many=False,
|
|
86
|
-
required=False,
|
|
87
|
-
help_text=_("Zone the record belongs to"),
|
|
88
|
-
)
|
|
89
|
-
active = serializers.BooleanField(
|
|
90
|
-
required=False,
|
|
91
|
-
read_only=True,
|
|
92
|
-
allow_null=True,
|
|
78
|
+
view_name="plugins-api:netbox_dns-api:zonetemplate-detail"
|
|
93
79
|
)
|
|
94
80
|
|
|
81
|
+
|
|
82
|
+
class NestedRecordSerializer(WritableNestedSerializer):
|
|
95
83
|
class Meta:
|
|
96
84
|
model = Record
|
|
97
|
-
|
|
85
|
+
|
|
86
|
+
fields = (
|
|
98
87
|
"id",
|
|
99
88
|
"url",
|
|
100
89
|
"display",
|
|
@@ -106,16 +95,27 @@ class NestedRecordSerializer(WritableNestedSerializer):
|
|
|
106
95
|
"zone",
|
|
107
96
|
"managed",
|
|
108
97
|
"active",
|
|
109
|
-
|
|
110
|
-
|
|
98
|
+
)
|
|
111
99
|
|
|
112
|
-
class NestedRecordTemplateSerializer(WritableNestedSerializer):
|
|
113
100
|
url = serializers.HyperlinkedIdentityField(
|
|
114
|
-
view_name="plugins-api:netbox_dns-api:
|
|
101
|
+
view_name="plugins-api:netbox_dns-api:record-detail"
|
|
115
102
|
)
|
|
103
|
+
zone = NestedZoneSerializer(
|
|
104
|
+
many=False,
|
|
105
|
+
required=False,
|
|
106
|
+
help_text=_("Zone the record belongs to"),
|
|
107
|
+
)
|
|
108
|
+
active = serializers.BooleanField(
|
|
109
|
+
required=False,
|
|
110
|
+
read_only=True,
|
|
111
|
+
allow_null=True,
|
|
112
|
+
)
|
|
113
|
+
|
|
116
114
|
|
|
115
|
+
class NestedRecordTemplateSerializer(WritableNestedSerializer):
|
|
117
116
|
class Meta:
|
|
118
117
|
model = RecordTemplate
|
|
118
|
+
|
|
119
119
|
fields = (
|
|
120
120
|
"id",
|
|
121
121
|
"url",
|
|
@@ -129,14 +129,15 @@ class NestedRecordTemplateSerializer(WritableNestedSerializer):
|
|
|
129
129
|
"description",
|
|
130
130
|
)
|
|
131
131
|
|
|
132
|
-
|
|
133
|
-
class NestedDNSSECPolicySerializer(WritableNestedSerializer):
|
|
134
132
|
url = serializers.HyperlinkedIdentityField(
|
|
135
|
-
view_name="plugins-api:netbox_dns-api:
|
|
133
|
+
view_name="plugins-api:netbox_dns-api:recordtemplate-detail"
|
|
136
134
|
)
|
|
137
135
|
|
|
136
|
+
|
|
137
|
+
class NestedDNSSECPolicySerializer(WritableNestedSerializer):
|
|
138
138
|
class Meta:
|
|
139
139
|
model = DNSSECPolicy
|
|
140
|
+
|
|
140
141
|
fields = (
|
|
141
142
|
"id",
|
|
142
143
|
"url",
|
|
@@ -145,3 +146,7 @@ class NestedDNSSECPolicySerializer(WritableNestedSerializer):
|
|
|
145
146
|
"description",
|
|
146
147
|
"status",
|
|
147
148
|
)
|
|
149
|
+
|
|
150
|
+
url = serializers.HyperlinkedIdentityField(
|
|
151
|
+
view_name="plugins-api:netbox_dns-api:dnssecpolicy-detail"
|
|
152
|
+
)
|
|
@@ -14,21 +14,9 @@ __all__ = ("DNSSECKeyTemplateSerializer",)
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class DNSSECKeyTemplateSerializer(NetBoxModelSerializer):
|
|
17
|
-
url = serializers.HyperlinkedIdentityField(
|
|
18
|
-
view_name="plugins-api:netbox_dns-api:dnsseckeytemplate-detail"
|
|
19
|
-
)
|
|
20
|
-
lifetime = TimePeriodField(required=False, allow_null=True)
|
|
21
|
-
policies = NestedDNSSECPolicySerializer(
|
|
22
|
-
many=True,
|
|
23
|
-
read_only=True,
|
|
24
|
-
required=False,
|
|
25
|
-
default=None,
|
|
26
|
-
help_text=_("Policies using this Key Template"),
|
|
27
|
-
)
|
|
28
|
-
tenant = TenantSerializer(required=False, allow_null=True)
|
|
29
|
-
|
|
30
17
|
class Meta:
|
|
31
18
|
model = DNSSECKeyTemplate
|
|
19
|
+
|
|
32
20
|
fields = (
|
|
33
21
|
"id",
|
|
34
22
|
"url",
|
|
@@ -46,6 +34,7 @@ class DNSSECKeyTemplateSerializer(NetBoxModelSerializer):
|
|
|
46
34
|
"custom_fields",
|
|
47
35
|
"tenant",
|
|
48
36
|
)
|
|
37
|
+
|
|
49
38
|
brief_fields = (
|
|
50
39
|
"id",
|
|
51
40
|
"url",
|
|
@@ -57,3 +46,23 @@ class DNSSECKeyTemplateSerializer(NetBoxModelSerializer):
|
|
|
57
46
|
"key_size",
|
|
58
47
|
"description",
|
|
59
48
|
)
|
|
49
|
+
|
|
50
|
+
url = serializers.HyperlinkedIdentityField(
|
|
51
|
+
view_name="plugins-api:netbox_dns-api:dnsseckeytemplate-detail"
|
|
52
|
+
)
|
|
53
|
+
lifetime = TimePeriodField(
|
|
54
|
+
required=False,
|
|
55
|
+
allow_null=True,
|
|
56
|
+
)
|
|
57
|
+
policies = NestedDNSSECPolicySerializer(
|
|
58
|
+
many=True,
|
|
59
|
+
read_only=True,
|
|
60
|
+
required=False,
|
|
61
|
+
default=None,
|
|
62
|
+
help_text=_("Policies using this Key Template"),
|
|
63
|
+
)
|
|
64
|
+
tenant = TenantSerializer(
|
|
65
|
+
nested=True,
|
|
66
|
+
required=False,
|
|
67
|
+
allow_null=True,
|
|
68
|
+
)
|
|
@@ -15,47 +15,9 @@ __all__ = ("DNSSECPolicySerializer",)
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class DNSSECPolicySerializer(NetBoxModelSerializer):
|
|
18
|
-
url = serializers.HyperlinkedIdentityField(
|
|
19
|
-
view_name="plugins-api:netbox_dns-api:dnssecpolicy-detail"
|
|
20
|
-
)
|
|
21
|
-
key_templates = DNSSECKeyTemplateSerializer(
|
|
22
|
-
nested=True,
|
|
23
|
-
many=True,
|
|
24
|
-
read_only=False,
|
|
25
|
-
required=False,
|
|
26
|
-
default=None,
|
|
27
|
-
help_text=_("Key templates assigned to the policy"),
|
|
28
|
-
)
|
|
29
|
-
dnskey_ttl = TimePeriodField(required=False, allow_null=True)
|
|
30
|
-
purge_keys = TimePeriodField(required=False, allow_null=True)
|
|
31
|
-
publish_safety = TimePeriodField(required=False, allow_null=True)
|
|
32
|
-
retire_safety = TimePeriodField(required=False, allow_null=True)
|
|
33
|
-
signatures_jitter = TimePeriodField(required=False, allow_null=True)
|
|
34
|
-
signatures_refresh = TimePeriodField(required=False, allow_null=True)
|
|
35
|
-
signatures_validity = TimePeriodField(required=False, allow_null=True)
|
|
36
|
-
signatures_validity_dnskey = TimePeriodField(required=False, allow_null=True)
|
|
37
|
-
max_zone_ttl = TimePeriodField(required=False, allow_null=True)
|
|
38
|
-
zone_propagation_delay = TimePeriodField(required=False, allow_null=True)
|
|
39
|
-
parent_ds_ttl = TimePeriodField(required=False, allow_null=True)
|
|
40
|
-
parent_propagation_delay = TimePeriodField(required=False, allow_null=True)
|
|
41
|
-
zones = NestedZoneSerializer(
|
|
42
|
-
many=True,
|
|
43
|
-
read_only=True,
|
|
44
|
-
required=False,
|
|
45
|
-
default=None,
|
|
46
|
-
help_text=_("Zones this policy is assigned to"),
|
|
47
|
-
)
|
|
48
|
-
zone_templates = NestedZoneTemplateSerializer(
|
|
49
|
-
many=True,
|
|
50
|
-
read_only=True,
|
|
51
|
-
required=False,
|
|
52
|
-
default=None,
|
|
53
|
-
help_text=_("Zone templates this policy is assigned to"),
|
|
54
|
-
)
|
|
55
|
-
tenant = TenantSerializer(required=False, allow_null=True)
|
|
56
|
-
|
|
57
18
|
class Meta:
|
|
58
19
|
model = DNSSECPolicy
|
|
20
|
+
|
|
59
21
|
fields = (
|
|
60
22
|
"id",
|
|
61
23
|
"url",
|
|
@@ -90,7 +52,94 @@ class DNSSECPolicySerializer(NetBoxModelSerializer):
|
|
|
90
52
|
"custom_fields",
|
|
91
53
|
"tenant",
|
|
92
54
|
)
|
|
93
|
-
|
|
55
|
+
|
|
56
|
+
brief_fields = (
|
|
57
|
+
"id",
|
|
58
|
+
"url",
|
|
59
|
+
"display",
|
|
60
|
+
"name",
|
|
61
|
+
"description",
|
|
62
|
+
"status",
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
url = serializers.HyperlinkedIdentityField(
|
|
66
|
+
view_name="plugins-api:netbox_dns-api:dnssecpolicy-detail"
|
|
67
|
+
)
|
|
68
|
+
key_templates = DNSSECKeyTemplateSerializer(
|
|
69
|
+
nested=True,
|
|
70
|
+
many=True,
|
|
71
|
+
read_only=False,
|
|
72
|
+
required=False,
|
|
73
|
+
default=None,
|
|
74
|
+
help_text=_("Key templates assigned to the policy"),
|
|
75
|
+
)
|
|
76
|
+
dnskey_ttl = TimePeriodField(
|
|
77
|
+
required=False,
|
|
78
|
+
allow_null=True,
|
|
79
|
+
)
|
|
80
|
+
purge_keys = TimePeriodField(
|
|
81
|
+
required=False,
|
|
82
|
+
allow_null=True,
|
|
83
|
+
)
|
|
84
|
+
publish_safety = TimePeriodField(
|
|
85
|
+
required=False,
|
|
86
|
+
allow_null=True,
|
|
87
|
+
)
|
|
88
|
+
retire_safety = TimePeriodField(
|
|
89
|
+
required=False,
|
|
90
|
+
allow_null=True,
|
|
91
|
+
)
|
|
92
|
+
signatures_jitter = TimePeriodField(
|
|
93
|
+
required=False,
|
|
94
|
+
allow_null=True,
|
|
95
|
+
)
|
|
96
|
+
signatures_refresh = TimePeriodField(
|
|
97
|
+
required=False,
|
|
98
|
+
allow_null=True,
|
|
99
|
+
)
|
|
100
|
+
signatures_validity = TimePeriodField(
|
|
101
|
+
required=False,
|
|
102
|
+
allow_null=True,
|
|
103
|
+
)
|
|
104
|
+
signatures_validity_dnskey = TimePeriodField(
|
|
105
|
+
required=False,
|
|
106
|
+
allow_null=True,
|
|
107
|
+
)
|
|
108
|
+
max_zone_ttl = TimePeriodField(
|
|
109
|
+
required=False,
|
|
110
|
+
allow_null=True,
|
|
111
|
+
)
|
|
112
|
+
zone_propagation_delay = TimePeriodField(
|
|
113
|
+
required=False,
|
|
114
|
+
allow_null=True,
|
|
115
|
+
)
|
|
116
|
+
parent_ds_ttl = TimePeriodField(
|
|
117
|
+
required=False,
|
|
118
|
+
allow_null=True,
|
|
119
|
+
)
|
|
120
|
+
parent_propagation_delay = TimePeriodField(
|
|
121
|
+
required=False,
|
|
122
|
+
allow_null=True,
|
|
123
|
+
)
|
|
124
|
+
zones = NestedZoneSerializer(
|
|
125
|
+
many=True,
|
|
126
|
+
read_only=True,
|
|
127
|
+
required=False,
|
|
128
|
+
default=None,
|
|
129
|
+
help_text=_("Zones this policy is assigned to"),
|
|
130
|
+
)
|
|
131
|
+
zone_templates = NestedZoneTemplateSerializer(
|
|
132
|
+
many=True,
|
|
133
|
+
read_only=True,
|
|
134
|
+
required=False,
|
|
135
|
+
default=None,
|
|
136
|
+
help_text=_("Zone templates this policy is assigned to"),
|
|
137
|
+
)
|
|
138
|
+
tenant = TenantSerializer(
|
|
139
|
+
nested=True,
|
|
140
|
+
required=False,
|
|
141
|
+
allow_null=True,
|
|
142
|
+
)
|
|
94
143
|
|
|
95
144
|
def create(self, validated_data):
|
|
96
145
|
dnssec_key_templates = validated_data.pop("key_templates", None)
|
|
@@ -13,20 +13,9 @@ __all__ = ("NameServerSerializer",)
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class NameServerSerializer(NetBoxModelSerializer):
|
|
16
|
-
url = serializers.HyperlinkedIdentityField(
|
|
17
|
-
view_name="plugins-api:netbox_dns-api:nameserver-detail"
|
|
18
|
-
)
|
|
19
|
-
zones = NestedZoneSerializer(
|
|
20
|
-
many=True,
|
|
21
|
-
read_only=True,
|
|
22
|
-
required=False,
|
|
23
|
-
default=None,
|
|
24
|
-
help_text=_("Zones served by the authoritative nameserver"),
|
|
25
|
-
)
|
|
26
|
-
tenant = TenantSerializer(required=False, allow_null=True)
|
|
27
|
-
|
|
28
16
|
class Meta:
|
|
29
17
|
model = NameServer
|
|
18
|
+
|
|
30
19
|
fields = (
|
|
31
20
|
"id",
|
|
32
21
|
"url",
|
|
@@ -40,4 +29,27 @@ class NameServerSerializer(NetBoxModelSerializer):
|
|
|
40
29
|
"custom_fields",
|
|
41
30
|
"tenant",
|
|
42
31
|
)
|
|
43
|
-
|
|
32
|
+
|
|
33
|
+
brief_fields = (
|
|
34
|
+
"id",
|
|
35
|
+
"url",
|
|
36
|
+
"display",
|
|
37
|
+
"name",
|
|
38
|
+
"description",
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
url = serializers.HyperlinkedIdentityField(
|
|
42
|
+
view_name="plugins-api:netbox_dns-api:nameserver-detail"
|
|
43
|
+
)
|
|
44
|
+
zones = NestedZoneSerializer(
|
|
45
|
+
many=True,
|
|
46
|
+
read_only=True,
|
|
47
|
+
required=False,
|
|
48
|
+
default=None,
|
|
49
|
+
help_text=_("Zones served by the authoritative nameserver"),
|
|
50
|
+
)
|
|
51
|
+
tenant = TenantSerializer(
|
|
52
|
+
nested=True,
|
|
53
|
+
required=False,
|
|
54
|
+
allow_null=True,
|
|
55
|
+
)
|
|
@@ -15,43 +15,6 @@ __all__ = ("RecordSerializer",)
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class RecordSerializer(NetBoxModelSerializer):
|
|
18
|
-
url = serializers.HyperlinkedIdentityField(
|
|
19
|
-
view_name="plugins-api:netbox_dns-api:record-detail"
|
|
20
|
-
)
|
|
21
|
-
ttl = TimePeriodField(required=False, allow_null=True)
|
|
22
|
-
ptr_record = NestedRecordSerializer(
|
|
23
|
-
many=False,
|
|
24
|
-
read_only=True,
|
|
25
|
-
required=False,
|
|
26
|
-
allow_null=True,
|
|
27
|
-
help_text=_("PTR record generated from an address"),
|
|
28
|
-
)
|
|
29
|
-
address_record = NestedRecordSerializer(
|
|
30
|
-
many=False,
|
|
31
|
-
read_only=True,
|
|
32
|
-
required=False,
|
|
33
|
-
allow_null=True,
|
|
34
|
-
help_text=_("Address record defining the PTR"),
|
|
35
|
-
)
|
|
36
|
-
zone = NestedZoneSerializer(
|
|
37
|
-
many=False,
|
|
38
|
-
required=False,
|
|
39
|
-
help_text=_("Zone the record belongs to"),
|
|
40
|
-
)
|
|
41
|
-
active = serializers.BooleanField(
|
|
42
|
-
required=False,
|
|
43
|
-
read_only=True,
|
|
44
|
-
)
|
|
45
|
-
ipam_ip_address = IPAddressSerializer(
|
|
46
|
-
nested=True,
|
|
47
|
-
many=False,
|
|
48
|
-
read_only=True,
|
|
49
|
-
required=False,
|
|
50
|
-
allow_null=True,
|
|
51
|
-
help_text=_("IPAddress linked to the record"),
|
|
52
|
-
)
|
|
53
|
-
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
|
54
|
-
|
|
55
18
|
class Meta:
|
|
56
19
|
model = Record
|
|
57
20
|
fields = (
|
|
@@ -72,13 +35,14 @@ class RecordSerializer(NetBoxModelSerializer):
|
|
|
72
35
|
"managed",
|
|
73
36
|
"disable_ptr",
|
|
74
37
|
"ptr_record",
|
|
75
|
-
"
|
|
38
|
+
"address_records",
|
|
76
39
|
"active",
|
|
77
40
|
"custom_fields",
|
|
78
41
|
"tenant",
|
|
79
42
|
"ipam_ip_address",
|
|
80
43
|
"absolute_value",
|
|
81
44
|
)
|
|
45
|
+
|
|
82
46
|
brief_fields = (
|
|
83
47
|
"id",
|
|
84
48
|
"url",
|
|
@@ -94,3 +58,47 @@ class RecordSerializer(NetBoxModelSerializer):
|
|
|
94
58
|
"managed",
|
|
95
59
|
"active",
|
|
96
60
|
)
|
|
61
|
+
|
|
62
|
+
url = serializers.HyperlinkedIdentityField(
|
|
63
|
+
view_name="plugins-api:netbox_dns-api:record-detail"
|
|
64
|
+
)
|
|
65
|
+
ttl = TimePeriodField(
|
|
66
|
+
required=False,
|
|
67
|
+
allow_null=True,
|
|
68
|
+
)
|
|
69
|
+
ptr_record = NestedRecordSerializer(
|
|
70
|
+
many=False,
|
|
71
|
+
read_only=True,
|
|
72
|
+
required=False,
|
|
73
|
+
allow_null=True,
|
|
74
|
+
help_text=_("PTR record related to an address"),
|
|
75
|
+
)
|
|
76
|
+
address_records = NestedRecordSerializer(
|
|
77
|
+
many=True,
|
|
78
|
+
read_only=True,
|
|
79
|
+
required=False,
|
|
80
|
+
allow_null=True,
|
|
81
|
+
help_text=_("Address records related to the PTR"),
|
|
82
|
+
)
|
|
83
|
+
zone = NestedZoneSerializer(
|
|
84
|
+
many=False,
|
|
85
|
+
required=False,
|
|
86
|
+
help_text=_("Zone the record belongs to"),
|
|
87
|
+
)
|
|
88
|
+
active = serializers.BooleanField(
|
|
89
|
+
required=False,
|
|
90
|
+
read_only=True,
|
|
91
|
+
)
|
|
92
|
+
ipam_ip_address = IPAddressSerializer(
|
|
93
|
+
nested=True,
|
|
94
|
+
many=False,
|
|
95
|
+
read_only=True,
|
|
96
|
+
required=False,
|
|
97
|
+
allow_null=True,
|
|
98
|
+
help_text=_("IPAddress linked to the record"),
|
|
99
|
+
)
|
|
100
|
+
tenant = TenantSerializer(
|
|
101
|
+
nested=True,
|
|
102
|
+
required=False,
|
|
103
|
+
allow_null=True,
|
|
104
|
+
)
|
|
@@ -14,20 +14,9 @@ __all__ = ("RecordTemplateSerializer",)
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class RecordTemplateSerializer(NetBoxModelSerializer):
|
|
17
|
-
url = serializers.HyperlinkedIdentityField(
|
|
18
|
-
view_name="plugins-api:netbox_dns-api:recordtemplate-detail"
|
|
19
|
-
)
|
|
20
|
-
ttl = TimePeriodField(required=False, allow_null=True)
|
|
21
|
-
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
|
22
|
-
zone_templates = NestedZoneTemplateSerializer(
|
|
23
|
-
many=True,
|
|
24
|
-
read_only=True,
|
|
25
|
-
required=False,
|
|
26
|
-
help_text=_("Zone templates using the record template"),
|
|
27
|
-
)
|
|
28
|
-
|
|
29
17
|
class Meta:
|
|
30
18
|
model = RecordTemplate
|
|
19
|
+
|
|
31
20
|
fields = (
|
|
32
21
|
"id",
|
|
33
22
|
"url",
|
|
@@ -47,6 +36,7 @@ class RecordTemplateSerializer(NetBoxModelSerializer):
|
|
|
47
36
|
"tenant",
|
|
48
37
|
"zone_templates",
|
|
49
38
|
)
|
|
39
|
+
|
|
50
40
|
brief_fields = (
|
|
51
41
|
"id",
|
|
52
42
|
"url",
|
|
@@ -59,3 +49,22 @@ class RecordTemplateSerializer(NetBoxModelSerializer):
|
|
|
59
49
|
"ttl",
|
|
60
50
|
"description",
|
|
61
51
|
)
|
|
52
|
+
|
|
53
|
+
url = serializers.HyperlinkedIdentityField(
|
|
54
|
+
view_name="plugins-api:netbox_dns-api:recordtemplate-detail"
|
|
55
|
+
)
|
|
56
|
+
ttl = TimePeriodField(
|
|
57
|
+
required=False,
|
|
58
|
+
allow_null=True,
|
|
59
|
+
)
|
|
60
|
+
tenant = TenantSerializer(
|
|
61
|
+
nested=True,
|
|
62
|
+
required=False,
|
|
63
|
+
allow_null=True,
|
|
64
|
+
)
|
|
65
|
+
zone_templates = NestedZoneTemplateSerializer(
|
|
66
|
+
many=True,
|
|
67
|
+
read_only=True,
|
|
68
|
+
required=False,
|
|
69
|
+
help_text=_("Zone templates using the record template"),
|
|
70
|
+
)
|
|
@@ -9,12 +9,9 @@ __all__ = ("RegistrarSerializer",)
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class RegistrarSerializer(NetBoxModelSerializer):
|
|
12
|
-
url = serializers.HyperlinkedIdentityField(
|
|
13
|
-
view_name="plugins-api:netbox_dns-api:registrar-detail"
|
|
14
|
-
)
|
|
15
|
-
|
|
16
12
|
class Meta:
|
|
17
13
|
model = Registrar
|
|
14
|
+
|
|
18
15
|
fields = (
|
|
19
16
|
"id",
|
|
20
17
|
"url",
|
|
@@ -31,4 +28,16 @@ class RegistrarSerializer(NetBoxModelSerializer):
|
|
|
31
28
|
"last_updated",
|
|
32
29
|
"custom_fields",
|
|
33
30
|
)
|
|
34
|
-
|
|
31
|
+
|
|
32
|
+
brief_fields = (
|
|
33
|
+
"id",
|
|
34
|
+
"url",
|
|
35
|
+
"display",
|
|
36
|
+
"name",
|
|
37
|
+
"description",
|
|
38
|
+
"iana_id",
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
url = serializers.HyperlinkedIdentityField(
|
|
42
|
+
view_name="plugins-api:netbox_dns-api:registrar-detail"
|
|
43
|
+
)
|
|
@@ -9,12 +9,9 @@ __all__ = ("RegistrationContactSerializer",)
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class RegistrationContactSerializer(NetBoxModelSerializer):
|
|
12
|
-
url = serializers.HyperlinkedIdentityField(
|
|
13
|
-
view_name="plugins-api:netbox_dns-api:registrationcontact-detail"
|
|
14
|
-
)
|
|
15
|
-
|
|
16
12
|
class Meta:
|
|
17
13
|
model = RegistrationContact
|
|
14
|
+
|
|
18
15
|
fields = (
|
|
19
16
|
"id",
|
|
20
17
|
"url",
|
|
@@ -37,4 +34,15 @@ class RegistrationContactSerializer(NetBoxModelSerializer):
|
|
|
37
34
|
"last_updated",
|
|
38
35
|
"custom_fields",
|
|
39
36
|
)
|
|
40
|
-
brief_fields = (
|
|
37
|
+
brief_fields = (
|
|
38
|
+
"id",
|
|
39
|
+
"url",
|
|
40
|
+
"display",
|
|
41
|
+
"name",
|
|
42
|
+
"description",
|
|
43
|
+
"contact_id",
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
url = serializers.HyperlinkedIdentityField(
|
|
47
|
+
view_name="plugins-api:netbox_dns-api:registrationcontact-detail"
|
|
48
|
+
)
|