mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
19f577ccaf
* Fixes: #13918 - Add facilities field to Location model. * Stupidly forgot to `git add` * Fix errant reference to site. * Misc cleanup --------- Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
352 lines
8.0 KiB
Python
352 lines
8.0 KiB
Python
from netbox.search import SearchIndex, register_search
|
|
from . import models
|
|
|
|
|
|
@register_search
|
|
class CableIndex(SearchIndex):
|
|
model = models.Cable
|
|
fields = (
|
|
('label', 100),
|
|
('description', 500),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = ('type', 'status', 'tenant', 'label', 'description')
|
|
|
|
|
|
@register_search
|
|
class ConsolePortIndex(SearchIndex):
|
|
model = models.ConsolePort
|
|
fields = (
|
|
('name', 100),
|
|
('label', 200),
|
|
('description', 500),
|
|
('speed', 2000),
|
|
)
|
|
display_attrs = ('device', 'label', 'type', 'description')
|
|
|
|
|
|
@register_search
|
|
class ConsoleServerPortIndex(SearchIndex):
|
|
model = models.ConsoleServerPort
|
|
fields = (
|
|
('name', 100),
|
|
('label', 200),
|
|
('description', 500),
|
|
('speed', 2000),
|
|
)
|
|
display_attrs = ('device', 'label', 'type', 'description')
|
|
|
|
|
|
@register_search
|
|
class DeviceIndex(SearchIndex):
|
|
model = models.Device
|
|
fields = (
|
|
('asset_tag', 50),
|
|
('serial', 60),
|
|
('name', 100),
|
|
('description', 500),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = (
|
|
'site', 'location', 'rack', 'status', 'device_type', 'role', 'tenant', 'platform', 'serial', 'asset_tag',
|
|
'description',
|
|
)
|
|
|
|
|
|
@register_search
|
|
class DeviceBayIndex(SearchIndex):
|
|
model = models.DeviceBay
|
|
fields = (
|
|
('name', 100),
|
|
('label', 200),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('device', 'label', 'description')
|
|
|
|
|
|
@register_search
|
|
class DeviceRoleIndex(SearchIndex):
|
|
model = models.DeviceRole
|
|
fields = (
|
|
('name', 100),
|
|
('slug', 110),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('description',)
|
|
|
|
|
|
@register_search
|
|
class DeviceTypeIndex(SearchIndex):
|
|
model = models.DeviceType
|
|
fields = (
|
|
('model', 100),
|
|
('part_number', 200),
|
|
('description', 500),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = ('manufacturer', 'part_number', 'description')
|
|
|
|
|
|
@register_search
|
|
class FrontPortIndex(SearchIndex):
|
|
model = models.FrontPort
|
|
fields = (
|
|
('name', 100),
|
|
('label', 200),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('device', 'label', 'type', 'description')
|
|
|
|
|
|
@register_search
|
|
class InterfaceIndex(SearchIndex):
|
|
model = models.Interface
|
|
fields = (
|
|
('name', 100),
|
|
('label', 200),
|
|
('mac_address', 300),
|
|
('wwn', 300),
|
|
('description', 500),
|
|
('mtu', 2000),
|
|
('speed', 2000),
|
|
)
|
|
display_attrs = ('device', 'label', 'type', 'mac_address', 'wwn', 'description')
|
|
|
|
|
|
@register_search
|
|
class InventoryItemIndex(SearchIndex):
|
|
model = models.InventoryItem
|
|
fields = (
|
|
('asset_tag', 50),
|
|
('serial', 60),
|
|
('name', 100),
|
|
('label', 200),
|
|
('description', 500),
|
|
('part_id', 2000),
|
|
)
|
|
display_attrs = ('device', 'manufacturer', 'parent', 'part_id', 'serial', 'asset_tag', 'description')
|
|
|
|
|
|
@register_search
|
|
class LocationIndex(SearchIndex):
|
|
model = models.Location
|
|
fields = (
|
|
('name', 100),
|
|
('facility', 100),
|
|
('slug', 110),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('site', 'status', 'tenant', 'facility', 'description')
|
|
|
|
|
|
@register_search
|
|
class ManufacturerIndex(SearchIndex):
|
|
model = models.Manufacturer
|
|
fields = (
|
|
('name', 100),
|
|
('slug', 110),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('description',)
|
|
|
|
|
|
@register_search
|
|
class ModuleIndex(SearchIndex):
|
|
model = models.Module
|
|
fields = (
|
|
('asset_tag', 50),
|
|
('serial', 60),
|
|
('description', 500),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = ('device', 'module_bay', 'module_type', 'status', 'serial', 'asset_tag', 'description')
|
|
|
|
|
|
@register_search
|
|
class ModuleBayIndex(SearchIndex):
|
|
model = models.ModuleBay
|
|
fields = (
|
|
('name', 100),
|
|
('label', 200),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('device', 'label', 'position', 'description')
|
|
|
|
|
|
@register_search
|
|
class ModuleTypeIndex(SearchIndex):
|
|
model = models.ModuleType
|
|
fields = (
|
|
('model', 100),
|
|
('part_number', 200),
|
|
('description', 500),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = ('manufacturer', 'model', 'part_number', 'description')
|
|
|
|
|
|
@register_search
|
|
class PlatformIndex(SearchIndex):
|
|
model = models.Platform
|
|
fields = (
|
|
('name', 100),
|
|
('slug', 110),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('manufacturer', 'description')
|
|
|
|
|
|
@register_search
|
|
class PowerFeedIndex(SearchIndex):
|
|
model = models.PowerFeed
|
|
fields = (
|
|
('name', 100),
|
|
('description', 500),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = ('power_panel', 'rack', 'status', 'description')
|
|
|
|
|
|
@register_search
|
|
class PowerOutletIndex(SearchIndex):
|
|
model = models.PowerOutlet
|
|
fields = (
|
|
('name', 100),
|
|
('label', 200),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('device', 'label', 'type', 'description')
|
|
|
|
|
|
@register_search
|
|
class PowerPanelIndex(SearchIndex):
|
|
model = models.PowerPanel
|
|
fields = (
|
|
('name', 100),
|
|
('description', 500),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = ('site', 'location', 'description')
|
|
|
|
|
|
@register_search
|
|
class PowerPortIndex(SearchIndex):
|
|
model = models.PowerPort
|
|
fields = (
|
|
('name', 100),
|
|
('label', 200),
|
|
('description', 500),
|
|
('maximum_draw', 2000),
|
|
('allocated_draw', 2000),
|
|
)
|
|
display_attrs = ('device', 'label', 'type', 'description')
|
|
|
|
|
|
@register_search
|
|
class RackIndex(SearchIndex):
|
|
model = models.Rack
|
|
fields = (
|
|
('asset_tag', 50),
|
|
('serial', 60),
|
|
('name', 100),
|
|
('facility_id', 200),
|
|
('description', 500),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = (
|
|
'site', 'location', 'facility_id', 'tenant', 'status', 'role', 'serial', 'asset_tag', 'description',
|
|
)
|
|
|
|
|
|
@register_search
|
|
class RackReservationIndex(SearchIndex):
|
|
model = models.RackReservation
|
|
fields = (
|
|
('description', 500),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = ('rack', 'tenant', 'user', 'description')
|
|
|
|
|
|
@register_search
|
|
class RackRoleIndex(SearchIndex):
|
|
model = models.RackRole
|
|
fields = (
|
|
('name', 100),
|
|
('slug', 110),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('description',)
|
|
|
|
|
|
@register_search
|
|
class RearPortIndex(SearchIndex):
|
|
model = models.RearPort
|
|
fields = (
|
|
('name', 100),
|
|
('label', 200),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('device', 'label', 'type', 'description')
|
|
|
|
|
|
@register_search
|
|
class RegionIndex(SearchIndex):
|
|
model = models.Region
|
|
fields = (
|
|
('name', 100),
|
|
('slug', 110),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('parent', 'description')
|
|
|
|
|
|
@register_search
|
|
class SiteIndex(SearchIndex):
|
|
model = models.Site
|
|
fields = (
|
|
('name', 100),
|
|
('facility', 100),
|
|
('slug', 110),
|
|
('description', 500),
|
|
('physical_address', 2000),
|
|
('shipping_address', 2000),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = ('region', 'group', 'status', 'tenant', 'facility', 'description')
|
|
|
|
|
|
@register_search
|
|
class SiteGroupIndex(SearchIndex):
|
|
model = models.SiteGroup
|
|
fields = (
|
|
('name', 100),
|
|
('slug', 110),
|
|
('description', 500),
|
|
)
|
|
display_attrs = ('parent', 'description')
|
|
|
|
|
|
@register_search
|
|
class VirtualChassisIndex(SearchIndex):
|
|
model = models.VirtualChassis
|
|
fields = (
|
|
('name', 100),
|
|
('domain', 300),
|
|
('description', 500),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = ('master', 'domain', 'description')
|
|
|
|
|
|
@register_search
|
|
class VirtualDeviceContextIndex(SearchIndex):
|
|
model = models.VirtualDeviceContext
|
|
fields = (
|
|
('name', 100),
|
|
('identifier', 300),
|
|
('description', 500),
|
|
('comments', 5000),
|
|
)
|
|
display_attrs = ('device', 'status', 'identifier', 'tenant', 'description')
|