1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Standardize model types based on function

This commit is contained in:
Jeremy Stretch
2021-02-24 21:01:16 -05:00
parent 0a6ebdee48
commit bec7ea7072
31 changed files with 1569 additions and 579 deletions

View File

@@ -5,6 +5,8 @@ from django.db import models
from dcim.choices import *
from dcim.constants import *
from extras.models import ObjectChange
from extras.utils import extras_features
from netbox.models import PrimaryModel
from utilities.fields import NaturalOrderingField
from utilities.querysets import RestrictedQuerySet
from utilities.ordering import naturalize_interface
@@ -26,7 +28,7 @@ __all__ = (
)
class ComponentTemplateModel(models.Model):
class ComponentTemplateModel(PrimaryModel):
device_type = models.ForeignKey(
to='dcim.DeviceType',
on_delete=models.CASCADE,
@@ -82,6 +84,7 @@ class ComponentTemplateModel(models.Model):
)
@extras_features('custom_fields', 'export_templates', 'webhooks')
class ConsolePortTemplate(ComponentTemplateModel):
"""
A template for a ConsolePort to be created for a new Device.
@@ -105,6 +108,7 @@ class ConsolePortTemplate(ComponentTemplateModel):
)
@extras_features('custom_fields', 'export_templates', 'webhooks')
class ConsoleServerPortTemplate(ComponentTemplateModel):
"""
A template for a ConsoleServerPort to be created for a new Device.
@@ -128,6 +132,7 @@ class ConsoleServerPortTemplate(ComponentTemplateModel):
)
@extras_features('custom_fields', 'export_templates', 'webhooks')
class PowerPortTemplate(ComponentTemplateModel):
"""
A template for a PowerPort to be created for a new Device.
@@ -174,6 +179,7 @@ class PowerPortTemplate(ComponentTemplateModel):
})
@extras_features('custom_fields', 'export_templates', 'webhooks')
class PowerOutletTemplate(ComponentTemplateModel):
"""
A template for a PowerOutlet to be created for a new Device.
@@ -225,6 +231,7 @@ class PowerOutletTemplate(ComponentTemplateModel):
)
@extras_features('custom_fields', 'export_templates', 'webhooks')
class InterfaceTemplate(ComponentTemplateModel):
"""
A template for a physical data interface on a new Device.
@@ -259,6 +266,7 @@ class InterfaceTemplate(ComponentTemplateModel):
)
@extras_features('custom_fields', 'export_templates', 'webhooks')
class FrontPortTemplate(ComponentTemplateModel):
"""
Template for a pass-through port on the front of a new Device.
@@ -319,6 +327,7 @@ class FrontPortTemplate(ComponentTemplateModel):
)
@extras_features('custom_fields', 'export_templates', 'webhooks')
class RearPortTemplate(ComponentTemplateModel):
"""
Template for a pass-through port on the rear of a new Device.
@@ -349,6 +358,7 @@ class RearPortTemplate(ComponentTemplateModel):
)
@extras_features('custom_fields', 'export_templates', 'webhooks')
class DeviceBayTemplate(ComponentTemplateModel):
"""
A template for a DeviceBay to be created for a new parent Device.