netbox-toolkit-plugin 0.1.1__tar.gz → 0.1.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_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/PKG-INFO +1 -1
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/__init__.py +1 -1
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/connectors/factory.py +1 -1
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/connectors/netmiko_connector.py +1 -1
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/connectors/scrapli_connector.py +1 -1
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/services/command_service.py +1 -1
- netbox_toolkit_plugin-0.1.1/netbox_toolkit_plugin/config.py → netbox_toolkit_plugin-0.1.2/netbox_toolkit_plugin/settings.py +17 -7
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/PKG-INFO +1 -1
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/SOURCES.txt +1 -1
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/pyproject.toml +2 -2
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/LICENSE +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/README.md +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/admin.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/__init__.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/mixins.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/schemas.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/serializers.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/urls.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/views/__init__.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/views/command_logs.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/views/commands.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/connectors/__init__.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/connectors/base.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/exceptions.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/filtersets.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/forms.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0001_initial.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0002_alter_command_options_alter_command_unique_together_and_more.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0003_permission_system_update.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0004_remove_django_permissions.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0005_alter_command_options_and_more.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0006_commandlog_parsed_data_commandlog_parsing_success_and_more.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/0007_alter_commandlog_parsing_template.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/migrations/__init__.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/models.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/navigation.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/search.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/services/__init__.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/services/device_service.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/services/rate_limiting_service.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/static/netbox_toolkit_plugin/css/toolkit.css +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/static/netbox_toolkit_plugin/js/toolkit.js +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/tables.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit/command.html +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit/command_list.html +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit/commandlog.html +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit/device_toolkit.html +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/command.html +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/command_edit.html +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/command_list.html +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/commandlog.html +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/commandlog_list.html +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/templates/netbox_toolkit_plugin/device_toolkit.html +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/urls.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/__init__.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/connection.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/error_parser.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/logging.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/network.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/views.py +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/dependency_links.txt +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/entry_points.txt +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/requires.txt +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin.egg-info/top_level.txt +0 -0
- {netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/setup.cfg +0 -0
@@ -7,7 +7,7 @@ from django.db.models import Model
|
|
7
7
|
from dcim.models import Device
|
8
8
|
|
9
9
|
from ..exceptions import UnsupportedPlatformError, DeviceConnectionError
|
10
|
-
from ..
|
10
|
+
from ..settings import ToolkitSettings
|
11
11
|
from ..utils.logging import get_toolkit_logger
|
12
12
|
from .base import BaseDeviceConnector, ConnectionConfig
|
13
13
|
from .scrapli_connector import ScrapliConnector
|
@@ -13,7 +13,7 @@ from netmiko.exceptions import (
|
|
13
13
|
)
|
14
14
|
|
15
15
|
from .base import BaseDeviceConnector, ConnectionConfig, CommandResult
|
16
|
-
from ..
|
16
|
+
from ..settings import ToolkitSettings
|
17
17
|
from ..exceptions import (
|
18
18
|
DeviceConnectionError,
|
19
19
|
CommandExecutionError,
|
@@ -8,7 +8,7 @@ from scrapli.driver.generic import GenericDriver
|
|
8
8
|
from scrapli.exceptions import ScrapliException
|
9
9
|
|
10
10
|
from .base import BaseDeviceConnector, ConnectionConfig, CommandResult
|
11
|
-
from ..
|
11
|
+
from ..settings import ToolkitSettings
|
12
12
|
from ..exceptions import (
|
13
13
|
DeviceConnectionError,
|
14
14
|
CommandExecutionError,
|
@@ -10,7 +10,7 @@ from ..connectors.factory import ConnectorFactory
|
|
10
10
|
from ..connectors.base import CommandResult
|
11
11
|
from ..connectors.netmiko_connector import NetmikoConnector
|
12
12
|
from ..exceptions import DeviceConnectionError, CommandExecutionError
|
13
|
-
from ..
|
13
|
+
from ..settings import ToolkitSettings
|
14
14
|
from ..utils.logging import get_toolkit_logger
|
15
15
|
|
16
16
|
logger = get_toolkit_logger(__name__)
|
@@ -1,8 +1,18 @@
|
|
1
1
|
"""Configuration settings for the NetBox Toolkit plugin."""
|
2
2
|
|
3
|
-
from typing import
|
3
|
+
from typing import Any
|
4
|
+
|
4
5
|
from django.conf import settings
|
5
6
|
|
7
|
+
# Plugin metadata - required by NetBox's plugin discovery system
|
8
|
+
__version__ = "0.1.1"
|
9
|
+
__author__ = "Andy Norwood"
|
10
|
+
|
11
|
+
# Make these available as module-level attributes for NetBox's plugin system
|
12
|
+
version = __version__
|
13
|
+
author = __author__
|
14
|
+
release_track = "stable" # or "beta", "alpha" - indicates the release track
|
15
|
+
|
6
16
|
|
7
17
|
class ToolkitSettings:
|
8
18
|
"""Configuration class for toolkit settings."""
|
@@ -104,7 +114,7 @@ class ToolkitSettings:
|
|
104
114
|
}
|
105
115
|
|
106
116
|
@classmethod
|
107
|
-
def get_fast_test_timeouts(cls) ->
|
117
|
+
def get_fast_test_timeouts(cls) -> dict[str, int]:
|
108
118
|
"""Get fast connection test timeouts for initial viability testing."""
|
109
119
|
return cls.FAST_TEST_TIMEOUTS.copy()
|
110
120
|
|
@@ -117,7 +127,7 @@ class ToolkitSettings:
|
|
117
127
|
)
|
118
128
|
|
119
129
|
@classmethod
|
120
|
-
def get_timeouts_for_device(cls, device_type_model: str = "") ->
|
130
|
+
def get_timeouts_for_device(cls, device_type_model: str = "") -> dict[str, int]:
|
121
131
|
"""Get timeout configuration for a specific device type."""
|
122
132
|
timeouts = cls.DEFAULT_TIMEOUTS.copy()
|
123
133
|
|
@@ -140,17 +150,17 @@ class ToolkitSettings:
|
|
140
150
|
return cls.PLATFORM_ALIASES.get(platform_lower, platform_lower)
|
141
151
|
|
142
152
|
@classmethod
|
143
|
-
def get_ssh_options(cls) ->
|
153
|
+
def get_ssh_options(cls) -> dict[str, Any]:
|
144
154
|
"""Get SSH transport options."""
|
145
155
|
return cls.SSH_TRANSPORT_OPTIONS.copy()
|
146
156
|
|
147
157
|
@classmethod
|
148
|
-
def get_retry_config(cls) ->
|
158
|
+
def get_retry_config(cls) -> dict[str, int]:
|
149
159
|
"""Get retry configuration."""
|
150
160
|
return cls.RETRY_CONFIG.copy()
|
151
161
|
|
152
162
|
@classmethod
|
153
|
-
def get_ssh_transport_options(cls) ->
|
163
|
+
def get_ssh_transport_options(cls) -> dict[str, Any]:
|
154
164
|
"""Get SSH transport options for Scrapli."""
|
155
165
|
user_config = getattr(settings, "PLUGINS_CONFIG", {}).get(
|
156
166
|
"netbox_toolkit_plugin", {}
|
@@ -158,7 +168,7 @@ class ToolkitSettings:
|
|
158
168
|
return {**cls.SSH_TRANSPORT_OPTIONS, **user_config.get("ssh_options", {})}
|
159
169
|
|
160
170
|
@classmethod
|
161
|
-
def get_netmiko_config(cls) ->
|
171
|
+
def get_netmiko_config(cls) -> dict[str, Any]:
|
162
172
|
"""Get Netmiko configuration for fallback connections."""
|
163
173
|
user_config = getattr(settings, "PLUGINS_CONFIG", {}).get(
|
164
174
|
"netbox_toolkit_plugin", {}
|
@@ -3,13 +3,13 @@ README.md
|
|
3
3
|
pyproject.toml
|
4
4
|
netbox_toolkit_plugin/__init__.py
|
5
5
|
netbox_toolkit_plugin/admin.py
|
6
|
-
netbox_toolkit_plugin/config.py
|
7
6
|
netbox_toolkit_plugin/exceptions.py
|
8
7
|
netbox_toolkit_plugin/filtersets.py
|
9
8
|
netbox_toolkit_plugin/forms.py
|
10
9
|
netbox_toolkit_plugin/models.py
|
11
10
|
netbox_toolkit_plugin/navigation.py
|
12
11
|
netbox_toolkit_plugin/search.py
|
12
|
+
netbox_toolkit_plugin/settings.py
|
13
13
|
netbox_toolkit_plugin/tables.py
|
14
14
|
netbox_toolkit_plugin/urls.py
|
15
15
|
netbox_toolkit_plugin/views.py
|
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
|
|
7
7
|
|
8
8
|
[project]
|
9
9
|
name = "netbox-toolkit-plugin"
|
10
|
-
version = "0.1.
|
10
|
+
version = "0.1.2"
|
11
11
|
authors = [
|
12
12
|
{name = "Andy Norwood"},
|
13
13
|
]
|
@@ -28,7 +28,7 @@ requires-python = ">=3.10.0"
|
|
28
28
|
|
29
29
|
dependencies = [
|
30
30
|
"scrapli>=2023.1.30",
|
31
|
-
"scrapli-netconf>=2023.1.30",
|
31
|
+
"scrapli-netconf>=2023.1.30",
|
32
32
|
"scrapli-community>=2023.1.30",
|
33
33
|
"netmiko>=4.0.0"
|
34
34
|
]
|
File without changes
|
File without changes
|
File without changes
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/__init__.py
RENAMED
File without changes
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/mixins.py
RENAMED
File without changes
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/schemas.py
RENAMED
File without changes
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/serializers.py
RENAMED
File without changes
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/api/urls.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/connectors/base.py
RENAMED
File without changes
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/exceptions.py
RENAMED
File without changes
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/filtersets.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
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/navigation.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
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/logging.py
RENAMED
File without changes
|
{netbox_toolkit_plugin-0.1.1 → netbox_toolkit_plugin-0.1.2}/netbox_toolkit_plugin/utils/network.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|