netbox-toolkit-plugin 0.1.1__py3-none-any.whl → 0.1.2__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.
@@ -1,7 +1,7 @@
1
1
  from netbox.plugins import PluginConfig
2
2
 
3
3
  __author__ = "Andy Norwood"
4
- __version__ = "0.1.1"
4
+ __version__ = "0.1.2"
5
5
 
6
6
 
7
7
  class ToolkitPluginConfig(PluginConfig):
@@ -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 ..config import ToolkitSettings
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 ..config import ToolkitSettings
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 ..config import ToolkitSettings
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 ..config import ToolkitSettings
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 Dict, Any
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) -> Dict[str, int]:
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 = "") -> Dict[str, int]:
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) -> Dict[str, Any]:
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) -> Dict[str, int]:
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) -> Dict[str, Any]:
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) -> Dict[str, Any]:
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", {}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: netbox-toolkit-plugin
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: NetBox plugin for running pre-defined commands on network devices
5
5
  Author: Andy Norwood
6
6
  Classifier: Development Status :: 3 - Alpha
@@ -1,12 +1,12 @@
1
- netbox_toolkit_plugin/__init__.py,sha256=pfAgtNX_fMjsJ_XrZC_-SbndIlqNBZnwhjtzdPXBurk,848
1
+ netbox_toolkit_plugin/__init__.py,sha256=3QswdYHYy_jIlALcrIFznVfnJ0g_-OzQ9B2ACQagKh4,848
2
2
  netbox_toolkit_plugin/admin.py,sha256=j0O2hke80XbGCfU3lkxl8__tRmBArNLoQtLyA39hepI,690
3
- netbox_toolkit_plugin/config.py,sha256=jaiEm75PT043X4v6lvkEd4ku9fBgjNZs6B_lHxaazu0,5489
4
3
  netbox_toolkit_plugin/exceptions.py,sha256=qh7SxXLTqwsduxUMiTA_pXQ67VHSpxRuQgdlfXMl6Bk,785
5
4
  netbox_toolkit_plugin/filtersets.py,sha256=ppmnfQ8IUHm60BiJR9_cdn1ygvuFlMfj6YIFLJ-XeMc,2722
6
5
  netbox_toolkit_plugin/forms.py,sha256=6aUaXuJtx3ZL2iEbIq2zXuiXCu2bAHDUMI2EJJBPsWg,1037
7
6
  netbox_toolkit_plugin/models.py,sha256=-TyH0xJrHxqfM1XC5pAFesQF38oec6JcAJs81Ay6arE,2761
8
7
  netbox_toolkit_plugin/navigation.py,sha256=SvJRHkvlFgG42sLwxCTG6-6X976IgXTKhiRCPe8ZG6U,965
9
8
  netbox_toolkit_plugin/search.py,sha256=v8HPgp_0Nq-s_IoV7n4Kfi63_u535jVAoT-31ntdZlA,564
9
+ netbox_toolkit_plugin/settings.py,sha256=9Rc1kIPNbnJYEOpc1UQGULbIZUTN5VE7aFmeZyXPWo0,5797
10
10
  netbox_toolkit_plugin/tables.py,sha256=kR90aUXuJxKiSNz7Mm62ZanodDBtExDj7AgROkh1rJw,1417
11
11
  netbox_toolkit_plugin/urls.py,sha256=CbwZvFreUifZUFZUQrC-KyqVte_INKzMhnSIgzAFUVY,1215
12
12
  netbox_toolkit_plugin/views.py,sha256=mmcxl70hgZ-W1R9gozXneeczcyP33InldLZRW1_p-yA,18782
@@ -20,9 +20,9 @@ netbox_toolkit_plugin/api/views/command_logs.py,sha256=4PdUQPvle9R9pJcJalYS4MCKY
20
20
  netbox_toolkit_plugin/api/views/commands.py,sha256=dv6sjN3L0FTyAWmM4u7zZBPOug6H_WcIR6egd3XE3A4,10939
21
21
  netbox_toolkit_plugin/connectors/__init__.py,sha256=lL1WCo-rlcjNGVwmwSN1PT592xr5LEPT8k5zEVZlltE,419
22
22
  netbox_toolkit_plugin/connectors/base.py,sha256=Z88tVG87H8IXdub55t-_uu1ptdhKo0uaz9l9iO-Xi0I,2829
23
- netbox_toolkit_plugin/connectors/factory.py,sha256=kWVwVE2SFibcUxl9sFAWoAWl0ehh4vd7uxMmZQU3C7o,13720
24
- netbox_toolkit_plugin/connectors/netmiko_connector.py,sha256=6gOO3xlUDghRWjKzB__TTPQESN11djqaBZaESd2BWYY,18963
25
- netbox_toolkit_plugin/connectors/scrapli_connector.py,sha256=FjMIFmWt-B7W3W9fdO6gauVLxH7JnLt-s99kPGvvOzg,23367
23
+ netbox_toolkit_plugin/connectors/factory.py,sha256=z_XULU26VuyfdwkqyFMvmTFqrPVDSmmmmlt5Slk0-lU,13722
24
+ netbox_toolkit_plugin/connectors/netmiko_connector.py,sha256=k2bNuKMCJjb1F8lXR05v19GMFURDqG6SammlIKBz_Kk,18965
25
+ netbox_toolkit_plugin/connectors/scrapli_connector.py,sha256=O3iuVczGophquhA5-QECZPa68rLp2DDh5Jk2JXKEk1M,23369
26
26
  netbox_toolkit_plugin/migrations/0001_initial.py,sha256=4fycU83wXx-sN73YTxAZekRDx9uVxzHg38Dl-G6EqxY,3729
27
27
  netbox_toolkit_plugin/migrations/0002_alter_command_options_alter_command_unique_together_and_more.py,sha256=FrGCbl5BnnWzqjLsMZtykgnAjzpI0j6A-6SQxKwGiAM,2174
28
28
  netbox_toolkit_plugin/migrations/0003_permission_system_update.py,sha256=BUBDkAnn04Snqj-EZdi0vfCIXjbakUMlmnCawUPwpbI,1965
@@ -32,7 +32,7 @@ netbox_toolkit_plugin/migrations/0006_commandlog_parsed_data_commandlog_parsing_
32
32
  netbox_toolkit_plugin/migrations/0007_alter_commandlog_parsing_template.py,sha256=VedbEIA-54JL_2I-MC1YPqppKS8WdpedB1nbFIkBcLU,512
33
33
  netbox_toolkit_plugin/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  netbox_toolkit_plugin/services/__init__.py,sha256=nzdv0yOAyoAgm3ReKn-zLCbxkzEZfDpfnVDy9UExtyg,273
35
- netbox_toolkit_plugin/services/command_service.py,sha256=MCxIasZkdt6xfry2dDGCr1O28LmXxfz4A-vDwNL2uV4,15989
35
+ netbox_toolkit_plugin/services/command_service.py,sha256=e-PmGelmwZnTgxBf6L8-aditnj_10RlNVL8qjQVpkPo,15991
36
36
  netbox_toolkit_plugin/services/device_service.py,sha256=SWqWw7c5cBhbXE_jCJwfgc3KvxchQq_6NeS2hlb3NDA,2945
37
37
  netbox_toolkit_plugin/services/rate_limiting_service.py,sha256=prru5A8TZ9kVGsapNoxYxFyPONaHp2zmaVn1clFXBCU,8574
38
38
  netbox_toolkit_plugin/static/netbox_toolkit_plugin/css/toolkit.css,sha256=VmyM2_rBJhiP43whtMFaYYP4EW4MUGHPPr84mOo_0Qg,4236
@@ -52,9 +52,9 @@ netbox_toolkit_plugin/utils/connection.py,sha256=XWUNOaJ9TBIO6XuESTPi3RSwe8bKlyZ
52
52
  netbox_toolkit_plugin/utils/error_parser.py,sha256=tl6QrFW_0bugZKXHl5V_UPY3VDKdp6jDskLtM5oaYAI,16811
53
53
  netbox_toolkit_plugin/utils/logging.py,sha256=AfIPUNUUKYyVqGqTiS7xi96KBNs5BYZjEK8_61SPnOk,1916
54
54
  netbox_toolkit_plugin/utils/network.py,sha256=__Xz3pYhd7FtMYAsnFZGbW2akQ8uRY2tjs4axIoZMhA,6100
55
- netbox_toolkit_plugin-0.1.1.dist-info/licenses/LICENSE,sha256=oxRw-SpalZWfCdc8ZALEDboD9OV22cBRrLIpXz2f7a8,11273
56
- netbox_toolkit_plugin-0.1.1.dist-info/METADATA,sha256=6wdLBUUcGI4wxXIimULs9thtBz90eWKpfWIkqC7_W80,3157
57
- netbox_toolkit_plugin-0.1.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
58
- netbox_toolkit_plugin-0.1.1.dist-info/entry_points.txt,sha256=CwLAZ6veCye0uzfADprW9FSnOkWEPj2NGiO8usdW_oE,62
59
- netbox_toolkit_plugin-0.1.1.dist-info/top_level.txt,sha256=XScXYui_2rj4aEFemGc-r5CqKgcmq_dwHgQy-SodK0Q,22
60
- netbox_toolkit_plugin-0.1.1.dist-info/RECORD,,
55
+ netbox_toolkit_plugin-0.1.2.dist-info/licenses/LICENSE,sha256=oxRw-SpalZWfCdc8ZALEDboD9OV22cBRrLIpXz2f7a8,11273
56
+ netbox_toolkit_plugin-0.1.2.dist-info/METADATA,sha256=IgLYRDTT9MX-4Xb1aDUSgPKB-baSFJi__Pa1v8El7vA,3157
57
+ netbox_toolkit_plugin-0.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
58
+ netbox_toolkit_plugin-0.1.2.dist-info/entry_points.txt,sha256=CwLAZ6veCye0uzfADprW9FSnOkWEPj2NGiO8usdW_oE,62
59
+ netbox_toolkit_plugin-0.1.2.dist-info/top_level.txt,sha256=XScXYui_2rj4aEFemGc-r5CqKgcmq_dwHgQy-SodK0Q,22
60
+ netbox_toolkit_plugin-0.1.2.dist-info/RECORD,,