netbox-validity 3.4.1__tar.gz → 3.4.3__tar.gz
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.
- {netbox_validity-3.4.1/netbox_validity.egg-info → netbox_validity-3.4.3}/PKG-INFO +2 -2
- {netbox_validity-3.4.1 → netbox_validity-3.4.3/netbox_validity.egg-info}/PKG-INFO +2 -2
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/netbox_validity.egg-info/requires.txt +1 -1
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/pyproject.toml +1 -1
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/requirements/base.txt +1 -1
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/__init__.py +1 -1
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/graphql/filters.py +8 -8
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/graphql/schema.py +2 -1
- netbox_validity-3.4.3/validity/netbox_changes/__init__.py +24 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/base.py +2 -3
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/report.py +2 -3
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/script.py +4 -2
- netbox_validity-3.4.1/validity/netbox_changes/__init__.py +0 -14
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/LICENSE +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/MANIFEST.in +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/README.md +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/netbox_validity.egg-info/SOURCES.txt +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/netbox_validity.egg-info/dependency_links.txt +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/netbox_validity.egg-info/top_level.txt +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/requirements/dev.txt +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/requirements/docs.txt +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/setup.cfg +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/admin.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/api/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/api/helpers.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/api/serializers.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/api/urls.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/api/views.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/choices.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/dynamic_pairs.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/eval/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/eval/default_nameset.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/eval/eval.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/eval/eval_defaults.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/exceptions.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/backend.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/common.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/routeros.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/serializable.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/textfsm.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/ttp.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/xml.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/yaml.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/state.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/custom_validators.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/data_backends.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/data_backup/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/data_backup/backend.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/data_backup/backupers.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/data_backup/entities.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/data_backup/parameters.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/dependencies.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/fields/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/fields/encrypted.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/filtersets.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/forms/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/forms/bulk_import.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/forms/fields.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/forms/filterset.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/forms/general.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/forms/mixins.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/forms/widgets.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/graphql/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/graphql/types.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/integrations/data_models.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/integrations/errors.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/integrations/git.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/integrations/s3.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/j2_env.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/managers.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/migrations/0010_squashed_initial.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/migrations/0011_delete_scripts.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/migrations/0012_backuppoint_devicerole.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/migrations/0013_compliancetest_enabled.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/migrations/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/model_validators.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/backup.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/base.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/data.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/device.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/nameset.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/polling.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/report.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/selector.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/serializer.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/test.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/models/test_result.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/navigation.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/netbox_changes/current.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/netbox_changes/old.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/netbox_changes/oldest.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/pollers/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/pollers/base.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/pollers/cli.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/pollers/default_credentials.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/pollers/exceptions.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/pollers/factory.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/pollers/http.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/pollers/netconf.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/pollers/result.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/scripts/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/scripts/backup.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/scripts/data_models.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/scripts/exceptions.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/scripts/keeper.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/scripts/launch.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/scripts/parent_jobs.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/scripts/runtests/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/scripts/runtests/apply.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/scripts/runtests/combine.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/scripts/runtests/split.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/search.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/settings.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/signals.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/static/validity/connection-type-select.js +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/static/validity/prism-dark.css +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/static/validity/prism-light.css +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/static/validity/prism.js +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/subforms.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/tables.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/template_content.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/aux_tab_table.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/backuppoint.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/command.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/compliance_results.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/compliancereport.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/complianceselector.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/compliancetest.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/compliancetestresult.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/device_state.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/configcontext_format.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/datasource_link.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/parameters.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/path_with_link.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/prism.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/related_objects.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/report_stats_row.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/search_form.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/yaml_card.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/nameset.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/poller.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/poller_edit.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/report_devices.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/scripts/result.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/scripts/result_htmx.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/scripts/run.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/serializer.html +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templatetags/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templatetags/dto.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templatetags/validity.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/urls.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/utils/bulk.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/utils/json.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/utils/logger.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/utils/misc.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/utils/orm.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/utils/version.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/__init__.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/backup.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/bulk_import.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/command.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/data_source.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/device.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/nameset.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/poller.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/selector.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/serializer.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/test.py +0 -0
- {netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/views/test_result.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: netbox-validity
|
|
3
|
-
Version: 3.4.
|
|
3
|
+
Version: 3.4.3
|
|
4
4
|
Summary: NetBox plugin for network devices validation
|
|
5
5
|
Author-email: Anton Miasnikov <anton2008m@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -50,7 +50,7 @@ Requires-Dist: jq<2,>=1.4.0
|
|
|
50
50
|
Requires-Dist: netmiko<5,>=4.0.0
|
|
51
51
|
Requires-Dist: pydantic<3,>=2.0.0
|
|
52
52
|
Requires-Dist: scrapli_netconf==2026.1.12
|
|
53
|
-
Requires-Dist: simpleeval==1.0.
|
|
53
|
+
Requires-Dist: simpleeval==1.0.7
|
|
54
54
|
Requires-Dist: textfsm<2,>=1.1.3
|
|
55
55
|
Requires-Dist: ttp<1
|
|
56
56
|
Requires-Dist: xmltodict<1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: netbox-validity
|
|
3
|
-
Version: 3.4.
|
|
3
|
+
Version: 3.4.3
|
|
4
4
|
Summary: NetBox plugin for network devices validation
|
|
5
5
|
Author-email: Anton Miasnikov <anton2008m@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -50,7 +50,7 @@ Requires-Dist: jq<2,>=1.4.0
|
|
|
50
50
|
Requires-Dist: netmiko<5,>=4.0.0
|
|
51
51
|
Requires-Dist: pydantic<3,>=2.0.0
|
|
52
52
|
Requires-Dist: scrapli_netconf==2026.1.12
|
|
53
|
-
Requires-Dist: simpleeval==1.0.
|
|
53
|
+
Requires-Dist: simpleeval==1.0.7
|
|
54
54
|
Requires-Dist: textfsm<2,>=1.1.3
|
|
55
55
|
Requires-Dist: ttp<1
|
|
56
56
|
Requires-Dist: xmltodict<1
|
|
@@ -16,7 +16,7 @@ class NetBoxValidityConfig(PluginConfig):
|
|
|
16
16
|
description = "Write and run auto tests for network devices"
|
|
17
17
|
author = "Anton Miasnikov"
|
|
18
18
|
author_email = "anton2008m@gmail.com"
|
|
19
|
-
version = "3.4.
|
|
19
|
+
version = "3.4.3"
|
|
20
20
|
base_url = "validity"
|
|
21
21
|
django_apps = ["django_bootstrap5"]
|
|
22
22
|
min_version = "4.3.0"
|
|
@@ -10,7 +10,7 @@ from strawberry.scalars import ID
|
|
|
10
10
|
from strawberry_django import FilterLookup
|
|
11
11
|
|
|
12
12
|
from validity import models
|
|
13
|
-
from validity.netbox_changes import BaseModelFilter, NetBoxModelFilter
|
|
13
|
+
from validity.netbox_changes import BaseModelFilter, NetBoxModelFilter, StrFilterLookup
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
@strawberry_django.filter_type(Job, lookups=True)
|
|
@@ -20,13 +20,13 @@ class JobFilter(NetBoxModelFilter):
|
|
|
20
20
|
|
|
21
21
|
@strawberry_django.filter_type(models.ComplianceSelector, lookups=True)
|
|
22
22
|
class ComplianceSelectorFilter(NetBoxModelFilter):
|
|
23
|
-
name:
|
|
23
|
+
name: StrFilterLookup | None = strawberry_django.filter_field()
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
@strawberry_django.filter_type(models.ComplianceTest, lookups=True)
|
|
27
27
|
class ComplianceTestFilter(NetBoxModelFilter):
|
|
28
28
|
id: FilterLookup[ID] | None = strawberry_django.filter_field()
|
|
29
|
-
name:
|
|
29
|
+
name: StrFilterLookup | None = strawberry_django.filter_field()
|
|
30
30
|
selectors: Annotated["ComplianceSelectorFilter", strawberry.lazy("validity.graphql.filters")] | None = (
|
|
31
31
|
strawberry_django.filter_field()
|
|
32
32
|
)
|
|
@@ -53,12 +53,12 @@ class ComplianceTestResultFilter(BaseModelFilter):
|
|
|
53
53
|
|
|
54
54
|
@strawberry_django.filter_type(models.Serializer, lookups=True)
|
|
55
55
|
class SerializerFilter(NetBoxModelFilter):
|
|
56
|
-
name:
|
|
56
|
+
name: StrFilterLookup | None = strawberry_django.filter_field()
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
@strawberry_django.filter_type(models.NameSet, lookups=True)
|
|
60
60
|
class NameSetFilter(NetBoxModelFilter):
|
|
61
|
-
name:
|
|
61
|
+
name: StrFilterLookup | None = strawberry_django.filter_field()
|
|
62
62
|
_global: Annotated["bool", strawberry.lazy("builtins")] | None = strawberry_django.filter_field(name="global")
|
|
63
63
|
|
|
64
64
|
|
|
@@ -69,12 +69,12 @@ class ComplianceReportFilter(BaseModelFilter):
|
|
|
69
69
|
|
|
70
70
|
@strawberry_django.filter_type(models.Poller, lookups=True)
|
|
71
71
|
class PollerFilter(NetBoxModelFilter):
|
|
72
|
-
name:
|
|
72
|
+
name: StrFilterLookup | None = strawberry_django.filter_field()
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
@strawberry_django.filter_type(models.Command, lookups=True)
|
|
76
76
|
class CommandFilter(NetBoxModelFilter):
|
|
77
|
-
name:
|
|
77
|
+
name: StrFilterLookup | None = strawberry_django.filter_field()
|
|
78
78
|
serializer: Annotated["SerializerFilter", strawberry.lazy("validity.graphql.filters")] | None = (
|
|
79
79
|
strawberry_django.filter_field()
|
|
80
80
|
)
|
|
@@ -86,7 +86,7 @@ class CommandFilter(NetBoxModelFilter):
|
|
|
86
86
|
|
|
87
87
|
@strawberry_django.filter_type(models.BackupPoint, lookups=True)
|
|
88
88
|
class BackupPointFilter(NetBoxModelFilter):
|
|
89
|
-
name:
|
|
89
|
+
name: StrFilterLookup | None = strawberry_django.filter_field()
|
|
90
90
|
data_source: Annotated["DataSourceFilter", strawberry.lazy("core.graphql.filters")] | None = (
|
|
91
91
|
strawberry_django.filter_field()
|
|
92
92
|
)
|
|
@@ -2,6 +2,7 @@ from typing import Annotated
|
|
|
2
2
|
|
|
3
3
|
import strawberry
|
|
4
4
|
import strawberry_django
|
|
5
|
+
from strawberry.types import Info
|
|
5
6
|
|
|
6
7
|
from validity import models
|
|
7
8
|
from .filters import NameSetFilter
|
|
@@ -42,7 +43,7 @@ class Query:
|
|
|
42
43
|
@strawberry.field
|
|
43
44
|
def validity_nameset_list(
|
|
44
45
|
self,
|
|
45
|
-
info,
|
|
46
|
+
info: Info,
|
|
46
47
|
filters: NameSetFilter | None = None,
|
|
47
48
|
global_filter: Annotated[bool | None, strawberry.argument(name="global")] = None,
|
|
48
49
|
) -> list[NameSetType]:
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This package contains all duct tape stuff which is required to support
|
|
3
|
+
different versions of NetBox together
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from pydoc import locate
|
|
7
|
+
|
|
8
|
+
from strawberry_django import FilterLookup
|
|
9
|
+
|
|
10
|
+
from validity import config
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def get_base_table_kwargs(self):
|
|
14
|
+
return {"user": self.request.user} if config.netbox_version < "4.5.4" else {}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
StrFilterLookup = locate("strawberry_django.StrFilterLookup") if config.netbox_version >= "4.5.5" else FilterLookup[str]
|
|
18
|
+
|
|
19
|
+
if config.netbox_version >= "4.5.0":
|
|
20
|
+
from .current import *
|
|
21
|
+
elif config.netbox_version >= "4.4.0":
|
|
22
|
+
from .old import *
|
|
23
|
+
else:
|
|
24
|
+
from .oldest import *
|
|
@@ -13,7 +13,7 @@ from django_tables2 import SingleTableMixin, Table
|
|
|
13
13
|
from utilities.views import ObjectPermissionRequiredMixin as _ObjectPermissionRequiredMixin
|
|
14
14
|
from utilities.views import ViewTab
|
|
15
15
|
|
|
16
|
-
from validity import filtersets, forms, models, scripts, tables
|
|
16
|
+
from validity import filtersets, forms, models, netbox_changes, scripts, tables
|
|
17
17
|
from validity.utils.misc import partialcls
|
|
18
18
|
|
|
19
19
|
|
|
@@ -100,8 +100,7 @@ class TestResultBaseView(ObjectPermissionRequiredMixin, SingleTableMixin, Filter
|
|
|
100
100
|
table.exclude = (self.result_relation,)
|
|
101
101
|
return table
|
|
102
102
|
|
|
103
|
-
|
|
104
|
-
return {"user": self.request.user}
|
|
103
|
+
get_table_kwargs = netbox_changes.get_base_table_kwargs
|
|
105
104
|
|
|
106
105
|
def get_queryset(self):
|
|
107
106
|
return self.queryset.filter(**{self.result_relation: self.kwargs["pk"]})
|
|
@@ -8,7 +8,7 @@ from django_tables2 import SingleTableMixin
|
|
|
8
8
|
from netbox.views import generic
|
|
9
9
|
from utilities.views import ViewTab, register_model_view
|
|
10
10
|
|
|
11
|
-
from validity import filtersets, forms, models, tables
|
|
11
|
+
from validity import filtersets, forms, models, netbox_changes, tables
|
|
12
12
|
from validity.choices import DeviceGroupByChoices, SeverityChoices
|
|
13
13
|
from .base import FilterViewWithForm, ObjectPermissionRequiredMixin, TestResultBaseView
|
|
14
14
|
|
|
@@ -102,8 +102,7 @@ class ReportDeviceView(ObjectPermissionRequiredMixin, SingleTableMixin, FilterVi
|
|
|
102
102
|
table.configure(self.request)
|
|
103
103
|
return table
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
return {"user": self.request.user}
|
|
105
|
+
get_table_kwargs = netbox_changes.get_base_table_kwargs
|
|
107
106
|
|
|
108
107
|
def get_context_data(self, **kwargs: Any) -> dict[str, Any]:
|
|
109
108
|
return super().get_context_data(**kwargs) | {
|
|
@@ -12,7 +12,7 @@ from utilities.htmx import htmx_partial
|
|
|
12
12
|
|
|
13
13
|
from validity import di
|
|
14
14
|
from validity.forms import RunTestsForm
|
|
15
|
-
from validity.netbox_changes import get_logs
|
|
15
|
+
from validity.netbox_changes import get_base_table_kwargs, get_logs
|
|
16
16
|
from validity.scripts import Launcher, RunTestsParams, ScriptParams
|
|
17
17
|
from validity.tables import ScriptResultTable
|
|
18
18
|
from .base import LauncherMixin
|
|
@@ -52,10 +52,12 @@ class ScriptResultView(PermissionRequiredMixin, TableMixin, ObjectView):
|
|
|
52
52
|
|
|
53
53
|
def get_table(self, job, request, bulk_actions=False):
|
|
54
54
|
logs = [entry | {"index": i} for i, entry in enumerate(get_logs(job), start=1)]
|
|
55
|
-
table = self.table_class(logs,
|
|
55
|
+
table = self.table_class(logs, **self.get_table_kwargs())
|
|
56
56
|
table.configure(request)
|
|
57
57
|
return table
|
|
58
58
|
|
|
59
|
+
get_table_kwargs = get_base_table_kwargs
|
|
60
|
+
|
|
59
61
|
def get(self, request, **kwargs):
|
|
60
62
|
job = self.get_object(**kwargs)
|
|
61
63
|
table = self.get_table(job, request) if job.completed else None
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
This package contains all duct tape stuff which is required to support
|
|
3
|
-
different versions of NetBox together
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
from validity import config
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if config.netbox_version >= "4.5.0":
|
|
10
|
-
from .current import *
|
|
11
|
-
elif config.netbox_version >= "4.4.0":
|
|
12
|
-
from .old import *
|
|
13
|
-
else:
|
|
14
|
-
from .oldest import *
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/netbox_validity.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/__init__.py
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/backend.py
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/routeros.py
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/serializable.py
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/compliance/serialization/textfsm.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/migrations/0010_squashed_initial.py
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/migrations/0012_backuppoint_devicerole.py
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/migrations/0013_compliancetest_enabled.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/static/validity/connection-type-select.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/aux_tab_table.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/backuppoint.html
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/compliance_results.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/compliancereport.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/complianceselector.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/compliancetest.html
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/device_state.html
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/datasource_link.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/parameters.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/path_with_link.html
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/related_objects.html
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/search_form.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/inc/yaml_card.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/poller_edit.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/report_devices.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/scripts/result.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/scripts/result_htmx.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.1 → netbox_validity-3.4.3}/validity/templates/validity/scripts/run.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|