Netbox plugin to manage attachments for any model
Project description
NetBox Attachments Plugin
NetBox plugin for attaching files to any model.
Features
This plugin provides the following model:
- NetBoxAttachment: A model for attaching files to any NetBox object.
Compatibility
The following table shows the compatibility between different NetBox versions and plugin versions:
NetBox Version | Plugin Version |
---|---|
>= 3.3.4 | 0.0.0 - 0.0.5 |
>= 3.4.0 | 0.0.6 - 1.0.6 |
>= 3.4.3 | 1.0.7 - 1.1.x |
>= 3.5.0 | 2.0.0 |
>= 3.6.0 | 3.0.0 |
>= 3.7.0 | 4.0.0 |
>= 4.0.0 | 5.x.x |
>= 4.1.0 | 6.x.x |
Installation
The plugin is available as a Python package on PyPI and can be installed with pip
:
pip install netbox-attachments
To enable the plugin, add it to the PLUGINS
list in your configuration.py
:
PLUGINS = ['netbox_attachments']
Next, create a directory for storing attachments and set the appropriate permissions:
mkdir -p /opt/netbox/netbox/media/netbox-attachments
chown netbox /opt/netbox/netbox/media/netbox-attachments
Run the database migrations for the plugin:
python3 manage.py migrate netbox_attachments
Restart NetBox and ensure that netbox-attachments
is included in your local_requirements.txt
.
For more details, see the NetBox Documentation.
Configuration
Plugin Options
The plugin can be customized using the following configuration options:
-
apps
:- Type: List
- Default:
['dcim', 'ipam', 'circuits', 'tenancy', 'virtualization', 'wireless']
- Description: Specify the app labels where the
Attachments
feature should be enabled. Attachments are displayed on theright_page
of the detail view of the models.
-
display_default
:- Type: String
- Default:
"additional_tab"
- Options:
"left_page"
,"right_page"
,"full_width_page"
,"additional_tab"
- Description: Sets the default location where attachments should be displayed in the models.
-
display_setting
:- Type: Dictionary
- Default:
{}
- Format:
{<app_label.model>: <preferred_display>}
- Example:
{'dcim.devicerole': 'full_width_page', 'dcim.device': 'left_page', 'ipam.vlan': 'additional_tab'}
- Description: Override the display settings for specific models.
- Tip: Use the correct
app_label
andmodel
names, which can be found in the API at<your_netbox_url>/api/extras/content-types/
.
Warning: The
additional_tab
option does not work for plugin models.
Configuration Example
Here is an example of how to configure the plugin in configuration.py
:
PLUGINS_CONFIG = {
'netbox_attachments': {
'apps': ['dcim', 'ipam', 'circuits', 'tenancy', 'virtualization', 'wireless', 'inventory_monitor'],
'display_default': "right_page",
'display_setting': {
'ipam.vlan': "left_page",
'dcim.device': "full_width_page",
'dcim.devicerole': "full_width_page",
'inventory_monitor.probe': "additional_tab"
}
}
}
Enabling Attachments for Custom Plugins (Models)
To enable attachments for custom plugin models:
-
Append your plugin to the
apps
configuration list:apps: ['<plugin_name>']
-
Extend the detail templates of your plugin models:
{% load plugins %} # At the top of the template {% plugin_right_page object %} # Under the comments section # Add left_page and full_width for future extensions
Example (Device Model)
Screenshots
-
Model View:
-
List View:
-
Detail View:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file netbox_attachments-6.0.0.tar.gz
.
File metadata
- Download URL: netbox_attachments-6.0.0.tar.gz
- Upload date:
- Size: 17.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33d01cabaf924a4c9799a783728efcb974fe474a76ee347878ee7af7b25a0788 |
|
MD5 | e6db3a4290302d4cab5e258247b5ff0f |
|
BLAKE2b-256 | 68b60baac2bae01e12dda52b51c6e1efacdf03c084669a3f7ab9122e1d8c6b32 |
File details
Details for the file netbox_attachments-6.0.0-py3-none-any.whl
.
File metadata
- Download URL: netbox_attachments-6.0.0-py3-none-any.whl
- Upload date:
- Size: 24.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f3de78f48a724b763f53eed13182c67490d284146e3ba41f7f7a912314e1437 |
|
MD5 | 952d26dc53bfa77d384279247d5a6510 |
|
BLAKE2b-256 | d022da3783832dcf989d2defd0189e5cf919f4a1169bce942f3746e730f0c5c4 |