Skip to content

Kani999/netbox-attachments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetBox Attachments Plugin

Netbox plugin for attaching files to any model.

Features

This plugin provide following Models:

  • NetBoxAttachment

Compatibility

Netbox Plugin
>= 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.0.0

Installation

The plugin is available as a Python package in pypi and can be installed with pip

pip install netbox-attachments

Enable the plugin in configuration.py:

PLUGINS = ['netbox_attachments']

Restart NetBox and add netbox-attachments to your local_requirements.txt

See NetBox Documentation for details

Configuration

The following options are available:

  • apps:
    • Type: List
    • Default: ['dcim', 'ipam', 'circuits', 'tenancy', 'virtualization', 'wireless']
    • Description: Display Attachments feature on all models definded under the app label. Attachmets are displayed on right_page of the detail-view of model.
  • display_default:
    • Type: String
    • Default: "additional_tab"
    • Options: "left_page", "right_page", "full_width_page", "additional_tab"
    • Description: Setup default setting of where attachments should be displayed under the models
  • display_setting:
    • Type: Dict
    • Default: {}
    • Options: {<app_label.model>: <prefeered_display>}
    • Example: {'dcim.devicerole': 'full_width_page', 'dcim.device': 'left_page', 'ipam.vlan': 'additional_tab'}
    • Description: Set display setting for concrete model
    • Tip: Proper app_label and model names could be found at API <your_netbox_url>/api/extras/content-types/

Warning additional_tab does not work for Plugin models

Configuration Example:

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"}
    }
}

Enable Attachments for custom plugin (models)

  • Append your plugin to configuration list
    • apps: ['<plugin_name>']
  • Extend detail templates
    •   # At the TOP
        {% load plugins %}
        # Under a comments section
        {% plugin_right_page object %}
        # add the left_page and full_width for future extension
      

Screenshots

  • Model View Platform attachments
  • List View List View
  • Detail View Detail View