netbox-plugin-dns 1.2.10__py3-none-any.whl → 1.3.0__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 +2 -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 +45 -37
- 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 -63
- netbox_dns/api/serializers_/zone_template.py +40 -34
- netbox_dns/choices/dnssec_key_template.py +4 -0
- netbox_dns/filtersets/dnssec_key_template.py +10 -4
- netbox_dns/filtersets/dnssec_policy.py +1 -0
- netbox_dns/filtersets/nameserver.py +9 -4
- netbox_dns/filtersets/record.py +14 -13
- 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 +22 -21
- netbox_dns/filtersets/zone_template.py +10 -9
- netbox_dns/forms/dnssec_key_template.py +97 -46
- netbox_dns/forms/dnssec_policy.py +130 -110
- 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 +259 -250
- netbox_dns/forms/zone_template.py +151 -101
- netbox_dns/graphql/enums.py +41 -0
- netbox_dns/graphql/filter_lookups.py +13 -0
- netbox_dns/graphql/filters/__init__.py +12 -0
- netbox_dns/graphql/filters/dnssec_key_template.py +63 -0
- netbox_dns/graphql/filters/dnssec_policy.py +123 -0
- netbox_dns/graphql/filters/nameserver.py +32 -0
- netbox_dns/graphql/filters/record.py +89 -0
- netbox_dns/graphql/filters/record_template.py +55 -0
- netbox_dns/graphql/filters/registrar.py +30 -0
- netbox_dns/graphql/filters/registration_contact.py +27 -0
- netbox_dns/graphql/filters/view.py +28 -0
- netbox_dns/graphql/filters/zone.py +146 -0
- netbox_dns/graphql/filters/zone_template.py +97 -0
- netbox_dns/models/dnssec_key_template.py +24 -27
- netbox_dns/models/dnssec_policy.py +17 -21
- netbox_dns/models/nameserver.py +26 -30
- netbox_dns/models/record.py +42 -46
- netbox_dns/models/record_template.py +30 -34
- netbox_dns/models/registrar.py +13 -17
- netbox_dns/models/registration_contact.py +33 -37
- netbox_dns/models/view.py +16 -20
- netbox_dns/models/zone.py +75 -78
- netbox_dns/models/zone_template.py +35 -39
- 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 +29 -21
- 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 +24 -12
- netbox_dns/tables/zone.py +23 -21
- netbox_dns/tables/zone_template.py +17 -13
- netbox_dns/views/dnssec_key_template.py +0 -9
- netbox_dns/views/dnssec_policy.py +0 -9
- netbox_dns/views/nameserver.py +0 -9
- netbox_dns/views/record.py +0 -9
- netbox_dns/views/record_template.py +0 -3
- netbox_dns/views/registrar.py +0 -3
- netbox_dns/views/registration_contact.py +0 -3
- netbox_dns/views/view.py +0 -9
- netbox_dns/views/zone.py +0 -10
- netbox_dns/views/zone_template.py +0 -4
- {netbox_plugin_dns-1.2.10.dist-info → netbox_plugin_dns-1.3.0.dist-info}/METADATA +4 -2
- {netbox_plugin_dns-1.2.10.dist-info → netbox_plugin_dns-1.3.0.dist-info}/RECORD +81 -69
- netbox_dns/graphql/filters.py +0 -88
- {netbox_plugin_dns-1.2.10.dist-info → netbox_plugin_dns-1.3.0.dist-info}/WHEEL +0 -0
- {netbox_plugin_dns-1.2.10.dist-info → netbox_plugin_dns-1.3.0.dist-info}/licenses/LICENSE +0 -0
- {netbox_plugin_dns-1.2.10.dist-info → netbox_plugin_dns-1.3.0.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
from packaging.version import Version
|
|
2
|
-
|
|
3
1
|
from django import forms
|
|
4
2
|
from django.utils.translation import gettext_lazy as _
|
|
5
3
|
|
|
@@ -9,7 +7,6 @@ from netbox.forms import (
|
|
|
9
7
|
NetBoxModelImportForm,
|
|
10
8
|
NetBoxModelForm,
|
|
11
9
|
)
|
|
12
|
-
from utilities.release import load_release_data
|
|
13
10
|
from utilities.forms.fields import (
|
|
14
11
|
DynamicModelMultipleChoiceField,
|
|
15
12
|
TagFilterField,
|
|
@@ -38,44 +35,8 @@ __all__ = (
|
|
|
38
35
|
"ZoneTemplateBulkEditForm",
|
|
39
36
|
)
|
|
40
37
|
|
|
41
|
-
QUICK_ADD = Version(load_release_data().version) >= Version("4.2.5")
|
|
42
|
-
|
|
43
38
|
|
|
44
39
|
class ZoneTemplateForm(TenancyForm, NetBoxModelForm):
|
|
45
|
-
nameservers = DynamicModelMultipleChoiceField(
|
|
46
|
-
queryset=NameServer.objects.all(),
|
|
47
|
-
required=False,
|
|
48
|
-
quick_add=QUICK_ADD,
|
|
49
|
-
)
|
|
50
|
-
soa_mname = DynamicModelChoiceField(
|
|
51
|
-
queryset=NameServer.objects.all(),
|
|
52
|
-
required=False,
|
|
53
|
-
label=_("MName"),
|
|
54
|
-
quick_add=QUICK_ADD,
|
|
55
|
-
)
|
|
56
|
-
record_templates = DynamicModelMultipleChoiceField(
|
|
57
|
-
queryset=RecordTemplate.objects.all(),
|
|
58
|
-
required=False,
|
|
59
|
-
quick_add=QUICK_ADD,
|
|
60
|
-
)
|
|
61
|
-
|
|
62
|
-
fieldsets = (
|
|
63
|
-
FieldSet("name", "description", "nameservers", name=_("Zone Template")),
|
|
64
|
-
FieldSet("soa_mname", "soa_rname", name=_("SOA")),
|
|
65
|
-
FieldSet("record_templates", name=_("Record Templates")),
|
|
66
|
-
FieldSet("dnssec_policy", name=_("DNSSEC")),
|
|
67
|
-
FieldSet(
|
|
68
|
-
"registrar",
|
|
69
|
-
"registrant",
|
|
70
|
-
"admin_c",
|
|
71
|
-
"tech_c",
|
|
72
|
-
"billing_c",
|
|
73
|
-
name=_("Domain Registration"),
|
|
74
|
-
),
|
|
75
|
-
FieldSet("tenant_group", "tenant", name=_("Tenancy")),
|
|
76
|
-
FieldSet("tags", name=_("Tags")),
|
|
77
|
-
)
|
|
78
|
-
|
|
79
40
|
class Meta:
|
|
80
41
|
model = ZoneTemplate
|
|
81
42
|
|
|
@@ -96,19 +57,96 @@ class ZoneTemplateForm(TenancyForm, NetBoxModelForm):
|
|
|
96
57
|
"tenant",
|
|
97
58
|
"tags",
|
|
98
59
|
)
|
|
60
|
+
|
|
99
61
|
labels = {
|
|
100
62
|
"soa_rname": _("RName"),
|
|
101
63
|
}
|
|
102
64
|
|
|
65
|
+
fieldsets = (
|
|
66
|
+
FieldSet(
|
|
67
|
+
"name",
|
|
68
|
+
"description",
|
|
69
|
+
"nameservers",
|
|
70
|
+
name=_("Zone Template"),
|
|
71
|
+
),
|
|
72
|
+
FieldSet(
|
|
73
|
+
"soa_mname",
|
|
74
|
+
"soa_rname",
|
|
75
|
+
name=_("SOA"),
|
|
76
|
+
),
|
|
77
|
+
FieldSet(
|
|
78
|
+
"record_templates",
|
|
79
|
+
name=_("Record Templates"),
|
|
80
|
+
),
|
|
81
|
+
FieldSet(
|
|
82
|
+
"dnssec_policy",
|
|
83
|
+
name=_("DNSSEC"),
|
|
84
|
+
),
|
|
85
|
+
FieldSet(
|
|
86
|
+
"registrar",
|
|
87
|
+
"registrant",
|
|
88
|
+
"admin_c",
|
|
89
|
+
"tech_c",
|
|
90
|
+
"billing_c",
|
|
91
|
+
name=_("Domain Registration"),
|
|
92
|
+
),
|
|
93
|
+
FieldSet(
|
|
94
|
+
"tenant_group",
|
|
95
|
+
"tenant",
|
|
96
|
+
name=_("Tenancy"),
|
|
97
|
+
),
|
|
98
|
+
FieldSet(
|
|
99
|
+
"tags",
|
|
100
|
+
name=_("Tags"),
|
|
101
|
+
),
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
nameservers = DynamicModelMultipleChoiceField(
|
|
105
|
+
queryset=NameServer.objects.all(),
|
|
106
|
+
required=False,
|
|
107
|
+
quick_add=True,
|
|
108
|
+
)
|
|
109
|
+
soa_mname = DynamicModelChoiceField(
|
|
110
|
+
queryset=NameServer.objects.all(),
|
|
111
|
+
required=False,
|
|
112
|
+
label=_("MName"),
|
|
113
|
+
quick_add=True,
|
|
114
|
+
)
|
|
115
|
+
record_templates = DynamicModelMultipleChoiceField(
|
|
116
|
+
queryset=RecordTemplate.objects.all(),
|
|
117
|
+
required=False,
|
|
118
|
+
quick_add=True,
|
|
119
|
+
)
|
|
120
|
+
|
|
103
121
|
|
|
104
122
|
class ZoneTemplateFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|
105
123
|
model = ZoneTemplate
|
|
124
|
+
|
|
106
125
|
fieldsets = (
|
|
107
|
-
FieldSet(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
126
|
+
FieldSet(
|
|
127
|
+
"q",
|
|
128
|
+
"filter_id",
|
|
129
|
+
"tag",
|
|
130
|
+
),
|
|
131
|
+
FieldSet(
|
|
132
|
+
"name",
|
|
133
|
+
"nameserver_id",
|
|
134
|
+
"description",
|
|
135
|
+
name=_("Attributes"),
|
|
136
|
+
),
|
|
137
|
+
FieldSet(
|
|
138
|
+
"soa_mname_id",
|
|
139
|
+
"soa_rname",
|
|
140
|
+
name=_("SOA"),
|
|
141
|
+
),
|
|
142
|
+
FieldSet(
|
|
143
|
+
"record_template_id",
|
|
144
|
+
name=_("Record Templates"),
|
|
145
|
+
),
|
|
146
|
+
FieldSet(
|
|
147
|
+
"dnssec_policy",
|
|
148
|
+
name=_("DNSSEC"),
|
|
149
|
+
),
|
|
112
150
|
FieldSet(
|
|
113
151
|
"registrar_id",
|
|
114
152
|
"registrant_id",
|
|
@@ -117,7 +155,11 @@ class ZoneTemplateFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|
|
117
155
|
"billing_c_id",
|
|
118
156
|
name=_("Registration"),
|
|
119
157
|
),
|
|
120
|
-
FieldSet(
|
|
158
|
+
FieldSet(
|
|
159
|
+
"tenant_group_id",
|
|
160
|
+
"tenant_id",
|
|
161
|
+
name=_("Tenancy"),
|
|
162
|
+
),
|
|
121
163
|
)
|
|
122
164
|
|
|
123
165
|
name = forms.CharField(
|
|
@@ -189,6 +231,26 @@ class ZoneTemplateFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|
|
189
231
|
|
|
190
232
|
|
|
191
233
|
class ZoneTemplateImportForm(NetBoxModelImportForm):
|
|
234
|
+
class Meta:
|
|
235
|
+
model = ZoneTemplate
|
|
236
|
+
|
|
237
|
+
fields = (
|
|
238
|
+
"name",
|
|
239
|
+
"nameservers",
|
|
240
|
+
"soa_mname",
|
|
241
|
+
"soa_rname",
|
|
242
|
+
"record_templates",
|
|
243
|
+
"dnssec_policy",
|
|
244
|
+
"description",
|
|
245
|
+
"registrar",
|
|
246
|
+
"registrant",
|
|
247
|
+
"admin_c",
|
|
248
|
+
"tech_c",
|
|
249
|
+
"billing_c",
|
|
250
|
+
"tenant",
|
|
251
|
+
"tags",
|
|
252
|
+
)
|
|
253
|
+
|
|
192
254
|
nameservers = CSVModelMultipleChoiceField(
|
|
193
255
|
queryset=NameServer.objects.all(),
|
|
194
256
|
to_field_name="name",
|
|
@@ -268,28 +330,59 @@ class ZoneTemplateImportForm(NetBoxModelImportForm):
|
|
|
268
330
|
label=_("Tenant"),
|
|
269
331
|
)
|
|
270
332
|
|
|
271
|
-
class Meta:
|
|
272
|
-
model = ZoneTemplate
|
|
273
333
|
|
|
274
|
-
|
|
275
|
-
|
|
334
|
+
class ZoneTemplateBulkEditForm(NetBoxModelBulkEditForm):
|
|
335
|
+
model = ZoneTemplate
|
|
336
|
+
|
|
337
|
+
fieldsets = (
|
|
338
|
+
FieldSet(
|
|
276
339
|
"nameservers",
|
|
340
|
+
"description",
|
|
341
|
+
name=_("Attributes"),
|
|
342
|
+
),
|
|
343
|
+
FieldSet(
|
|
277
344
|
"soa_mname",
|
|
278
345
|
"soa_rname",
|
|
346
|
+
name=_("SOA"),
|
|
347
|
+
),
|
|
348
|
+
FieldSet(
|
|
279
349
|
"record_templates",
|
|
350
|
+
name=_("Record Templates"),
|
|
351
|
+
),
|
|
352
|
+
FieldSet(
|
|
280
353
|
"dnssec_policy",
|
|
281
|
-
"
|
|
354
|
+
name=_("DNSSEC"),
|
|
355
|
+
),
|
|
356
|
+
FieldSet(
|
|
282
357
|
"registrar",
|
|
283
358
|
"registrant",
|
|
284
359
|
"admin_c",
|
|
285
360
|
"tech_c",
|
|
286
361
|
"billing_c",
|
|
362
|
+
name=_("Domain Registration"),
|
|
363
|
+
),
|
|
364
|
+
FieldSet(
|
|
365
|
+
"tenant_group",
|
|
287
366
|
"tenant",
|
|
288
|
-
"
|
|
289
|
-
)
|
|
367
|
+
name=_("Tenancy"),
|
|
368
|
+
),
|
|
369
|
+
)
|
|
290
370
|
|
|
371
|
+
nullable_fields = (
|
|
372
|
+
"description",
|
|
373
|
+
"nameservers",
|
|
374
|
+
"soa_mname",
|
|
375
|
+
"soa_rname",
|
|
376
|
+
"record_templates",
|
|
377
|
+
"dnssec_policy",
|
|
378
|
+
"registrar",
|
|
379
|
+
"registrant",
|
|
380
|
+
"admin_c",
|
|
381
|
+
"tech_c",
|
|
382
|
+
"billing_c",
|
|
383
|
+
"tenant",
|
|
384
|
+
)
|
|
291
385
|
|
|
292
|
-
class ZoneTemplateBulkEditForm(NetBoxModelBulkEditForm):
|
|
293
386
|
nameservers = DynamicModelMultipleChoiceField(
|
|
294
387
|
queryset=NameServer.objects.all(),
|
|
295
388
|
required=False,
|
|
@@ -300,7 +393,11 @@ class ZoneTemplateBulkEditForm(NetBoxModelBulkEditForm):
|
|
|
300
393
|
required=False,
|
|
301
394
|
label=_("MName"),
|
|
302
395
|
)
|
|
303
|
-
soa_rname = forms.CharField(
|
|
396
|
+
soa_rname = forms.CharField(
|
|
397
|
+
max_length=255,
|
|
398
|
+
required=False,
|
|
399
|
+
label=_("RName"),
|
|
400
|
+
)
|
|
304
401
|
record_templates = DynamicModelMultipleChoiceField(
|
|
305
402
|
queryset=RecordTemplate.objects.all(),
|
|
306
403
|
required=False,
|
|
@@ -349,50 +446,3 @@ class ZoneTemplateBulkEditForm(NetBoxModelBulkEditForm):
|
|
|
349
446
|
required=False,
|
|
350
447
|
label=_("Tenant"),
|
|
351
448
|
)
|
|
352
|
-
|
|
353
|
-
model = ZoneTemplate
|
|
354
|
-
|
|
355
|
-
fieldsets = (
|
|
356
|
-
FieldSet(
|
|
357
|
-
"nameservers",
|
|
358
|
-
"description",
|
|
359
|
-
name=_("Attributes"),
|
|
360
|
-
),
|
|
361
|
-
FieldSet(
|
|
362
|
-
"soa_mname",
|
|
363
|
-
"soa_rname",
|
|
364
|
-
name=_("SOA"),
|
|
365
|
-
),
|
|
366
|
-
FieldSet(
|
|
367
|
-
"record_templates",
|
|
368
|
-
name=_("Record Templates"),
|
|
369
|
-
),
|
|
370
|
-
FieldSet(
|
|
371
|
-
"dnssec_policy",
|
|
372
|
-
name=_("DNSSEC"),
|
|
373
|
-
),
|
|
374
|
-
FieldSet(
|
|
375
|
-
"registrar",
|
|
376
|
-
"registrant",
|
|
377
|
-
"admin_c",
|
|
378
|
-
"tech_c",
|
|
379
|
-
"billing_c",
|
|
380
|
-
name=_("Domain Registration"),
|
|
381
|
-
),
|
|
382
|
-
FieldSet("tenant_group", "tenant", name=_("Tenancy")),
|
|
383
|
-
)
|
|
384
|
-
|
|
385
|
-
nullable_fields = (
|
|
386
|
-
"description",
|
|
387
|
-
"nameservers",
|
|
388
|
-
"soa_mname",
|
|
389
|
-
"soa_rname",
|
|
390
|
-
"record_templates",
|
|
391
|
-
"dnssec_policy",
|
|
392
|
-
"registrar",
|
|
393
|
-
"registrant",
|
|
394
|
-
"admin_c",
|
|
395
|
-
"tech_c",
|
|
396
|
-
"billing_c",
|
|
397
|
-
"tenant",
|
|
398
|
-
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import strawberry
|
|
2
|
+
|
|
3
|
+
from netbox_dns.choices import (
|
|
4
|
+
RecordTypeChoices,
|
|
5
|
+
RecordClassChoices,
|
|
6
|
+
RecordStatusChoices,
|
|
7
|
+
ZoneStatusChoices,
|
|
8
|
+
DNSSECPolicyDigestChoices,
|
|
9
|
+
DNSSECPolicyStatusChoices,
|
|
10
|
+
DNSSECKeyTemplateTypeChoices,
|
|
11
|
+
DNSSECKeyTemplateAlgorithmChoices,
|
|
12
|
+
DNSSECKeyTemplateKeySizeChoices,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
__all__ = (
|
|
16
|
+
"NetBoxDNSRecordTypeEnum",
|
|
17
|
+
"NetBoxDNSRecordClassEnum",
|
|
18
|
+
"NetBoxDNSRecordStatusEnum",
|
|
19
|
+
"NetBoxDNSZoneStatusEnum",
|
|
20
|
+
"NetBoxDNSDNSSECPolicyDigestEnum",
|
|
21
|
+
"NetBoxDNSDNSSECPolicyStatusEnum",
|
|
22
|
+
"NetBoxDNSDNSSECKeyTemplateTypeEnum",
|
|
23
|
+
"NetBoxDNSDNSSECKeyTemplateAlgorithmEnum",
|
|
24
|
+
"NetBoxDNSDNSSECKeyTemplateKeySizeEnum",
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
NetBoxDNSRecordTypeEnum = strawberry.enum(RecordTypeChoices.as_enum())
|
|
28
|
+
NetBoxDNSRecordClassEnum = strawberry.enum(RecordClassChoices.as_enum())
|
|
29
|
+
NetBoxDNSRecordStatusEnum = strawberry.enum(RecordStatusChoices.as_enum())
|
|
30
|
+
NetBoxDNSZoneStatusEnum = strawberry.enum(ZoneStatusChoices.as_enum())
|
|
31
|
+
NetBoxDNSDNSSECPolicyDigestEnum = strawberry.enum(DNSSECPolicyDigestChoices.as_enum())
|
|
32
|
+
NetBoxDNSDNSSECPolicyStatusEnum = strawberry.enum(DNSSECPolicyStatusChoices.as_enum())
|
|
33
|
+
NetBoxDNSDNSSECKeyTemplateTypeEnum = strawberry.enum(
|
|
34
|
+
DNSSECKeyTemplateTypeChoices.as_enum()
|
|
35
|
+
)
|
|
36
|
+
NetBoxDNSDNSSECKeyTemplateAlgorithmEnum = strawberry.enum(
|
|
37
|
+
DNSSECKeyTemplateAlgorithmChoices.as_enum()
|
|
38
|
+
)
|
|
39
|
+
NetBoxDNSDNSSECKeyTemplateKeySizeEnum = strawberry.enum(
|
|
40
|
+
DNSSECKeyTemplateKeySizeChoices.as_enum()
|
|
41
|
+
)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import strawberry
|
|
2
|
+
|
|
3
|
+
from netbox.graphql.filter_lookups import ArrayLookup
|
|
4
|
+
|
|
5
|
+
from netbox_dns.graphql.enums import NetBoxDNSDNSSECPolicyDigestEnum
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@strawberry.input(
|
|
9
|
+
one_of=True,
|
|
10
|
+
description="Lookup for Array fields. Only one of the lookup fields can be set.",
|
|
11
|
+
)
|
|
12
|
+
class PolicyDigestArrayLookup(ArrayLookup[NetBoxDNSDNSSECPolicyDigestEnum]):
|
|
13
|
+
pass
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from .view import *
|
|
2
|
+
from .zone import *
|
|
3
|
+
from .nameserver import *
|
|
4
|
+
from .record import *
|
|
5
|
+
from .registration_contact import *
|
|
6
|
+
from .registrar import *
|
|
7
|
+
|
|
8
|
+
from .zone_template import *
|
|
9
|
+
from .record_template import *
|
|
10
|
+
|
|
11
|
+
from .dnssec_key_template import *
|
|
12
|
+
from .dnssec_policy import *
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from typing import Annotated, TYPE_CHECKING
|
|
2
|
+
|
|
3
|
+
import strawberry
|
|
4
|
+
import strawberry_django
|
|
5
|
+
from strawberry.scalars import ID
|
|
6
|
+
from strawberry_django import FilterLookup
|
|
7
|
+
|
|
8
|
+
from netbox.graphql.filter_mixins import NetBoxModelFilterMixin
|
|
9
|
+
from tenancy.graphql.filter_mixins import ContactFilterMixin, TenancyFilterMixin
|
|
10
|
+
|
|
11
|
+
if TYPE_CHECKING:
|
|
12
|
+
from netbox.graphql.filter_lookups import IntegerLookup
|
|
13
|
+
from .enums import (
|
|
14
|
+
NetBoxDNSDNSSECKeyTemplateTypeEnum,
|
|
15
|
+
NetBoxDNSDNSSECKeyTemplateAlgorithmEnum,
|
|
16
|
+
NetBoxDNSDNSSECKeyTemplateKeySizeEnum,
|
|
17
|
+
)
|
|
18
|
+
from .dnssec_policy import NetBoxDNSDNSSECPolicyFilter
|
|
19
|
+
|
|
20
|
+
from netbox_dns.models import DNSSECKeyTemplate
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
__all__ = ("NetBoxDNSDNSSECKeyTemplateFilter",)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@strawberry_django.filter(DNSSECKeyTemplate, lookups=True)
|
|
27
|
+
class NetBoxDNSDNSSECKeyTemplateFilter(
|
|
28
|
+
ContactFilterMixin, TenancyFilterMixin, NetBoxModelFilterMixin
|
|
29
|
+
):
|
|
30
|
+
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
|
31
|
+
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
|
32
|
+
type: (
|
|
33
|
+
Annotated[
|
|
34
|
+
"NetBoxDNSDNSSECKeyTemplateTypeEnum",
|
|
35
|
+
strawberry.lazy("netbox_dns.graphql.enums"),
|
|
36
|
+
]
|
|
37
|
+
| None
|
|
38
|
+
) = strawberry_django.filter_field()
|
|
39
|
+
algorithm: (
|
|
40
|
+
Annotated[
|
|
41
|
+
"NetBoxDNSDNSSECKeyTemplateAlgorithmEnum",
|
|
42
|
+
strawberry.lazy("netbox_dns.graphql.enums"),
|
|
43
|
+
]
|
|
44
|
+
| None
|
|
45
|
+
) = strawberry_django.filter_field()
|
|
46
|
+
lifetime: (
|
|
47
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
48
|
+
| None
|
|
49
|
+
) = strawberry_django.filter_field()
|
|
50
|
+
key_size: (
|
|
51
|
+
Annotated[
|
|
52
|
+
"NetBoxDNSDNSSECKeyTemplateKeySizeEnum",
|
|
53
|
+
strawberry.lazy("netbox_dns.graphql.enums"),
|
|
54
|
+
]
|
|
55
|
+
| None
|
|
56
|
+
) = strawberry_django.filter_field()
|
|
57
|
+
policy: (
|
|
58
|
+
Annotated[
|
|
59
|
+
"NetBoxDNSDNSSECPolicyFilter", strawberry.lazy("netbox_dns.graphql.filters")
|
|
60
|
+
]
|
|
61
|
+
| None
|
|
62
|
+
) = strawberry_django.filter_field()
|
|
63
|
+
policy_id: ID | None = strawberry_django.filter_field()
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
from typing import Annotated, TYPE_CHECKING
|
|
2
|
+
|
|
3
|
+
import strawberry
|
|
4
|
+
import strawberry_django
|
|
5
|
+
from strawberry_django import FilterLookup
|
|
6
|
+
|
|
7
|
+
from netbox.graphql.filter_mixins import NetBoxModelFilterMixin
|
|
8
|
+
from tenancy.graphql.filter_mixins import ContactFilterMixin, TenancyFilterMixin
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from netbox.graphql.filter_lookups import IntegerLookup
|
|
12
|
+
from .enums import NetBoxDNSDNSSECPolicyStatusEnum
|
|
13
|
+
from .dnssec_key_template import NetBoxDNSDNSSECKeyTemplateFilter
|
|
14
|
+
from .zone import NetBoxDNSZoneFilter
|
|
15
|
+
from .zone_template import NetBoxDNSZoneTemplateFilter
|
|
16
|
+
|
|
17
|
+
from netbox_dns.models import DNSSECPolicy
|
|
18
|
+
from netbox_dns.graphql.filter_lookups import PolicyDigestArrayLookup
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
__all__ = ("NetBoxDNSDNSSECPolicyFilter", "PolicyDigestArrayLookup")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@strawberry_django.filter(DNSSECPolicy, lookups=True)
|
|
25
|
+
class NetBoxDNSDNSSECPolicyFilter(
|
|
26
|
+
ContactFilterMixin, TenancyFilterMixin, NetBoxModelFilterMixin
|
|
27
|
+
):
|
|
28
|
+
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
|
29
|
+
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
|
30
|
+
status: (
|
|
31
|
+
Annotated[
|
|
32
|
+
"NetBoxDNSDNSSECPolicyStatusEnum",
|
|
33
|
+
strawberry.lazy("netbox_dns.graphql.enums"),
|
|
34
|
+
]
|
|
35
|
+
| None
|
|
36
|
+
) = strawberry_django.filter_field()
|
|
37
|
+
key_templates: (
|
|
38
|
+
Annotated[
|
|
39
|
+
"NetBoxDNSDNSSECKeyTemplateFilter",
|
|
40
|
+
strawberry.lazy("netbox_dns.graphql.filters"),
|
|
41
|
+
]
|
|
42
|
+
| None
|
|
43
|
+
) = strawberry_django.filter_field()
|
|
44
|
+
zones: (
|
|
45
|
+
Annotated[
|
|
46
|
+
"NetBoxDNSZoneFilter",
|
|
47
|
+
strawberry.lazy("netbox_dns.graphql.filters"),
|
|
48
|
+
]
|
|
49
|
+
| None
|
|
50
|
+
) = strawberry_django.filter_field()
|
|
51
|
+
zone_templates: (
|
|
52
|
+
Annotated[
|
|
53
|
+
"NetBoxDNSZoneTemplateFilter",
|
|
54
|
+
strawberry.lazy("netbox_dns.graphql.filters"),
|
|
55
|
+
]
|
|
56
|
+
| None
|
|
57
|
+
) = strawberry_django.filter_field()
|
|
58
|
+
dnskey_ttl: (
|
|
59
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
60
|
+
| None
|
|
61
|
+
) = strawberry_django.filter_field()
|
|
62
|
+
purge_keys: (
|
|
63
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
64
|
+
| None
|
|
65
|
+
) = strawberry_django.filter_field()
|
|
66
|
+
publish_safety: (
|
|
67
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
68
|
+
| None
|
|
69
|
+
) = strawberry_django.filter_field()
|
|
70
|
+
retire_safety: (
|
|
71
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
72
|
+
| None
|
|
73
|
+
) = strawberry_django.filter_field()
|
|
74
|
+
signatures_jitter: (
|
|
75
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
76
|
+
| None
|
|
77
|
+
) = strawberry_django.filter_field()
|
|
78
|
+
signatures_refresh: (
|
|
79
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
80
|
+
| None
|
|
81
|
+
) = strawberry_django.filter_field()
|
|
82
|
+
signatures_validity: (
|
|
83
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
84
|
+
| None
|
|
85
|
+
) = strawberry_django.filter_field()
|
|
86
|
+
signatures_validity_dnskey: (
|
|
87
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
88
|
+
| None
|
|
89
|
+
) = strawberry_django.filter_field()
|
|
90
|
+
max_zone_ttl: (
|
|
91
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
92
|
+
| None
|
|
93
|
+
) = strawberry_django.filter_field()
|
|
94
|
+
zone_propagation_delay: (
|
|
95
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
96
|
+
| None
|
|
97
|
+
) = strawberry_django.filter_field()
|
|
98
|
+
cds_digest_types: (
|
|
99
|
+
Annotated[
|
|
100
|
+
"PolicyDigestArrayLookup",
|
|
101
|
+
strawberry.lazy("netbox_dns.graphql.filters"),
|
|
102
|
+
]
|
|
103
|
+
| None
|
|
104
|
+
) = strawberry_django.filter_field()
|
|
105
|
+
create_cdnskey: FilterLookup[bool] | None = strawberry_django.filter_field()
|
|
106
|
+
parent_ds_ttl: (
|
|
107
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
108
|
+
| None
|
|
109
|
+
) = strawberry_django.filter_field()
|
|
110
|
+
parent_propagation_delay: (
|
|
111
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
112
|
+
| None
|
|
113
|
+
) = strawberry_django.filter_field()
|
|
114
|
+
use_nsec3: FilterLookup[bool] | None = strawberry_django.filter_field()
|
|
115
|
+
nsec3_iterations: (
|
|
116
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
117
|
+
| None
|
|
118
|
+
) = strawberry_django.filter_field()
|
|
119
|
+
nsec3_opt_out: FilterLookup[bool] | None = strawberry_django.filter_field()
|
|
120
|
+
nsec3_salt_size: (
|
|
121
|
+
Annotated["IntegerLookup", strawberry.lazy("netbox.graphql.filter_lookups")]
|
|
122
|
+
| None
|
|
123
|
+
) = strawberry_django.filter_field()
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from typing import Annotated, TYPE_CHECKING
|
|
2
|
+
|
|
3
|
+
import strawberry
|
|
4
|
+
import strawberry_django
|
|
5
|
+
from strawberry_django import FilterLookup
|
|
6
|
+
|
|
7
|
+
from netbox.graphql.filter_mixins import NetBoxModelFilterMixin
|
|
8
|
+
from tenancy.graphql.filter_mixins import ContactFilterMixin, TenancyFilterMixin
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from .zone import NetBoxDNSZoneFilter
|
|
12
|
+
|
|
13
|
+
from netbox_dns.models import NameServer
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
__all__ = ("NetBoxDNSNameServerFilter",)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@strawberry_django.filter(NameServer, lookups=True)
|
|
20
|
+
class NetBoxDNSNameServerFilter(
|
|
21
|
+
ContactFilterMixin, TenancyFilterMixin, NetBoxModelFilterMixin
|
|
22
|
+
):
|
|
23
|
+
name: FilterLookup[str] | None = strawberry_django.filter_field()
|
|
24
|
+
description: FilterLookup[str] | None = strawberry_django.filter_field()
|
|
25
|
+
zones: (
|
|
26
|
+
Annotated["NetBoxDNSZoneFilter", strawberry.lazy("netbox_dns.graphql.filters")]
|
|
27
|
+
| None
|
|
28
|
+
) = strawberry_django.filter_field()
|
|
29
|
+
soa_zones: (
|
|
30
|
+
Annotated["NetBoxDNSZoneFilter", strawberry.lazy("netbox_dns.graphql.filters")]
|
|
31
|
+
| None
|
|
32
|
+
) = strawberry_django.filter_field()
|