netbox-validity 3.4.0__tar.gz → 3.4.2__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.0/netbox_validity.egg-info → netbox_validity-3.4.2}/PKG-INFO +3 -3
- {netbox_validity-3.4.0 → netbox_validity-3.4.2/netbox_validity.egg-info}/PKG-INFO +3 -3
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/netbox_validity.egg-info/requires.txt +2 -2
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/pyproject.toml +1 -1
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/requirements/base.txt +2 -2
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/__init__.py +1 -1
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/graphql/filters.py +8 -8
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/graphql/schema.py +2 -1
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/integrations/git.py +1 -1
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/netbox_changes/__init__.py +6 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/report.py +2 -2
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/LICENSE +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/MANIFEST.in +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/README.md +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/netbox_validity.egg-info/SOURCES.txt +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/netbox_validity.egg-info/dependency_links.txt +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/netbox_validity.egg-info/top_level.txt +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/requirements/dev.txt +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/requirements/docs.txt +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/setup.cfg +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/admin.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/api/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/api/helpers.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/api/serializers.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/api/urls.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/api/views.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/choices.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/dynamic_pairs.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/eval/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/eval/default_nameset.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/eval/eval.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/eval/eval_defaults.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/exceptions.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/backend.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/common.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/routeros.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/serializable.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/textfsm.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/ttp.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/xml.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/yaml.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/state.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/custom_validators.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/data_backends.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/data_backup/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/data_backup/backend.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/data_backup/backupers.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/data_backup/entities.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/data_backup/parameters.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/dependencies.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/fields/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/fields/encrypted.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/filtersets.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/forms/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/forms/bulk_import.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/forms/fields.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/forms/filterset.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/forms/general.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/forms/mixins.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/forms/widgets.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/graphql/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/graphql/types.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/integrations/data_models.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/integrations/errors.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/integrations/s3.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/j2_env.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/managers.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/migrations/0010_squashed_initial.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/migrations/0011_delete_scripts.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/migrations/0012_backuppoint_devicerole.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/migrations/0013_compliancetest_enabled.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/migrations/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/model_validators.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/backup.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/base.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/data.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/device.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/nameset.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/polling.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/report.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/selector.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/serializer.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/test.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/models/test_result.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/navigation.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/netbox_changes/current.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/netbox_changes/old.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/netbox_changes/oldest.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/pollers/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/pollers/base.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/pollers/cli.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/pollers/default_credentials.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/pollers/exceptions.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/pollers/factory.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/pollers/http.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/pollers/netconf.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/pollers/result.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/scripts/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/scripts/backup.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/scripts/data_models.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/scripts/exceptions.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/scripts/keeper.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/scripts/launch.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/scripts/parent_jobs.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/scripts/runtests/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/scripts/runtests/apply.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/scripts/runtests/combine.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/scripts/runtests/split.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/search.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/settings.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/signals.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/static/validity/connection-type-select.js +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/static/validity/prism-dark.css +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/static/validity/prism-light.css +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/static/validity/prism.js +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/subforms.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/tables.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/template_content.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/aux_tab_table.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/backuppoint.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/command.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/compliance_results.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/compliancereport.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/complianceselector.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/compliancetest.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/compliancetestresult.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/device_state.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/configcontext_format.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/datasource_link.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/parameters.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/path_with_link.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/prism.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/related_objects.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/report_stats_row.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/search_form.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/yaml_card.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/nameset.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/poller.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/poller_edit.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/report_devices.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/scripts/result.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/scripts/result_htmx.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/scripts/run.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/serializer.html +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templatetags/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templatetags/dto.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templatetags/validity.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/urls.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/utils/bulk.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/utils/json.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/utils/logger.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/utils/misc.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/utils/orm.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/utils/version.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/__init__.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/backup.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/base.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/bulk_import.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/command.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/data_source.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/device.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/nameset.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/poller.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/script.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/selector.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/serializer.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/views/test.py +0 -0
- {netbox_validity-3.4.0 → netbox_validity-3.4.2}/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.2
|
|
4
4
|
Summary: NetBox plugin for network devices validation
|
|
5
5
|
Author-email: Anton Miasnikov <anton2008m@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -45,12 +45,12 @@ Requires-Dist: boto3<2
|
|
|
45
45
|
Requires-Dist: deepdiff<9,>=8.6.1
|
|
46
46
|
Requires-Dist: dimi<2,>=1.5.0
|
|
47
47
|
Requires-Dist: django-bootstrap5<25,>=24.2
|
|
48
|
-
Requires-Dist: dulwich
|
|
48
|
+
Requires-Dist: dulwich<2,>=1.1.0
|
|
49
49
|
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.2
|
|
4
4
|
Summary: NetBox plugin for network devices validation
|
|
5
5
|
Author-email: Anton Miasnikov <anton2008m@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -45,12 +45,12 @@ Requires-Dist: boto3<2
|
|
|
45
45
|
Requires-Dist: deepdiff<9,>=8.6.1
|
|
46
46
|
Requires-Dist: dimi<2,>=1.5.0
|
|
47
47
|
Requires-Dist: django-bootstrap5<25,>=24.2
|
|
48
|
-
Requires-Dist: dulwich
|
|
48
|
+
Requires-Dist: dulwich<2,>=1.1.0
|
|
49
49
|
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
|
|
@@ -2,12 +2,12 @@ boto3<2
|
|
|
2
2
|
deepdiff<9,>=8.6.1
|
|
3
3
|
dimi<2,>=1.5.0
|
|
4
4
|
django-bootstrap5<25,>=24.2
|
|
5
|
-
dulwich
|
|
5
|
+
dulwich<2,>=1.1.0
|
|
6
6
|
jq<2,>=1.4.0
|
|
7
7
|
netmiko<5,>=4.0.0
|
|
8
8
|
pydantic<3,>=2.0.0
|
|
9
9
|
scrapli_netconf==2026.1.12
|
|
10
|
-
simpleeval==1.0.
|
|
10
|
+
simpleeval==1.0.7
|
|
11
11
|
textfsm<2,>=1.1.3
|
|
12
12
|
ttp<1
|
|
13
13
|
xmltodict<1
|
|
@@ -2,12 +2,12 @@ boto3<2
|
|
|
2
2
|
deepdiff>=8.6.1,<9
|
|
3
3
|
dimi >=1.5.0,< 2
|
|
4
4
|
django-bootstrap5 >=24.2,<25
|
|
5
|
-
dulwich
|
|
5
|
+
dulwich >=1.1.0,<2
|
|
6
6
|
jq>=1.4.0,<2
|
|
7
7
|
netmiko>=4.0.0,<5
|
|
8
8
|
pydantic>=2.0.0,<3
|
|
9
9
|
scrapli_netconf==2026.1.12
|
|
10
|
-
simpleeval==1.0.
|
|
10
|
+
simpleeval==1.0.7
|
|
11
11
|
textfsm>=1.1.3,<2
|
|
12
12
|
ttp<1
|
|
13
13
|
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.2"
|
|
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]:
|
|
@@ -78,7 +78,7 @@ class DulwichGitClient(GitClient):
|
|
|
78
78
|
def unstage_all(self, local_path: str) -> None:
|
|
79
79
|
repo = Repo(local_path)
|
|
80
80
|
staged_files = chain.from_iterable(porcelain.status(local_path).staged.values())
|
|
81
|
-
repo.unstage(filename.decode() for filename in staged_files)
|
|
81
|
+
repo.get_worktree().unstage(filename.decode() for filename in staged_files)
|
|
82
82
|
|
|
83
83
|
def commit(self, local_path: str, username: str, email: str, message: str) -> str:
|
|
84
84
|
author = f"{username} <{email}>".encode()
|
|
@@ -3,9 +3,15 @@ This package contains all duct tape stuff which is required to support
|
|
|
3
3
|
different versions of NetBox together
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
from pydoc import locate
|
|
7
|
+
|
|
8
|
+
from strawberry_django import FilterLookup
|
|
9
|
+
|
|
6
10
|
from validity import config
|
|
7
11
|
|
|
8
12
|
|
|
13
|
+
StrFilterLookup = locate("strawberry_django.StrFilterLookup") if config.netbox_version >= "4.5.5" else FilterLookup[str]
|
|
14
|
+
|
|
9
15
|
if config.netbox_version >= "4.5.0":
|
|
10
16
|
from .current import *
|
|
11
17
|
elif config.netbox_version >= "4.4.0":
|
|
@@ -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 config, filtersets, forms, models, tables
|
|
12
12
|
from validity.choices import DeviceGroupByChoices, SeverityChoices
|
|
13
13
|
from .base import FilterViewWithForm, ObjectPermissionRequiredMixin, TestResultBaseView
|
|
14
14
|
|
|
@@ -103,7 +103,7 @@ class ReportDeviceView(ObjectPermissionRequiredMixin, SingleTableMixin, FilterVi
|
|
|
103
103
|
return table
|
|
104
104
|
|
|
105
105
|
def get_table_kwargs(self):
|
|
106
|
-
return {"user": self.request.user}
|
|
106
|
+
return {"user": self.request.user} if config.netbox_version < "4.5.4" else {}
|
|
107
107
|
|
|
108
108
|
def get_context_data(self, **kwargs: Any) -> dict[str, Any]:
|
|
109
109
|
return super().get_context_data(**kwargs) | {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/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.0 → netbox_validity-3.4.2}/validity/compliance/serialization/__init__.py
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/backend.py
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/routeros.py
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/compliance/serialization/serializable.py
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/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
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/migrations/0010_squashed_initial.py
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/migrations/0012_backuppoint_devicerole.py
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/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.0 → netbox_validity-3.4.2}/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.0 → netbox_validity-3.4.2}/validity/templates/validity/aux_tab_table.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/backuppoint.html
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/compliance_results.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/compliancereport.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/complianceselector.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/compliancetest.html
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/device_state.html
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/datasource_link.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/parameters.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/path_with_link.html
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/related_objects.html
RENAMED
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/search_form.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/inc/yaml_card.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/poller_edit.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/report_devices.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/scripts/result.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/validity/templates/validity/scripts/result_htmx.html
RENAMED
|
File without changes
|
{netbox_validity-3.4.0 → netbox_validity-3.4.2}/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
|
|
File without changes
|
|
File without changes
|