mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-09 00:58:16 -06:00
15156 add url display_url to base class
This commit is contained in:
parent
cdbb816095
commit
8b80b5e1cd
@ -27,7 +27,7 @@ Serializers are responsible for converting Python objects to JSON data suitable
|
|||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
|
|
||||||
To create a serializer for a plugin model, subclass `NetBoxModelSerializer` in `api/serializers.py`. Specify the model class and the fields to include within the serializer's `Meta` class. It is generally advisable to include a `url` attribute on each serializer. This will render the direct link to access the object being rendered.
|
To create a serializer for a plugin model, subclass `NetBoxModelSerializer` in `api/serializers.py`. Specify the model class and the fields to include within the serializer's `Meta` class.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
# api/serializers.py
|
# api/serializers.py
|
||||||
@ -36,12 +36,7 @@ from netbox.api.serializers import NetBoxModelSerializer
|
|||||||
from my_plugin.models import MyModel
|
from my_plugin.models import MyModel
|
||||||
|
|
||||||
class MyModelSerializer(NetBoxModelSerializer):
|
class MyModelSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
foo = SiteSerializer(nested=True, allow_null=True)
|
||||||
view_name='plugins-api:myplugin-api:mymodel-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='plugins:myplugin:mymodel'
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = MyModel
|
model = MyModel
|
||||||
@ -66,12 +61,7 @@ from netbox.api.serializers import WritableNestedSerializer
|
|||||||
from my_plugin.models import MyModel
|
from my_plugin.models import MyModel
|
||||||
|
|
||||||
class NestedMyModelSerializer(WritableNestedSerializer):
|
class NestedMyModelSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
foo = SiteSerializer(nested=True, allow_null=True)
|
||||||
view_name='plugins-api:myplugin-api:mymodel-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='plugins:myplugin:mymodel'
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = MyModel
|
model = MyModel
|
||||||
|
@ -20,8 +20,6 @@ __all__ = [
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedProviderNetworkSerializer(WritableNestedSerializer):
|
class NestedProviderNetworkSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:providernetwork-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:providernetwork')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ProviderNetwork
|
model = ProviderNetwork
|
||||||
@ -36,8 +34,6 @@ class NestedProviderNetworkSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('circuit_count',),
|
exclude_fields=('circuit_count',),
|
||||||
)
|
)
|
||||||
class NestedProviderSerializer(WritableNestedSerializer):
|
class NestedProviderSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:provider-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:provider')
|
|
||||||
circuit_count = RelatedObjectCountField('circuits')
|
circuit_count = RelatedObjectCountField('circuits')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -50,8 +46,6 @@ class NestedProviderSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedProviderAccountSerializer(WritableNestedSerializer):
|
class NestedProviderAccountSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:provideraccount-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:provideraccount')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ProviderAccount
|
model = ProviderAccount
|
||||||
@ -66,8 +60,6 @@ class NestedProviderAccountSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('circuit_count',),
|
exclude_fields=('circuit_count',),
|
||||||
)
|
)
|
||||||
class NestedCircuitTypeSerializer(WritableNestedSerializer):
|
class NestedCircuitTypeSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:circuittype-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:circuittype')
|
|
||||||
circuit_count = RelatedObjectCountField('circuits')
|
circuit_count = RelatedObjectCountField('circuits')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -76,8 +68,6 @@ class NestedCircuitTypeSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedCircuitSerializer(WritableNestedSerializer):
|
class NestedCircuitSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:circuit-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:circuit')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Circuit
|
model = Circuit
|
||||||
@ -85,8 +75,6 @@ class NestedCircuitSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedCircuitTerminationSerializer(WritableNestedSerializer):
|
class NestedCircuitTerminationSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:circuittermination-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:circuittermination')
|
|
||||||
circuit = NestedCircuitSerializer()
|
circuit = NestedCircuitSerializer()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -18,8 +18,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class CircuitTypeSerializer(NetBoxModelSerializer):
|
class CircuitTypeSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:circuittype-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:circuittype')
|
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
circuit_count = RelatedObjectCountField('circuits')
|
circuit_count = RelatedObjectCountField('circuits')
|
||||||
@ -34,8 +32,6 @@ class CircuitTypeSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class CircuitCircuitTerminationSerializer(WritableNestedSerializer):
|
class CircuitCircuitTerminationSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:circuittermination-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:circuittermination')
|
|
||||||
site = SiteSerializer(nested=True, allow_null=True)
|
site = SiteSerializer(nested=True, allow_null=True)
|
||||||
provider_network = ProviderNetworkSerializer(nested=True, allow_null=True)
|
provider_network = ProviderNetworkSerializer(nested=True, allow_null=True)
|
||||||
|
|
||||||
@ -48,8 +44,6 @@ class CircuitCircuitTerminationSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class CircuitSerializer(NetBoxModelSerializer):
|
class CircuitSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:circuit-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:circuit')
|
|
||||||
provider = ProviderSerializer(nested=True)
|
provider = ProviderSerializer(nested=True)
|
||||||
provider_account = ProviderAccountSerializer(nested=True, required=False, allow_null=True, default=None)
|
provider_account = ProviderAccountSerializer(nested=True, required=False, allow_null=True, default=None)
|
||||||
status = ChoiceField(choices=CircuitStatusChoices, required=False)
|
status = ChoiceField(choices=CircuitStatusChoices, required=False)
|
||||||
@ -69,8 +63,6 @@ class CircuitSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class CircuitTerminationSerializer(NetBoxModelSerializer, CabledObjectSerializer):
|
class CircuitTerminationSerializer(NetBoxModelSerializer, CabledObjectSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:circuittermination-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:circuittermination')
|
|
||||||
circuit = CircuitSerializer(nested=True)
|
circuit = CircuitSerializer(nested=True)
|
||||||
site = SiteSerializer(nested=True, required=False, allow_null=True)
|
site = SiteSerializer(nested=True, required=False, allow_null=True)
|
||||||
provider_network = ProviderNetworkSerializer(nested=True, required=False, allow_null=True)
|
provider_network = ProviderNetworkSerializer(nested=True, required=False, allow_null=True)
|
||||||
|
@ -15,8 +15,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ProviderSerializer(NetBoxModelSerializer):
|
class ProviderSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:provider-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:provider')
|
|
||||||
accounts = SerializedPKRelatedField(
|
accounts = SerializedPKRelatedField(
|
||||||
queryset=ProviderAccount.objects.all(),
|
queryset=ProviderAccount.objects.all(),
|
||||||
serializer=NestedProviderAccountSerializer,
|
serializer=NestedProviderAccountSerializer,
|
||||||
@ -44,8 +42,6 @@ class ProviderSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ProviderAccountSerializer(NetBoxModelSerializer):
|
class ProviderAccountSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:provideraccount-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:provideraccount')
|
|
||||||
provider = ProviderSerializer(nested=True)
|
provider = ProviderSerializer(nested=True)
|
||||||
name = serializers.CharField(allow_blank=True, max_length=100, required=False, default='')
|
name = serializers.CharField(allow_blank=True, max_length=100, required=False, default='')
|
||||||
|
|
||||||
@ -59,8 +55,6 @@ class ProviderAccountSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ProviderNetworkSerializer(NetBoxModelSerializer):
|
class ProviderNetworkSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='circuits-api:providernetwork-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='circuits:providernetwork')
|
|
||||||
provider = ProviderSerializer(nested=True)
|
provider = ProviderSerializer(nested=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -14,8 +14,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class NestedDataSourceSerializer(WritableNestedSerializer):
|
class NestedDataSourceSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='core-api:datasource-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='core:datasource')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = DataSource
|
model = DataSource
|
||||||
@ -23,8 +21,6 @@ class NestedDataSourceSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedDataFileSerializer(WritableNestedSerializer):
|
class NestedDataFileSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='core-api:datafile-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='core:datafile')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = DataFile
|
model = DataFile
|
||||||
@ -32,8 +28,6 @@ class NestedDataFileSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedJobSerializer(serializers.ModelSerializer):
|
class NestedJobSerializer(serializers.ModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='core-api:job-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='core:job')
|
|
||||||
status = ChoiceField(choices=JobStatusChoices)
|
status = ChoiceField(choices=JobStatusChoices)
|
||||||
user = UserSerializer(
|
user = UserSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
|
@ -13,12 +13,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class DataSourceSerializer(NetBoxModelSerializer):
|
class DataSourceSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='core-api:datasource-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='core:datasource'
|
|
||||||
)
|
|
||||||
type = ChoiceField(
|
type = ChoiceField(
|
||||||
choices=get_data_backend_choices()
|
choices=get_data_backend_choices()
|
||||||
)
|
)
|
||||||
@ -40,12 +34,6 @@ class DataSourceSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class DataFileSerializer(NetBoxModelSerializer):
|
class DataFileSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='core-api:datafile-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='core:datafile'
|
|
||||||
)
|
|
||||||
source = DataSourceSerializer(
|
source = DataSourceSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
read_only=True
|
read_only=True
|
||||||
|
@ -12,8 +12,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class JobSerializer(BaseModelSerializer):
|
class JobSerializer(BaseModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='core-api:job-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='core:job')
|
|
||||||
user = UserSerializer(
|
user = UserSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
read_only=True
|
read_only=True
|
||||||
|
@ -57,8 +57,6 @@ __all__ = [
|
|||||||
exclude_fields=('site_count',),
|
exclude_fields=('site_count',),
|
||||||
)
|
)
|
||||||
class NestedRegionSerializer(WritableNestedSerializer):
|
class NestedRegionSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:region-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:region')
|
|
||||||
site_count = serializers.IntegerField(read_only=True)
|
site_count = serializers.IntegerField(read_only=True)
|
||||||
_depth = serializers.IntegerField(source='level', read_only=True)
|
_depth = serializers.IntegerField(source='level', read_only=True)
|
||||||
|
|
||||||
@ -71,8 +69,6 @@ class NestedRegionSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('site_count',),
|
exclude_fields=('site_count',),
|
||||||
)
|
)
|
||||||
class NestedSiteGroupSerializer(WritableNestedSerializer):
|
class NestedSiteGroupSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:sitegroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:sitegroup')
|
|
||||||
site_count = serializers.IntegerField(read_only=True)
|
site_count = serializers.IntegerField(read_only=True)
|
||||||
_depth = serializers.IntegerField(source='level', read_only=True)
|
_depth = serializers.IntegerField(source='level', read_only=True)
|
||||||
|
|
||||||
@ -82,8 +78,6 @@ class NestedSiteGroupSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedSiteSerializer(WritableNestedSerializer):
|
class NestedSiteSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:site-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:site')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Site
|
model = models.Site
|
||||||
@ -98,8 +92,6 @@ class NestedSiteSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('rack_count',),
|
exclude_fields=('rack_count',),
|
||||||
)
|
)
|
||||||
class NestedLocationSerializer(WritableNestedSerializer):
|
class NestedLocationSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:location-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:location')
|
|
||||||
rack_count = serializers.IntegerField(read_only=True)
|
rack_count = serializers.IntegerField(read_only=True)
|
||||||
_depth = serializers.IntegerField(source='level', read_only=True)
|
_depth = serializers.IntegerField(source='level', read_only=True)
|
||||||
|
|
||||||
@ -112,8 +104,6 @@ class NestedLocationSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('rack_count',),
|
exclude_fields=('rack_count',),
|
||||||
)
|
)
|
||||||
class NestedRackRoleSerializer(WritableNestedSerializer):
|
class NestedRackRoleSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rackrole-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:rackrole')
|
|
||||||
rack_count = RelatedObjectCountField('racks')
|
rack_count = RelatedObjectCountField('racks')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -125,8 +115,6 @@ class NestedRackRoleSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('device_count',),
|
exclude_fields=('device_count',),
|
||||||
)
|
)
|
||||||
class NestedRackSerializer(WritableNestedSerializer):
|
class NestedRackSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rack-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:rack')
|
|
||||||
device_count = RelatedObjectCountField('devices')
|
device_count = RelatedObjectCountField('devices')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -135,8 +123,6 @@ class NestedRackSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedRackReservationSerializer(WritableNestedSerializer):
|
class NestedRackReservationSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rackreservation-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:rackreservation')
|
|
||||||
user = serializers.SerializerMethodField(read_only=True)
|
user = serializers.SerializerMethodField(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -155,8 +141,6 @@ class NestedRackReservationSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('devicetype_count',),
|
exclude_fields=('devicetype_count',),
|
||||||
)
|
)
|
||||||
class NestedManufacturerSerializer(WritableNestedSerializer):
|
class NestedManufacturerSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:manufacturer-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:manufacturer')
|
|
||||||
devicetype_count = RelatedObjectCountField('device_types')
|
devicetype_count = RelatedObjectCountField('device_types')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -168,8 +152,6 @@ class NestedManufacturerSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('device_count',),
|
exclude_fields=('device_count',),
|
||||||
)
|
)
|
||||||
class NestedDeviceTypeSerializer(WritableNestedSerializer):
|
class NestedDeviceTypeSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:devicetype-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:devicetype')
|
|
||||||
manufacturer = NestedManufacturerSerializer(read_only=True)
|
manufacturer = NestedManufacturerSerializer(read_only=True)
|
||||||
device_count = RelatedObjectCountField('instances')
|
device_count = RelatedObjectCountField('instances')
|
||||||
|
|
||||||
@ -179,8 +161,6 @@ class NestedDeviceTypeSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedModuleTypeSerializer(WritableNestedSerializer):
|
class NestedModuleTypeSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:moduletype-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:moduletype')
|
|
||||||
manufacturer = NestedManufacturerSerializer(read_only=True)
|
manufacturer = NestedManufacturerSerializer(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -193,8 +173,6 @@ class NestedModuleTypeSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedConsolePortTemplateSerializer(WritableNestedSerializer):
|
class NestedConsolePortTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:consoleporttemplate-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.ConsolePortTemplate
|
model = models.ConsolePortTemplate
|
||||||
@ -202,8 +180,6 @@ class NestedConsolePortTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedConsoleServerPortTemplateSerializer(WritableNestedSerializer):
|
class NestedConsoleServerPortTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:consoleserverporttemplate-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.ConsoleServerPortTemplate
|
model = models.ConsoleServerPortTemplate
|
||||||
@ -211,8 +187,6 @@ class NestedConsoleServerPortTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedPowerPortTemplateSerializer(WritableNestedSerializer):
|
class NestedPowerPortTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:powerporttemplate-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.PowerPortTemplate
|
model = models.PowerPortTemplate
|
||||||
@ -220,8 +194,6 @@ class NestedPowerPortTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedPowerOutletTemplateSerializer(WritableNestedSerializer):
|
class NestedPowerOutletTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:poweroutlettemplate-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.PowerOutletTemplate
|
model = models.PowerOutletTemplate
|
||||||
@ -229,8 +201,6 @@ class NestedPowerOutletTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedInterfaceTemplateSerializer(WritableNestedSerializer):
|
class NestedInterfaceTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:interfacetemplate-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.InterfaceTemplate
|
model = models.InterfaceTemplate
|
||||||
@ -238,8 +208,6 @@ class NestedInterfaceTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedRearPortTemplateSerializer(WritableNestedSerializer):
|
class NestedRearPortTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rearporttemplate-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.RearPortTemplate
|
model = models.RearPortTemplate
|
||||||
@ -247,8 +215,6 @@ class NestedRearPortTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedFrontPortTemplateSerializer(WritableNestedSerializer):
|
class NestedFrontPortTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:frontporttemplate-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.FrontPortTemplate
|
model = models.FrontPortTemplate
|
||||||
@ -256,8 +222,6 @@ class NestedFrontPortTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedModuleBayTemplateSerializer(WritableNestedSerializer):
|
class NestedModuleBayTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:modulebaytemplate-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.ModuleBayTemplate
|
model = models.ModuleBayTemplate
|
||||||
@ -265,8 +229,6 @@ class NestedModuleBayTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedDeviceBayTemplateSerializer(WritableNestedSerializer):
|
class NestedDeviceBayTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:devicebaytemplate-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.DeviceBayTemplate
|
model = models.DeviceBayTemplate
|
||||||
@ -274,8 +236,6 @@ class NestedDeviceBayTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedInventoryItemTemplateSerializer(WritableNestedSerializer):
|
class NestedInventoryItemTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:inventoryitemtemplate-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
|
||||||
_depth = serializers.IntegerField(source='level', read_only=True)
|
_depth = serializers.IntegerField(source='level', read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -291,8 +251,6 @@ class NestedInventoryItemTemplateSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('device_count', 'virtualmachine_count'),
|
exclude_fields=('device_count', 'virtualmachine_count'),
|
||||||
)
|
)
|
||||||
class NestedDeviceRoleSerializer(WritableNestedSerializer):
|
class NestedDeviceRoleSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:devicerole-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:devicerole')
|
|
||||||
device_count = RelatedObjectCountField('devices')
|
device_count = RelatedObjectCountField('devices')
|
||||||
virtualmachine_count = RelatedObjectCountField('virtual_machines')
|
virtualmachine_count = RelatedObjectCountField('virtual_machines')
|
||||||
|
|
||||||
@ -305,8 +263,6 @@ class NestedDeviceRoleSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('device_count', 'virtualmachine_count'),
|
exclude_fields=('device_count', 'virtualmachine_count'),
|
||||||
)
|
)
|
||||||
class NestedPlatformSerializer(WritableNestedSerializer):
|
class NestedPlatformSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:platform-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:platform')
|
|
||||||
device_count = RelatedObjectCountField('devices')
|
device_count = RelatedObjectCountField('devices')
|
||||||
virtualmachine_count = RelatedObjectCountField('virtual_machines')
|
virtualmachine_count = RelatedObjectCountField('virtual_machines')
|
||||||
|
|
||||||
@ -316,8 +272,6 @@ class NestedPlatformSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedDeviceSerializer(WritableNestedSerializer):
|
class NestedDeviceSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:device-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:device')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Device
|
model = models.Device
|
||||||
@ -325,8 +279,6 @@ class NestedDeviceSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ModuleNestedModuleBaySerializer(WritableNestedSerializer):
|
class ModuleNestedModuleBaySerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:modulebay-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:modulebay')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.ModuleBay
|
model = models.ModuleBay
|
||||||
@ -334,8 +286,6 @@ class ModuleNestedModuleBaySerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ModuleBayNestedModuleSerializer(WritableNestedSerializer):
|
class ModuleBayNestedModuleSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:module-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:module')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Module
|
model = models.Module
|
||||||
@ -343,8 +293,6 @@ class ModuleBayNestedModuleSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedModuleSerializer(WritableNestedSerializer):
|
class NestedModuleSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:module-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:module')
|
|
||||||
device = NestedDeviceSerializer(read_only=True)
|
device = NestedDeviceSerializer(read_only=True)
|
||||||
module_bay = ModuleNestedModuleBaySerializer(read_only=True)
|
module_bay = ModuleNestedModuleBaySerializer(read_only=True)
|
||||||
module_type = NestedModuleTypeSerializer(read_only=True)
|
module_type = NestedModuleTypeSerializer(read_only=True)
|
||||||
@ -355,8 +303,6 @@ class NestedModuleSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedConsoleServerPortSerializer(WritableNestedSerializer):
|
class NestedConsoleServerPortSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:consoleserverport-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:consoleserverport')
|
|
||||||
device = NestedDeviceSerializer(read_only=True)
|
device = NestedDeviceSerializer(read_only=True)
|
||||||
_occupied = serializers.BooleanField(required=False, read_only=True)
|
_occupied = serializers.BooleanField(required=False, read_only=True)
|
||||||
|
|
||||||
@ -366,8 +312,6 @@ class NestedConsoleServerPortSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedConsolePortSerializer(WritableNestedSerializer):
|
class NestedConsolePortSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:consoleport-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:consoleport')
|
|
||||||
device = NestedDeviceSerializer(read_only=True)
|
device = NestedDeviceSerializer(read_only=True)
|
||||||
_occupied = serializers.BooleanField(required=False, read_only=True)
|
_occupied = serializers.BooleanField(required=False, read_only=True)
|
||||||
|
|
||||||
@ -377,8 +321,6 @@ class NestedConsolePortSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedPowerOutletSerializer(WritableNestedSerializer):
|
class NestedPowerOutletSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:poweroutlet-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:poweroutlet')
|
|
||||||
device = NestedDeviceSerializer(read_only=True)
|
device = NestedDeviceSerializer(read_only=True)
|
||||||
_occupied = serializers.BooleanField(required=False, read_only=True)
|
_occupied = serializers.BooleanField(required=False, read_only=True)
|
||||||
|
|
||||||
@ -388,8 +330,6 @@ class NestedPowerOutletSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedPowerPortSerializer(WritableNestedSerializer):
|
class NestedPowerPortSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:powerport-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:powerport')
|
|
||||||
device = NestedDeviceSerializer(read_only=True)
|
device = NestedDeviceSerializer(read_only=True)
|
||||||
_occupied = serializers.BooleanField(required=False, read_only=True)
|
_occupied = serializers.BooleanField(required=False, read_only=True)
|
||||||
|
|
||||||
@ -400,8 +340,6 @@ class NestedPowerPortSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
class NestedInterfaceSerializer(WritableNestedSerializer):
|
class NestedInterfaceSerializer(WritableNestedSerializer):
|
||||||
device = NestedDeviceSerializer(read_only=True)
|
device = NestedDeviceSerializer(read_only=True)
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:interface-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:interface')
|
|
||||||
_occupied = serializers.BooleanField(required=False, read_only=True)
|
_occupied = serializers.BooleanField(required=False, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -411,8 +349,6 @@ class NestedInterfaceSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
class NestedRearPortSerializer(WritableNestedSerializer):
|
class NestedRearPortSerializer(WritableNestedSerializer):
|
||||||
device = NestedDeviceSerializer(read_only=True)
|
device = NestedDeviceSerializer(read_only=True)
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rearport-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:rearport')
|
|
||||||
_occupied = serializers.BooleanField(required=False, read_only=True)
|
_occupied = serializers.BooleanField(required=False, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -422,8 +358,6 @@ class NestedRearPortSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
class NestedFrontPortSerializer(WritableNestedSerializer):
|
class NestedFrontPortSerializer(WritableNestedSerializer):
|
||||||
device = NestedDeviceSerializer(read_only=True)
|
device = NestedDeviceSerializer(read_only=True)
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:frontport-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:frontport')
|
|
||||||
_occupied = serializers.BooleanField(required=False, read_only=True)
|
_occupied = serializers.BooleanField(required=False, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -432,8 +366,6 @@ class NestedFrontPortSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedModuleBaySerializer(WritableNestedSerializer):
|
class NestedModuleBaySerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:modulebay-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:modulebay')
|
|
||||||
installed_module = ModuleBayNestedModuleSerializer(required=False, allow_null=True)
|
installed_module = ModuleBayNestedModuleSerializer(required=False, allow_null=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -442,8 +374,6 @@ class NestedModuleBaySerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedDeviceBaySerializer(WritableNestedSerializer):
|
class NestedDeviceBaySerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:devicebay-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:devicebay')
|
|
||||||
device = NestedDeviceSerializer(read_only=True)
|
device = NestedDeviceSerializer(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -452,8 +382,6 @@ class NestedDeviceBaySerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedInventoryItemSerializer(WritableNestedSerializer):
|
class NestedInventoryItemSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:inventoryitem-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:inventoryitem')
|
|
||||||
device = NestedDeviceSerializer(read_only=True)
|
device = NestedDeviceSerializer(read_only=True)
|
||||||
_depth = serializers.IntegerField(source='level', read_only=True)
|
_depth = serializers.IntegerField(source='level', read_only=True)
|
||||||
|
|
||||||
@ -466,8 +394,6 @@ class NestedInventoryItemSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('inventoryitem_count',),
|
exclude_fields=('inventoryitem_count',),
|
||||||
)
|
)
|
||||||
class NestedInventoryItemRoleSerializer(WritableNestedSerializer):
|
class NestedInventoryItemRoleSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:inventoryitemrole-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:inventoryitemrole')
|
|
||||||
inventoryitem_count = RelatedObjectCountField('inventory_items')
|
inventoryitem_count = RelatedObjectCountField('inventory_items')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -480,8 +406,6 @@ class NestedInventoryItemRoleSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedCableSerializer(WritableNestedSerializer):
|
class NestedCableSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:cable-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:cable')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Cable
|
model = models.Cable
|
||||||
@ -496,8 +420,6 @@ class NestedCableSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('member_count',),
|
exclude_fields=('member_count',),
|
||||||
)
|
)
|
||||||
class NestedVirtualChassisSerializer(WritableNestedSerializer):
|
class NestedVirtualChassisSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:virtualchassis-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:virtualchassis')
|
|
||||||
master = NestedDeviceSerializer()
|
master = NestedDeviceSerializer()
|
||||||
member_count = serializers.IntegerField(read_only=True)
|
member_count = serializers.IntegerField(read_only=True)
|
||||||
|
|
||||||
@ -514,8 +436,6 @@ class NestedVirtualChassisSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('powerfeed_count',),
|
exclude_fields=('powerfeed_count',),
|
||||||
)
|
)
|
||||||
class NestedPowerPanelSerializer(WritableNestedSerializer):
|
class NestedPowerPanelSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:powerpanel-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:powerpanel')
|
|
||||||
powerfeed_count = RelatedObjectCountField('powerfeeds')
|
powerfeed_count = RelatedObjectCountField('powerfeeds')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -524,8 +444,6 @@ class NestedPowerPanelSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedPowerFeedSerializer(WritableNestedSerializer):
|
class NestedPowerFeedSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:powerfeed-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:powerfeed')
|
|
||||||
_occupied = serializers.BooleanField(required=False, read_only=True)
|
_occupied = serializers.BooleanField(required=False, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -534,8 +452,6 @@ class NestedPowerFeedSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedVirtualDeviceContextSerializer(WritableNestedSerializer):
|
class NestedVirtualDeviceContextSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:virtualdevicecontext-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:virtualdevicecontext')
|
|
||||||
device = NestedDeviceSerializer()
|
device = NestedDeviceSerializer()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -21,8 +21,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class CableSerializer(NetBoxModelSerializer):
|
class CableSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:cable-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:cable')
|
|
||||||
a_terminations = GenericObjectSerializer(many=True, required=False)
|
a_terminations = GenericObjectSerializer(many=True, required=False)
|
||||||
b_terminations = GenericObjectSerializer(many=True, required=False)
|
b_terminations = GenericObjectSerializer(many=True, required=False)
|
||||||
status = ChoiceField(choices=LinkStatusChoices, required=False)
|
status = ChoiceField(choices=LinkStatusChoices, required=False)
|
||||||
@ -54,7 +52,6 @@ class TracedCableSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class CableTerminationSerializer(NetBoxModelSerializer):
|
class CableTerminationSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:cabletermination-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
display_url = serializers.CharField(allow_null=True, read_only=True)
|
||||||
termination_type = ContentTypeField(
|
termination_type = ContentTypeField(
|
||||||
queryset=ContentType.objects.filter(CABLE_TERMINATION_MODELS)
|
queryset=ContentType.objects.filter(CABLE_TERMINATION_MODELS)
|
||||||
|
@ -41,8 +41,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ConsoleServerPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
class ConsoleServerPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:consoleserverport-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:consoleserverport')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
module = ModuleSerializer(
|
module = ModuleSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
@ -73,8 +71,6 @@ class ConsoleServerPortSerializer(NetBoxModelSerializer, CabledObjectSerializer,
|
|||||||
|
|
||||||
|
|
||||||
class ConsolePortSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
class ConsolePortSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:consoleport-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:consoleport')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
module = ModuleSerializer(
|
module = ModuleSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
@ -105,8 +101,6 @@ class ConsolePortSerializer(NetBoxModelSerializer, CabledObjectSerializer, Conne
|
|||||||
|
|
||||||
|
|
||||||
class PowerPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
class PowerPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:powerport-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:powerport')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
module = ModuleSerializer(
|
module = ModuleSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
@ -133,8 +127,6 @@ class PowerPortSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
|
|||||||
|
|
||||||
|
|
||||||
class PowerOutletSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
class PowerOutletSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:poweroutlet-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:poweroutlet')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
module = ModuleSerializer(
|
module = ModuleSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
@ -172,8 +164,6 @@ class PowerOutletSerializer(NetBoxModelSerializer, CabledObjectSerializer, Conne
|
|||||||
|
|
||||||
|
|
||||||
class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:interface-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:interface')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
vdcs = SerializedPKRelatedField(
|
vdcs = SerializedPKRelatedField(
|
||||||
queryset=VirtualDeviceContext.objects.all(),
|
queryset=VirtualDeviceContext.objects.all(),
|
||||||
@ -255,8 +245,6 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
|
|||||||
|
|
||||||
|
|
||||||
class RearPortSerializer(NetBoxModelSerializer, CabledObjectSerializer):
|
class RearPortSerializer(NetBoxModelSerializer, CabledObjectSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rearport-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:rearport')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
module = ModuleSerializer(
|
module = ModuleSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
@ -280,8 +268,6 @@ class FrontPortRearPortSerializer(WritableNestedSerializer):
|
|||||||
"""
|
"""
|
||||||
NestedRearPortSerializer but with parent device omitted (since front and rear ports must belong to same device)
|
NestedRearPortSerializer but with parent device omitted (since front and rear ports must belong to same device)
|
||||||
"""
|
"""
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rearport-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:rearport')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = RearPort
|
model = RearPort
|
||||||
@ -289,8 +275,6 @@ class FrontPortRearPortSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class FrontPortSerializer(NetBoxModelSerializer, CabledObjectSerializer):
|
class FrontPortSerializer(NetBoxModelSerializer, CabledObjectSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:frontport-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:frontport')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
module = ModuleSerializer(
|
module = ModuleSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
@ -312,8 +296,6 @@ class FrontPortSerializer(NetBoxModelSerializer, CabledObjectSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ModuleBaySerializer(NetBoxModelSerializer):
|
class ModuleBaySerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:modulebay-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:modulebay')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
installed_module = ModuleSerializer(
|
installed_module = ModuleSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
@ -332,8 +314,6 @@ class ModuleBaySerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class DeviceBaySerializer(NetBoxModelSerializer):
|
class DeviceBaySerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:devicebay-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:devicebay')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
installed_device = DeviceSerializer(nested=True, required=False, allow_null=True)
|
installed_device = DeviceSerializer(nested=True, required=False, allow_null=True)
|
||||||
|
|
||||||
@ -347,8 +327,6 @@ class DeviceBaySerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class InventoryItemSerializer(NetBoxModelSerializer):
|
class InventoryItemSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:inventoryitem-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:inventoryitem')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
parent = serializers.PrimaryKeyRelatedField(queryset=InventoryItem.objects.all(), allow_null=True, default=None)
|
parent = serializers.PrimaryKeyRelatedField(queryset=InventoryItem.objects.all(), allow_null=True, default=None)
|
||||||
role = InventoryItemRoleSerializer(nested=True, required=False, allow_null=True)
|
role = InventoryItemRoleSerializer(nested=True, required=False, allow_null=True)
|
||||||
|
@ -29,8 +29,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class DeviceSerializer(NetBoxModelSerializer):
|
class DeviceSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:device-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:device')
|
|
||||||
device_type = DeviceTypeSerializer(nested=True)
|
device_type = DeviceTypeSerializer(nested=True)
|
||||||
role = DeviceRoleSerializer(nested=True)
|
role = DeviceRoleSerializer(nested=True)
|
||||||
tenant = TenantSerializer(
|
tenant = TenantSerializer(
|
||||||
@ -121,8 +119,6 @@ class DeviceWithConfigContextSerializer(DeviceSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class VirtualDeviceContextSerializer(NetBoxModelSerializer):
|
class VirtualDeviceContextSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:virtualdevicecontext-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:virtualdevicecontext')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
identifier = serializers.IntegerField(allow_null=True, max_value=32767, min_value=0, required=False, default=None)
|
identifier = serializers.IntegerField(allow_null=True, max_value=32767, min_value=0, required=False, default=None)
|
||||||
tenant = TenantSerializer(nested=True, required=False, allow_null=True, default=None)
|
tenant = TenantSerializer(nested=True, required=False, allow_null=True, default=None)
|
||||||
@ -145,8 +141,6 @@ class VirtualDeviceContextSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ModuleSerializer(NetBoxModelSerializer):
|
class ModuleSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:module-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:module')
|
|
||||||
device = DeviceSerializer(nested=True)
|
device = DeviceSerializer(nested=True)
|
||||||
module_bay = NestedModuleBaySerializer()
|
module_bay = NestedModuleBaySerializer()
|
||||||
module_type = ModuleTypeSerializer(nested=True)
|
module_type = ModuleTypeSerializer(nested=True)
|
||||||
|
@ -17,8 +17,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class DeviceTypeSerializer(NetBoxModelSerializer):
|
class DeviceTypeSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:devicetype-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:devicetype')
|
|
||||||
manufacturer = ManufacturerSerializer(nested=True)
|
manufacturer = ManufacturerSerializer(nested=True)
|
||||||
default_platform = PlatformSerializer(nested=True, required=False, allow_null=True)
|
default_platform = PlatformSerializer(nested=True, required=False, allow_null=True)
|
||||||
u_height = serializers.DecimalField(
|
u_height = serializers.DecimalField(
|
||||||
@ -64,8 +62,6 @@ class DeviceTypeSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ModuleTypeSerializer(NetBoxModelSerializer):
|
class ModuleTypeSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:moduletype-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:moduletype')
|
|
||||||
manufacturer = ManufacturerSerializer(nested=True)
|
manufacturer = ManufacturerSerializer(nested=True)
|
||||||
weight_unit = ChoiceField(choices=WeightUnitChoices, allow_blank=True, required=False, allow_null=True)
|
weight_unit = ChoiceField(choices=WeightUnitChoices, allow_blank=True, required=False, allow_null=True)
|
||||||
|
|
||||||
|
@ -10,8 +10,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ManufacturerSerializer(NetBoxModelSerializer):
|
class ManufacturerSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:manufacturer-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:manufacturer')
|
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
devicetype_count = RelatedObjectCountField('device_types')
|
devicetype_count = RelatedObjectCountField('device_types')
|
||||||
|
@ -12,8 +12,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class PlatformSerializer(NetBoxModelSerializer):
|
class PlatformSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:platform-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:platform')
|
|
||||||
manufacturer = ManufacturerSerializer(nested=True, required=False, allow_null=True)
|
manufacturer = ManufacturerSerializer(nested=True, required=False, allow_null=True)
|
||||||
config_template = ConfigTemplateSerializer(nested=True, required=False, allow_null=True, default=None)
|
config_template = ConfigTemplateSerializer(nested=True, required=False, allow_null=True, default=None)
|
||||||
|
|
||||||
|
@ -17,8 +17,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class PowerPanelSerializer(NetBoxModelSerializer):
|
class PowerPanelSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:powerpanel-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:powerpanel')
|
|
||||||
site = SiteSerializer(nested=True)
|
site = SiteSerializer(nested=True)
|
||||||
location = LocationSerializer(
|
location = LocationSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
@ -40,8 +38,6 @@ class PowerPanelSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class PowerFeedSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
class PowerFeedSerializer(NetBoxModelSerializer, CabledObjectSerializer, ConnectedEndpointsSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:powerfeed-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:powerfeed')
|
|
||||||
power_panel = PowerPanelSerializer(nested=True)
|
power_panel = PowerPanelSerializer(nested=True)
|
||||||
rack = RackSerializer(
|
rack = RackSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
|
@ -20,8 +20,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class RackRoleSerializer(NetBoxModelSerializer):
|
class RackRoleSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rackrole-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:rackrole')
|
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
rack_count = RelatedObjectCountField('racks')
|
rack_count = RelatedObjectCountField('racks')
|
||||||
@ -36,8 +34,6 @@ class RackRoleSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class RackSerializer(NetBoxModelSerializer):
|
class RackSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rack-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:rack')
|
|
||||||
site = SiteSerializer(nested=True)
|
site = SiteSerializer(nested=True)
|
||||||
location = LocationSerializer(nested=True, required=False, allow_null=True, default=None)
|
location = LocationSerializer(nested=True, required=False, allow_null=True, default=None)
|
||||||
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
||||||
@ -66,8 +62,6 @@ class RackSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class RackReservationSerializer(NetBoxModelSerializer):
|
class RackReservationSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:rackreservation-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:rackreservation')
|
|
||||||
rack = RackSerializer(nested=True)
|
rack = RackSerializer(nested=True)
|
||||||
user = UserSerializer(nested=True)
|
user = UserSerializer(nested=True)
|
||||||
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
||||||
|
@ -12,8 +12,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class DeviceRoleSerializer(NetBoxModelSerializer):
|
class DeviceRoleSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:devicerole-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:devicerole')
|
|
||||||
config_template = ConfigTemplateSerializer(nested=True, required=False, allow_null=True, default=None)
|
config_template = ConfigTemplateSerializer(nested=True, required=False, allow_null=True, default=None)
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
@ -30,8 +28,6 @@ class DeviceRoleSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class InventoryItemRoleSerializer(NetBoxModelSerializer):
|
class InventoryItemRoleSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:inventoryitemrole-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:inventoryitemrole')
|
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
inventoryitem_count = RelatedObjectCountField('inventory_items')
|
inventoryitem_count = RelatedObjectCountField('inventory_items')
|
||||||
|
@ -19,8 +19,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class RegionSerializer(NestedGroupModelSerializer):
|
class RegionSerializer(NestedGroupModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:region-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:region')
|
|
||||||
parent = NestedRegionSerializer(required=False, allow_null=True, default=None)
|
parent = NestedRegionSerializer(required=False, allow_null=True, default=None)
|
||||||
site_count = serializers.IntegerField(read_only=True, default=0)
|
site_count = serializers.IntegerField(read_only=True, default=0)
|
||||||
|
|
||||||
@ -34,8 +32,6 @@ class RegionSerializer(NestedGroupModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class SiteGroupSerializer(NestedGroupModelSerializer):
|
class SiteGroupSerializer(NestedGroupModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:sitegroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:sitegroup')
|
|
||||||
parent = NestedSiteGroupSerializer(required=False, allow_null=True, default=None)
|
parent = NestedSiteGroupSerializer(required=False, allow_null=True, default=None)
|
||||||
site_count = serializers.IntegerField(read_only=True, default=0)
|
site_count = serializers.IntegerField(read_only=True, default=0)
|
||||||
|
|
||||||
@ -49,8 +45,6 @@ class SiteGroupSerializer(NestedGroupModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class SiteSerializer(NetBoxModelSerializer):
|
class SiteSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:site-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:site')
|
|
||||||
status = ChoiceField(choices=SiteStatusChoices, required=False)
|
status = ChoiceField(choices=SiteStatusChoices, required=False)
|
||||||
region = RegionSerializer(nested=True, required=False, allow_null=True)
|
region = RegionSerializer(nested=True, required=False, allow_null=True)
|
||||||
group = SiteGroupSerializer(nested=True, required=False, allow_null=True)
|
group = SiteGroupSerializer(nested=True, required=False, allow_null=True)
|
||||||
@ -84,8 +78,6 @@ class SiteSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class LocationSerializer(NestedGroupModelSerializer):
|
class LocationSerializer(NestedGroupModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:location-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:location')
|
|
||||||
site = SiteSerializer(nested=True)
|
site = SiteSerializer(nested=True)
|
||||||
parent = NestedLocationSerializer(required=False, allow_null=True, default=None)
|
parent = NestedLocationSerializer(required=False, allow_null=True, default=None)
|
||||||
status = ChoiceField(choices=LocationStatusChoices, required=False)
|
status = ChoiceField(choices=LocationStatusChoices, required=False)
|
||||||
|
@ -10,8 +10,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class VirtualChassisSerializer(NetBoxModelSerializer):
|
class VirtualChassisSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:virtualchassis-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='dcim:virtualchassis')
|
|
||||||
master = NestedDeviceSerializer(required=False, allow_null=True, default=None)
|
master = NestedDeviceSerializer(required=False, allow_null=True, default=None)
|
||||||
members = NestedDeviceSerializer(many=True, read_only=True)
|
members = NestedDeviceSerializer(many=True, read_only=True)
|
||||||
|
|
||||||
|
@ -22,8 +22,6 @@ __all__ = [
|
|||||||
|
|
||||||
|
|
||||||
class NestedEventRuleSerializer(WritableNestedSerializer):
|
class NestedEventRuleSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:eventrule-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:eventrule')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.EventRule
|
model = models.EventRule
|
||||||
@ -31,8 +29,6 @@ class NestedEventRuleSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedWebhookSerializer(WritableNestedSerializer):
|
class NestedWebhookSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:webhook-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:webhook')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Webhook
|
model = models.Webhook
|
||||||
@ -40,8 +36,6 @@ class NestedWebhookSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedCustomFieldSerializer(WritableNestedSerializer):
|
class NestedCustomFieldSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:customfield-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:customfield')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.CustomField
|
model = models.CustomField
|
||||||
@ -49,8 +43,6 @@ class NestedCustomFieldSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedCustomFieldChoiceSetSerializer(WritableNestedSerializer):
|
class NestedCustomFieldChoiceSetSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:customfieldchoiceset-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:customfieldchoiceset')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.CustomFieldChoiceSet
|
model = models.CustomFieldChoiceSet
|
||||||
@ -58,8 +50,6 @@ class NestedCustomFieldChoiceSetSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedCustomLinkSerializer(WritableNestedSerializer):
|
class NestedCustomLinkSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:customlink-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:customlink')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.CustomLink
|
model = models.CustomLink
|
||||||
@ -67,8 +57,6 @@ class NestedCustomLinkSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedConfigContextSerializer(WritableNestedSerializer):
|
class NestedConfigContextSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:configcontext-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:configcontext')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.ConfigContext
|
model = models.ConfigContext
|
||||||
@ -76,8 +64,6 @@ class NestedConfigContextSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedConfigTemplateSerializer(WritableNestedSerializer):
|
class NestedConfigTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:configtemplate-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:configtemplate')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.ConfigTemplate
|
model = models.ConfigTemplate
|
||||||
@ -85,8 +71,6 @@ class NestedConfigTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedExportTemplateSerializer(WritableNestedSerializer):
|
class NestedExportTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:exporttemplate-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:exporttemplate')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.ExportTemplate
|
model = models.ExportTemplate
|
||||||
@ -94,8 +78,6 @@ class NestedExportTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedSavedFilterSerializer(WritableNestedSerializer):
|
class NestedSavedFilterSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:savedfilter-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:savedfilter')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.SavedFilter
|
model = models.SavedFilter
|
||||||
@ -103,7 +85,6 @@ class NestedSavedFilterSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedBookmarkSerializer(WritableNestedSerializer):
|
class NestedBookmarkSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:bookmark-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
display_url = serializers.CharField(allow_null=True, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -112,7 +93,6 @@ class NestedBookmarkSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedImageAttachmentSerializer(WritableNestedSerializer):
|
class NestedImageAttachmentSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:imageattachment-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
display_url = serializers.CharField(allow_null=True, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -121,8 +101,6 @@ class NestedImageAttachmentSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedJournalEntrySerializer(WritableNestedSerializer):
|
class NestedJournalEntrySerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:journalentry-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:journalentry')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.JournalEntry
|
model = models.JournalEntry
|
||||||
|
@ -14,7 +14,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ImageAttachmentSerializer(ValidatedModelSerializer):
|
class ImageAttachmentSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:imageattachment-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
display_url = serializers.CharField(allow_null=True, read_only=True)
|
||||||
object_type = ContentTypeField(
|
object_type = ContentTypeField(
|
||||||
queryset=ObjectType.objects.all()
|
queryset=ObjectType.objects.all()
|
||||||
|
@ -14,7 +14,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class BookmarkSerializer(ValidatedModelSerializer):
|
class BookmarkSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:bookmark-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
display_url = serializers.CharField(allow_null=True, read_only=True)
|
||||||
object_type = ContentTypeField(
|
object_type = ContentTypeField(
|
||||||
queryset=ObjectType.objects.with_feature('bookmarks'),
|
queryset=ObjectType.objects.with_feature('bookmarks'),
|
||||||
|
@ -15,8 +15,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ObjectChangeSerializer(BaseModelSerializer):
|
class ObjectChangeSerializer(BaseModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:objectchange-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:objectchange')
|
|
||||||
user = UserSerializer(
|
user = UserSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
read_only=True
|
read_only=True
|
||||||
|
@ -20,8 +20,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ConfigContextSerializer(ValidatedModelSerializer):
|
class ConfigContextSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:configcontext-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:configcontext')
|
|
||||||
regions = SerializedPKRelatedField(
|
regions = SerializedPKRelatedField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
serializer=RegionSerializer,
|
serializer=RegionSerializer,
|
||||||
|
@ -11,8 +11,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ConfigTemplateSerializer(TaggableModelSerializer, ValidatedModelSerializer):
|
class ConfigTemplateSerializer(TaggableModelSerializer, ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:configtemplate-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:configtemplate')
|
|
||||||
data_source = DataSourceSerializer(
|
data_source = DataSourceSerializer(
|
||||||
nested=True,
|
nested=True,
|
||||||
required=False
|
required=False
|
||||||
|
@ -16,8 +16,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class CustomFieldChoiceSetSerializer(ValidatedModelSerializer):
|
class CustomFieldChoiceSetSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:customfieldchoiceset-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:customfieldchoiceset')
|
|
||||||
base_choices = ChoiceField(
|
base_choices = ChoiceField(
|
||||||
choices=CustomFieldChoiceSetBaseChoices,
|
choices=CustomFieldChoiceSetBaseChoices,
|
||||||
required=False
|
required=False
|
||||||
@ -39,8 +37,6 @@ class CustomFieldChoiceSetSerializer(ValidatedModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class CustomFieldSerializer(ValidatedModelSerializer):
|
class CustomFieldSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:customfield-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:customfield')
|
|
||||||
object_types = ContentTypeField(
|
object_types = ContentTypeField(
|
||||||
queryset=ObjectType.objects.with_feature('custom_fields'),
|
queryset=ObjectType.objects.with_feature('custom_fields'),
|
||||||
many=True
|
many=True
|
||||||
|
@ -11,8 +11,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class CustomLinkSerializer(ValidatedModelSerializer):
|
class CustomLinkSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:customlink-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:customlink')
|
|
||||||
object_types = ContentTypeField(
|
object_types = ContentTypeField(
|
||||||
queryset=ObjectType.objects.with_feature('custom_links'),
|
queryset=ObjectType.objects.with_feature('custom_links'),
|
||||||
many=True
|
many=True
|
||||||
|
@ -21,8 +21,6 @@ __all__ = (
|
|||||||
#
|
#
|
||||||
|
|
||||||
class EventRuleSerializer(NetBoxModelSerializer):
|
class EventRuleSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:eventrule-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:eventrule')
|
|
||||||
object_types = ContentTypeField(
|
object_types = ContentTypeField(
|
||||||
queryset=ObjectType.objects.with_feature('event_rules'),
|
queryset=ObjectType.objects.with_feature('event_rules'),
|
||||||
many=True
|
many=True
|
||||||
@ -59,8 +57,6 @@ class EventRuleSerializer(NetBoxModelSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class WebhookSerializer(NetBoxModelSerializer):
|
class WebhookSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:webhook-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:webhook')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Webhook
|
model = Webhook
|
||||||
|
@ -12,8 +12,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ExportTemplateSerializer(ValidatedModelSerializer):
|
class ExportTemplateSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:exporttemplate-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:exporttemplate')
|
|
||||||
object_types = ContentTypeField(
|
object_types = ContentTypeField(
|
||||||
queryset=ObjectType.objects.with_feature('export_templates'),
|
queryset=ObjectType.objects.with_feature('export_templates'),
|
||||||
many=True
|
many=True
|
||||||
|
@ -16,8 +16,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class JournalEntrySerializer(NetBoxModelSerializer):
|
class JournalEntrySerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:journalentry-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:journalentry')
|
|
||||||
assigned_object_type = ContentTypeField(
|
assigned_object_type = ContentTypeField(
|
||||||
queryset=ObjectType.objects.all()
|
queryset=ObjectType.objects.all()
|
||||||
)
|
)
|
||||||
|
@ -9,7 +9,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ObjectTypeSerializer(BaseModelSerializer):
|
class ObjectTypeSerializer(BaseModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:objecttype-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
display_url = serializers.CharField(allow_null=True, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -11,8 +11,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class SavedFilterSerializer(ValidatedModelSerializer):
|
class SavedFilterSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:savedfilter-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:savedfilter')
|
|
||||||
object_types = ContentTypeField(
|
object_types = ContentTypeField(
|
||||||
queryset=ObjectType.objects.all(),
|
queryset=ObjectType.objects.all(),
|
||||||
many=True
|
many=True
|
||||||
|
@ -14,8 +14,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ScriptSerializer(ValidatedModelSerializer):
|
class ScriptSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:script-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:script')
|
|
||||||
description = serializers.SerializerMethodField(read_only=True)
|
description = serializers.SerializerMethodField(read_only=True)
|
||||||
vars = serializers.SerializerMethodField(read_only=True)
|
vars = serializers.SerializerMethodField(read_only=True)
|
||||||
result = JobSerializer(nested=True, read_only=True)
|
result = JobSerializer(nested=True, read_only=True)
|
||||||
|
@ -11,8 +11,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class TagSerializer(ValidatedModelSerializer):
|
class TagSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:tag-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:tag')
|
|
||||||
object_types = ContentTypeField(
|
object_types = ContentTypeField(
|
||||||
queryset=ObjectType.objects.with_feature('tags'),
|
queryset=ObjectType.objects.with_feature('tags'),
|
||||||
many=True,
|
many=True,
|
||||||
|
@ -31,8 +31,6 @@ __all__ = [
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedASNRangeSerializer(WritableNestedSerializer):
|
class NestedASNRangeSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:asnrange-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:asnrange')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.ASNRange
|
model = models.ASNRange
|
||||||
@ -44,8 +42,6 @@ class NestedASNRangeSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedASNSerializer(WritableNestedSerializer):
|
class NestedASNSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:asn-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:asn')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.ASN
|
model = models.ASN
|
||||||
@ -60,8 +56,6 @@ class NestedASNSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('prefix_count',),
|
exclude_fields=('prefix_count',),
|
||||||
)
|
)
|
||||||
class NestedVRFSerializer(WritableNestedSerializer):
|
class NestedVRFSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:vrf-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:vrf')
|
|
||||||
prefix_count = RelatedObjectCountField('prefixes')
|
prefix_count = RelatedObjectCountField('prefixes')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -74,8 +68,6 @@ class NestedVRFSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedRouteTargetSerializer(WritableNestedSerializer):
|
class NestedRouteTargetSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:routetarget-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:routetarget')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.RouteTarget
|
model = models.RouteTarget
|
||||||
@ -90,8 +82,6 @@ class NestedRouteTargetSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('aggregate_count',),
|
exclude_fields=('aggregate_count',),
|
||||||
)
|
)
|
||||||
class NestedRIRSerializer(WritableNestedSerializer):
|
class NestedRIRSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:rir-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:rir')
|
|
||||||
aggregate_count = RelatedObjectCountField('aggregates')
|
aggregate_count = RelatedObjectCountField('aggregates')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -100,8 +90,6 @@ class NestedRIRSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedAggregateSerializer(WritableNestedSerializer):
|
class NestedAggregateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:aggregate-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:aggregate')
|
|
||||||
family = serializers.IntegerField(read_only=True)
|
family = serializers.IntegerField(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -114,8 +102,6 @@ class NestedAggregateSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedFHRPGroupSerializer(WritableNestedSerializer):
|
class NestedFHRPGroupSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:fhrpgroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:fhrpgroup')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.FHRPGroup
|
model = models.FHRPGroup
|
||||||
@ -123,8 +109,6 @@ class NestedFHRPGroupSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedFHRPGroupAssignmentSerializer(WritableNestedSerializer):
|
class NestedFHRPGroupAssignmentSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:fhrpgroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:fhrpgroup')
|
|
||||||
group = NestedFHRPGroupSerializer()
|
group = NestedFHRPGroupSerializer()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -140,8 +124,6 @@ class NestedFHRPGroupAssignmentSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('prefix_count', 'vlan_count'),
|
exclude_fields=('prefix_count', 'vlan_count'),
|
||||||
)
|
)
|
||||||
class NestedRoleSerializer(WritableNestedSerializer):
|
class NestedRoleSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:role-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:role')
|
|
||||||
prefix_count = RelatedObjectCountField('prefixes')
|
prefix_count = RelatedObjectCountField('prefixes')
|
||||||
vlan_count = RelatedObjectCountField('vlans')
|
vlan_count = RelatedObjectCountField('vlans')
|
||||||
|
|
||||||
@ -154,8 +136,6 @@ class NestedRoleSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('vlan_count',),
|
exclude_fields=('vlan_count',),
|
||||||
)
|
)
|
||||||
class NestedVLANGroupSerializer(WritableNestedSerializer):
|
class NestedVLANGroupSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:vlangroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:vlangroup')
|
|
||||||
vlan_count = RelatedObjectCountField('vlans')
|
vlan_count = RelatedObjectCountField('vlans')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -164,8 +144,6 @@ class NestedVLANGroupSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedVLANSerializer(WritableNestedSerializer):
|
class NestedVLANSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:vlan-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:vlan')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.VLAN
|
model = models.VLAN
|
||||||
@ -177,8 +155,6 @@ class NestedVLANSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedPrefixSerializer(WritableNestedSerializer):
|
class NestedPrefixSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:prefix-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:prefix')
|
|
||||||
family = serializers.IntegerField(read_only=True)
|
family = serializers.IntegerField(read_only=True)
|
||||||
_depth = serializers.IntegerField(read_only=True)
|
_depth = serializers.IntegerField(read_only=True)
|
||||||
|
|
||||||
@ -192,8 +168,6 @@ class NestedPrefixSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedIPRangeSerializer(WritableNestedSerializer):
|
class NestedIPRangeSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:iprange-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:iprange')
|
|
||||||
family = serializers.IntegerField(read_only=True)
|
family = serializers.IntegerField(read_only=True)
|
||||||
start_address = IPAddressField()
|
start_address = IPAddressField()
|
||||||
end_address = IPAddressField()
|
end_address = IPAddressField()
|
||||||
@ -208,8 +182,6 @@ class NestedIPRangeSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedIPAddressSerializer(WritableNestedSerializer):
|
class NestedIPAddressSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:ipaddress-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:ipaddress')
|
|
||||||
family = serializers.IntegerField(read_only=True)
|
family = serializers.IntegerField(read_only=True)
|
||||||
address = IPAddressField()
|
address = IPAddressField()
|
||||||
|
|
||||||
@ -223,8 +195,6 @@ class NestedIPAddressSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedServiceTemplateSerializer(WritableNestedSerializer):
|
class NestedServiceTemplateSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:servicetemplate-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:servicetemplate')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.ServiceTemplate
|
model = models.ServiceTemplate
|
||||||
@ -232,8 +202,6 @@ class NestedServiceTemplateSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedServiceSerializer(WritableNestedSerializer):
|
class NestedServiceSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:service-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:service')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Service
|
model = models.Service
|
||||||
|
@ -14,8 +14,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class RIRSerializer(NetBoxModelSerializer):
|
class RIRSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:rir-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:rir')
|
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
aggregate_count = RelatedObjectCountField('aggregates')
|
aggregate_count = RelatedObjectCountField('aggregates')
|
||||||
@ -30,8 +28,6 @@ class RIRSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ASNRangeSerializer(NetBoxModelSerializer):
|
class ASNRangeSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:asnrange-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:asnrange')
|
|
||||||
rir = RIRSerializer(nested=True)
|
rir = RIRSerializer(nested=True)
|
||||||
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
||||||
asn_count = serializers.IntegerField(read_only=True)
|
asn_count = serializers.IntegerField(read_only=True)
|
||||||
@ -46,8 +42,6 @@ class ASNRangeSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ASNSerializer(NetBoxModelSerializer):
|
class ASNSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:asn-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:asn')
|
|
||||||
rir = RIRSerializer(nested=True, required=False, allow_null=True)
|
rir = RIRSerializer(nested=True, required=False, allow_null=True)
|
||||||
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
||||||
|
|
||||||
|
@ -15,8 +15,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class FHRPGroupSerializer(NetBoxModelSerializer):
|
class FHRPGroupSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:fhrpgroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:fhrpgroup')
|
|
||||||
ip_addresses = IPAddressSerializer(nested=True, many=True, read_only=True)
|
ip_addresses = IPAddressSerializer(nested=True, many=True, read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -29,7 +27,6 @@ class FHRPGroupSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class FHRPGroupAssignmentSerializer(NetBoxModelSerializer):
|
class FHRPGroupAssignmentSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:fhrpgroupassignment-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
display_url = serializers.CharField(allow_null=True, read_only=True)
|
||||||
group = FHRPGroupSerializer(nested=True)
|
group = FHRPGroupSerializer(nested=True)
|
||||||
interface_type = ContentTypeField(
|
interface_type = ContentTypeField(
|
||||||
|
@ -29,8 +29,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class AggregateSerializer(NetBoxModelSerializer):
|
class AggregateSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:aggregate-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:aggregate')
|
|
||||||
family = ChoiceField(choices=IPAddressFamilyChoices, read_only=True)
|
family = ChoiceField(choices=IPAddressFamilyChoices, read_only=True)
|
||||||
rir = RIRSerializer(nested=True)
|
rir = RIRSerializer(nested=True)
|
||||||
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
||||||
@ -46,8 +44,6 @@ class AggregateSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class PrefixSerializer(NetBoxModelSerializer):
|
class PrefixSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:prefix-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:prefix')
|
|
||||||
family = ChoiceField(choices=IPAddressFamilyChoices, read_only=True)
|
family = ChoiceField(choices=IPAddressFamilyChoices, read_only=True)
|
||||||
site = SiteSerializer(nested=True, required=False, allow_null=True)
|
site = SiteSerializer(nested=True, required=False, allow_null=True)
|
||||||
vrf = VRFSerializer(nested=True, required=False, allow_null=True)
|
vrf = VRFSerializer(nested=True, required=False, allow_null=True)
|
||||||
@ -121,8 +117,6 @@ class AvailablePrefixSerializer(serializers.Serializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class IPRangeSerializer(NetBoxModelSerializer):
|
class IPRangeSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:iprange-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:iprange')
|
|
||||||
family = ChoiceField(choices=IPAddressFamilyChoices, read_only=True)
|
family = ChoiceField(choices=IPAddressFamilyChoices, read_only=True)
|
||||||
start_address = IPAddressField()
|
start_address = IPAddressField()
|
||||||
end_address = IPAddressField()
|
end_address = IPAddressField()
|
||||||
@ -146,8 +140,6 @@ class IPRangeSerializer(NetBoxModelSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class IPAddressSerializer(NetBoxModelSerializer):
|
class IPAddressSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:ipaddress-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:ipaddress')
|
|
||||||
family = ChoiceField(choices=IPAddressFamilyChoices, read_only=True)
|
family = ChoiceField(choices=IPAddressFamilyChoices, read_only=True)
|
||||||
address = IPAddressField()
|
address = IPAddressField()
|
||||||
vrf = VRFSerializer(nested=True, required=False, allow_null=True)
|
vrf = VRFSerializer(nested=True, required=False, allow_null=True)
|
||||||
|
@ -10,8 +10,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class RoleSerializer(NetBoxModelSerializer):
|
class RoleSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:role-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:role')
|
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
prefix_count = RelatedObjectCountField('prefixes')
|
prefix_count = RelatedObjectCountField('prefixes')
|
||||||
|
@ -15,8 +15,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ServiceTemplateSerializer(NetBoxModelSerializer):
|
class ServiceTemplateSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:servicetemplate-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:servicetemplate')
|
|
||||||
protocol = ChoiceField(choices=ServiceProtocolChoices, required=False)
|
protocol = ChoiceField(choices=ServiceProtocolChoices, required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -29,8 +27,6 @@ class ServiceTemplateSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ServiceSerializer(NetBoxModelSerializer):
|
class ServiceSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:service-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:service')
|
|
||||||
device = DeviceSerializer(nested=True, required=False, allow_null=True)
|
device = DeviceSerializer(nested=True, required=False, allow_null=True)
|
||||||
virtual_machine = VirtualMachineSerializer(nested=True, required=False, allow_null=True)
|
virtual_machine = VirtualMachineSerializer(nested=True, required=False, allow_null=True)
|
||||||
protocol = ChoiceField(choices=ServiceProtocolChoices, required=False)
|
protocol = ChoiceField(choices=ServiceProtocolChoices, required=False)
|
||||||
|
@ -22,8 +22,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class VLANGroupSerializer(NetBoxModelSerializer):
|
class VLANGroupSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:vlangroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:vlangroup')
|
|
||||||
scope_type = ContentTypeField(
|
scope_type = ContentTypeField(
|
||||||
queryset=ContentType.objects.filter(
|
queryset=ContentType.objects.filter(
|
||||||
model__in=VLANGROUP_SCOPE_TYPES
|
model__in=VLANGROUP_SCOPE_TYPES
|
||||||
@ -58,8 +56,6 @@ class VLANGroupSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class VLANSerializer(NetBoxModelSerializer):
|
class VLANSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:vlan-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:vlan')
|
|
||||||
site = SiteSerializer(nested=True, required=False, allow_null=True)
|
site = SiteSerializer(nested=True, required=False, allow_null=True)
|
||||||
group = VLANGroupSerializer(nested=True, required=False, allow_null=True, default=None)
|
group = VLANGroupSerializer(nested=True, required=False, allow_null=True, default=None)
|
||||||
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
||||||
|
@ -12,8 +12,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class RouteTargetSerializer(NetBoxModelSerializer):
|
class RouteTargetSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:routetarget-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:routetarget')
|
|
||||||
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -26,8 +24,6 @@ class RouteTargetSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class VRFSerializer(NetBoxModelSerializer):
|
class VRFSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:vrf-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='ipam:vrf')
|
|
||||||
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
tenant = TenantSerializer(nested=True, required=False, allow_null=True)
|
||||||
import_targets = SerializedPKRelatedField(
|
import_targets = SerializedPKRelatedField(
|
||||||
queryset=RouteTarget.objects.all(),
|
queryset=RouteTarget.objects.all(),
|
||||||
|
@ -13,7 +13,27 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class NetBoxApiHyperlinkedIdentityField(serializers.HyperlinkedIdentityField):
|
||||||
|
|
||||||
|
def __init__(self, model, **kwargs):
|
||||||
|
model_name = model._meta.model_name
|
||||||
|
app_name = model._meta.app_label
|
||||||
|
view_name = f'{app_name}-api:{model_name}-detail'
|
||||||
|
super().__init__(view_name, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class NetBoxUrlHyperlinkedIdentityField(serializers.HyperlinkedIdentityField):
|
||||||
|
|
||||||
|
def __init__(self, model, **kwargs):
|
||||||
|
model_name = model._meta.model_name
|
||||||
|
app_name = model._meta.app_label
|
||||||
|
view_name = f'{app_name}:{model_name}'
|
||||||
|
super().__init__(view_name, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class BaseModelSerializer(serializers.ModelSerializer):
|
class BaseModelSerializer(serializers.ModelSerializer):
|
||||||
|
url = serializers.RelatedField(read_only=True)
|
||||||
|
display_url = serializers.RelatedField(read_only=True)
|
||||||
display = serializers.SerializerMethodField(read_only=True)
|
display = serializers.SerializerMethodField(read_only=True)
|
||||||
|
|
||||||
def __init__(self, *args, nested=False, fields=None, **kwargs):
|
def __init__(self, *args, nested=False, fields=None, **kwargs):
|
||||||
@ -36,6 +56,17 @@ class BaseModelSerializer(serializers.ModelSerializer):
|
|||||||
if self.nested and not fields:
|
if self.nested and not fields:
|
||||||
self._requested_fields = getattr(self.Meta, 'brief_fields', None)
|
self._requested_fields = getattr(self.Meta, 'brief_fields', None)
|
||||||
|
|
||||||
|
# don't override the field if the class already defines these so can set lookup_field
|
||||||
|
if (
|
||||||
|
"url" in self.fields and not isinstance(self.fields["url"], serializers.HyperlinkedIdentityField) and
|
||||||
|
isinstance(self.fields["url"], serializers.RelatedField)):
|
||||||
|
self.fields["url"] = NetBoxApiHyperlinkedIdentityField(self.Meta.model)
|
||||||
|
if (
|
||||||
|
"display_url" in self.fields and not
|
||||||
|
isinstance(self.fields["display_url"], serializers.HyperlinkedIdentityField) and
|
||||||
|
isinstance(self.fields["display_url"], serializers.RelatedField)):
|
||||||
|
self.fields["display_url"] = NetBoxUrlHyperlinkedIdentityField(self.Meta.model)
|
||||||
|
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
def to_internal_value(self, data):
|
def to_internal_value(self, data):
|
||||||
|
@ -23,8 +23,6 @@ class WritableNestedSerializer(BaseModelSerializer):
|
|||||||
|
|
||||||
# Declared here for use by PrimaryModelSerializer, but should be imported from extras.api.nested_serializers
|
# Declared here for use by PrimaryModelSerializer, but should be imported from extras.api.nested_serializers
|
||||||
class NestedTagSerializer(WritableNestedSerializer):
|
class NestedTagSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='extras-api:tag-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='extras:tag')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Tag
|
model = Tag
|
||||||
|
@ -22,8 +22,6 @@ __all__ = [
|
|||||||
exclude_fields=('tenant_count',),
|
exclude_fields=('tenant_count',),
|
||||||
)
|
)
|
||||||
class NestedTenantGroupSerializer(WritableNestedSerializer):
|
class NestedTenantGroupSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:tenantgroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='tenancy:tenantgroup')
|
|
||||||
tenant_count = serializers.IntegerField(read_only=True)
|
tenant_count = serializers.IntegerField(read_only=True)
|
||||||
_depth = serializers.IntegerField(source='level', read_only=True)
|
_depth = serializers.IntegerField(source='level', read_only=True)
|
||||||
|
|
||||||
@ -33,8 +31,6 @@ class NestedTenantGroupSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedTenantSerializer(WritableNestedSerializer):
|
class NestedTenantSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:tenant-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='tenancy:tenant')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Tenant
|
model = Tenant
|
||||||
@ -49,8 +45,6 @@ class NestedTenantSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('contact_count',),
|
exclude_fields=('contact_count',),
|
||||||
)
|
)
|
||||||
class NestedContactGroupSerializer(WritableNestedSerializer):
|
class NestedContactGroupSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:contactgroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='tenancy:contactgroup')
|
|
||||||
contact_count = serializers.IntegerField(read_only=True)
|
contact_count = serializers.IntegerField(read_only=True)
|
||||||
_depth = serializers.IntegerField(source='level', read_only=True)
|
_depth = serializers.IntegerField(source='level', read_only=True)
|
||||||
|
|
||||||
@ -60,8 +54,6 @@ class NestedContactGroupSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedContactRoleSerializer(WritableNestedSerializer):
|
class NestedContactRoleSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:contactrole-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='tenancy:contactrole')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ContactRole
|
model = ContactRole
|
||||||
@ -69,8 +61,6 @@ class NestedContactRoleSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedContactSerializer(WritableNestedSerializer):
|
class NestedContactSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:contact-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='tenancy:contact')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Contact
|
model = Contact
|
||||||
@ -78,7 +68,6 @@ class NestedContactSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedContactAssignmentSerializer(WritableNestedSerializer):
|
class NestedContactAssignmentSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:contactassignment-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
display_url = serializers.CharField(allow_null=True, read_only=True)
|
||||||
contact = NestedContactSerializer()
|
contact = NestedContactSerializer()
|
||||||
role = NestedContactRoleSerializer
|
role = NestedContactRoleSerializer
|
||||||
|
@ -19,8 +19,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ContactGroupSerializer(NestedGroupModelSerializer):
|
class ContactGroupSerializer(NestedGroupModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:contactgroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='tenancy:contactgroup')
|
|
||||||
parent = NestedContactGroupSerializer(required=False, allow_null=True, default=None)
|
parent = NestedContactGroupSerializer(required=False, allow_null=True, default=None)
|
||||||
contact_count = serializers.IntegerField(read_only=True, default=0)
|
contact_count = serializers.IntegerField(read_only=True, default=0)
|
||||||
|
|
||||||
@ -34,8 +32,6 @@ class ContactGroupSerializer(NestedGroupModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ContactRoleSerializer(NetBoxModelSerializer):
|
class ContactRoleSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:contactrole-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='tenancy:contactrole')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ContactRole
|
model = ContactRole
|
||||||
@ -47,8 +43,6 @@ class ContactRoleSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ContactSerializer(NetBoxModelSerializer):
|
class ContactSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:contact-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='tenancy:contact')
|
|
||||||
group = ContactGroupSerializer(nested=True, required=False, allow_null=True, default=None)
|
group = ContactGroupSerializer(nested=True, required=False, allow_null=True, default=None)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -61,7 +55,6 @@ class ContactSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ContactAssignmentSerializer(NetBoxModelSerializer):
|
class ContactAssignmentSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:contactassignment-detail')
|
|
||||||
display_url = serializers.CharField(allow_null=True, read_only=True)
|
display_url = serializers.CharField(allow_null=True, read_only=True)
|
||||||
object_type = ContentTypeField(
|
object_type = ContentTypeField(
|
||||||
queryset=ContentType.objects.all()
|
queryset=ContentType.objects.all()
|
||||||
|
@ -12,8 +12,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class TenantGroupSerializer(NestedGroupModelSerializer):
|
class TenantGroupSerializer(NestedGroupModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:tenantgroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='tenancy:tenantgroup')
|
|
||||||
parent = NestedTenantGroupSerializer(required=False, allow_null=True)
|
parent = NestedTenantGroupSerializer(required=False, allow_null=True)
|
||||||
tenant_count = serializers.IntegerField(read_only=True, default=0)
|
tenant_count = serializers.IntegerField(read_only=True, default=0)
|
||||||
|
|
||||||
@ -27,8 +25,6 @@ class TenantGroupSerializer(NestedGroupModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class TenantSerializer(NetBoxModelSerializer):
|
class TenantSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:tenant-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='tenancy:tenant')
|
|
||||||
group = TenantGroupSerializer(nested=True, required=False, allow_null=True, default=None)
|
group = TenantGroupSerializer(nested=True, required=False, allow_null=True, default=None)
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
|
@ -17,8 +17,6 @@ __all__ = [
|
|||||||
|
|
||||||
|
|
||||||
class NestedGroupSerializer(WritableNestedSerializer):
|
class NestedGroupSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='users-api:group-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='users:group')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Group
|
model = Group
|
||||||
@ -26,8 +24,6 @@ class NestedGroupSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedUserSerializer(WritableNestedSerializer):
|
class NestedUserSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='users-api:user-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='users:user')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = get_user_model()
|
model = get_user_model()
|
||||||
@ -41,8 +37,6 @@ class NestedUserSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedTokenSerializer(WritableNestedSerializer):
|
class NestedTokenSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='users-api:token-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='users:token')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Token
|
model = Token
|
||||||
@ -50,8 +44,6 @@ class NestedTokenSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedObjectPermissionSerializer(WritableNestedSerializer):
|
class NestedObjectPermissionSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='users-api:objectpermission-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='users:objectpermission')
|
|
||||||
object_types = ContentTypeField(
|
object_types = ContentTypeField(
|
||||||
queryset=ObjectType.objects.all(),
|
queryset=ObjectType.objects.all(),
|
||||||
many=True
|
many=True
|
||||||
|
@ -12,8 +12,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ObjectPermissionSerializer(ValidatedModelSerializer):
|
class ObjectPermissionSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='users-api:objectpermission-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='users:objectpermission')
|
|
||||||
object_types = ContentTypeField(
|
object_types = ContentTypeField(
|
||||||
queryset=ObjectType.objects.all(),
|
queryset=ObjectType.objects.all(),
|
||||||
many=True
|
many=True
|
||||||
|
@ -15,8 +15,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class TokenSerializer(ValidatedModelSerializer):
|
class TokenSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='users-api:token-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='users:token')
|
|
||||||
key = serializers.CharField(
|
key = serializers.CharField(
|
||||||
min_length=40,
|
min_length=40,
|
||||||
max_length=40,
|
max_length=40,
|
||||||
|
@ -15,8 +15,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class GroupSerializer(ValidatedModelSerializer):
|
class GroupSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='users-api:group-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='users:group')
|
|
||||||
user_count = serializers.IntegerField(read_only=True)
|
user_count = serializers.IntegerField(read_only=True)
|
||||||
permissions = SerializedPKRelatedField(
|
permissions = SerializedPKRelatedField(
|
||||||
source='object_permissions',
|
source='object_permissions',
|
||||||
@ -34,8 +32,6 @@ class GroupSerializer(ValidatedModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class UserSerializer(ValidatedModelSerializer):
|
class UserSerializer(ValidatedModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='users-api:user-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='users:user')
|
|
||||||
groups = SerializedPKRelatedField(
|
groups = SerializedPKRelatedField(
|
||||||
queryset=Group.objects.all(),
|
queryset=Group.objects.all(),
|
||||||
serializer=GroupSerializer,
|
serializer=GroupSerializer,
|
||||||
|
@ -23,8 +23,6 @@ __all__ = [
|
|||||||
exclude_fields=('cluster_count',),
|
exclude_fields=('cluster_count',),
|
||||||
)
|
)
|
||||||
class NestedClusterTypeSerializer(WritableNestedSerializer):
|
class NestedClusterTypeSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:clustertype-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:clustertype')
|
|
||||||
cluster_count = RelatedObjectCountField('clusters')
|
cluster_count = RelatedObjectCountField('clusters')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -36,8 +34,6 @@ class NestedClusterTypeSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('cluster_count',),
|
exclude_fields=('cluster_count',),
|
||||||
)
|
)
|
||||||
class NestedClusterGroupSerializer(WritableNestedSerializer):
|
class NestedClusterGroupSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:clustergroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:clustergroup')
|
|
||||||
cluster_count = RelatedObjectCountField('clusters')
|
cluster_count = RelatedObjectCountField('clusters')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -49,8 +45,6 @@ class NestedClusterGroupSerializer(WritableNestedSerializer):
|
|||||||
exclude_fields=('virtualmachine_count',),
|
exclude_fields=('virtualmachine_count',),
|
||||||
)
|
)
|
||||||
class NestedClusterSerializer(WritableNestedSerializer):
|
class NestedClusterSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:cluster-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:cluster')
|
|
||||||
virtualmachine_count = RelatedObjectCountField('virtual_machines')
|
virtualmachine_count = RelatedObjectCountField('virtual_machines')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -63,8 +57,6 @@ class NestedClusterSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedVirtualMachineSerializer(WritableNestedSerializer):
|
class NestedVirtualMachineSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:virtualmachine-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:virtualmachine')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = VirtualMachine
|
model = VirtualMachine
|
||||||
@ -72,8 +64,6 @@ class NestedVirtualMachineSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedVMInterfaceSerializer(WritableNestedSerializer):
|
class NestedVMInterfaceSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:vminterface-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:vminterface')
|
|
||||||
virtual_machine = NestedVirtualMachineSerializer(read_only=True)
|
virtual_machine = NestedVirtualMachineSerializer(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -82,8 +72,6 @@ class NestedVMInterfaceSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedVirtualDiskSerializer(WritableNestedSerializer):
|
class NestedVirtualDiskSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:virtualdisk-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:virtualdisk')
|
|
||||||
virtual_machine = NestedVirtualMachineSerializer(read_only=True)
|
virtual_machine = NestedVirtualMachineSerializer(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -15,8 +15,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class ClusterTypeSerializer(NetBoxModelSerializer):
|
class ClusterTypeSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:clustertype-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:clustertype')
|
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
cluster_count = RelatedObjectCountField('clusters')
|
cluster_count = RelatedObjectCountField('clusters')
|
||||||
@ -31,8 +29,6 @@ class ClusterTypeSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ClusterGroupSerializer(NetBoxModelSerializer):
|
class ClusterGroupSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:clustergroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:clustergroup')
|
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
cluster_count = RelatedObjectCountField('clusters')
|
cluster_count = RelatedObjectCountField('clusters')
|
||||||
@ -47,8 +43,6 @@ class ClusterGroupSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class ClusterSerializer(NetBoxModelSerializer):
|
class ClusterSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:cluster-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:cluster')
|
|
||||||
type = ClusterTypeSerializer(nested=True)
|
type = ClusterTypeSerializer(nested=True)
|
||||||
group = ClusterGroupSerializer(nested=True, required=False, allow_null=True, default=None)
|
group = ClusterGroupSerializer(nested=True, required=False, allow_null=True, default=None)
|
||||||
status = ChoiceField(choices=ClusterStatusChoices, required=False)
|
status = ChoiceField(choices=ClusterStatusChoices, required=False)
|
||||||
|
@ -29,8 +29,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class VirtualMachineSerializer(NetBoxModelSerializer):
|
class VirtualMachineSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:virtualmachine-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:virtualmachine')
|
|
||||||
status = ChoiceField(choices=VirtualMachineStatusChoices, required=False)
|
status = ChoiceField(choices=VirtualMachineStatusChoices, required=False)
|
||||||
site = SiteSerializer(nested=True, required=False, allow_null=True, default=None)
|
site = SiteSerializer(nested=True, required=False, allow_null=True, default=None)
|
||||||
cluster = ClusterSerializer(nested=True, required=False, allow_null=True, default=None)
|
cluster = ClusterSerializer(nested=True, required=False, allow_null=True, default=None)
|
||||||
@ -79,8 +77,6 @@ class VirtualMachineWithConfigContextSerializer(VirtualMachineSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VMInterfaceSerializer(NetBoxModelSerializer):
|
class VMInterfaceSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:vminterface-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:vminterface')
|
|
||||||
virtual_machine = VirtualMachineSerializer(nested=True)
|
virtual_machine = VirtualMachineSerializer(nested=True)
|
||||||
parent = NestedVMInterfaceSerializer(required=False, allow_null=True)
|
parent = NestedVMInterfaceSerializer(required=False, allow_null=True)
|
||||||
bridge = NestedVMInterfaceSerializer(required=False, allow_null=True)
|
bridge = NestedVMInterfaceSerializer(required=False, allow_null=True)
|
||||||
@ -131,8 +127,6 @@ class VMInterfaceSerializer(NetBoxModelSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VirtualDiskSerializer(NetBoxModelSerializer):
|
class VirtualDiskSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='virtualization-api:virtualdisk-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='virtualization:virtualdisk')
|
|
||||||
virtual_machine = VirtualMachineSerializer(nested=True)
|
virtual_machine = VirtualMachineSerializer(nested=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -23,8 +23,6 @@ __all__ = (
|
|||||||
exclude_fields=('tunnel_count',),
|
exclude_fields=('tunnel_count',),
|
||||||
)
|
)
|
||||||
class NestedTunnelGroupSerializer(WritableNestedSerializer):
|
class NestedTunnelGroupSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='vpn-api:tunnelgroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='vpn:tunnelgroup')
|
|
||||||
tunnel_count = RelatedObjectCountField('tunnels')
|
tunnel_count = RelatedObjectCountField('tunnels')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -33,12 +31,6 @@ class NestedTunnelGroupSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedTunnelSerializer(WritableNestedSerializer):
|
class NestedTunnelSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:tunnel-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:tunnel'
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Tunnel
|
model = models.Tunnel
|
||||||
@ -46,12 +38,6 @@ class NestedTunnelSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedTunnelTerminationSerializer(WritableNestedSerializer):
|
class NestedTunnelTerminationSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:tunneltermination-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:tunneltermination'
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.TunnelTermination
|
model = models.TunnelTermination
|
||||||
@ -59,12 +45,6 @@ class NestedTunnelTerminationSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedIKEProposalSerializer(WritableNestedSerializer):
|
class NestedIKEProposalSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:ikeproposal-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:ikeproposal'
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.IKEProposal
|
model = models.IKEProposal
|
||||||
@ -72,12 +52,6 @@ class NestedIKEProposalSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedIKEPolicySerializer(WritableNestedSerializer):
|
class NestedIKEPolicySerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:ikepolicy-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:ikepolicy'
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.IKEPolicy
|
model = models.IKEPolicy
|
||||||
@ -85,12 +59,6 @@ class NestedIKEPolicySerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedIPSecProposalSerializer(WritableNestedSerializer):
|
class NestedIPSecProposalSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:ipsecproposal-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:ipsecproposal'
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.IPSecProposal
|
model = models.IPSecProposal
|
||||||
@ -98,12 +66,6 @@ class NestedIPSecProposalSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedIPSecPolicySerializer(WritableNestedSerializer):
|
class NestedIPSecPolicySerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:ipsecpolicy-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:ipsecpolicy'
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.IPSecPolicy
|
model = models.IPSecPolicy
|
||||||
@ -111,12 +73,6 @@ class NestedIPSecPolicySerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedIPSecProfileSerializer(WritableNestedSerializer):
|
class NestedIPSecProfileSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:ipsecprofile-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:ipsecprofile'
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.IPSecProfile
|
model = models.IPSecProfile
|
||||||
@ -128,8 +84,6 @@ class NestedIPSecProfileSerializer(WritableNestedSerializer):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class NestedL2VPNSerializer(WritableNestedSerializer):
|
class NestedL2VPNSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='vpn-api:l2vpn-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='vpn:l2vpn')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.L2VPN
|
model = models.L2VPN
|
||||||
@ -139,8 +93,6 @@ class NestedL2VPNSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedL2VPNTerminationSerializer(WritableNestedSerializer):
|
class NestedL2VPNTerminationSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='vpn-api:l2vpntermination-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='vpn:l2vpntermination')
|
|
||||||
l2vpn = NestedL2VPNSerializer()
|
l2vpn = NestedL2VPNSerializer()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -15,12 +15,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class IKEProposalSerializer(NetBoxModelSerializer):
|
class IKEProposalSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:ikeproposal-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:ikeproposal'
|
|
||||||
)
|
|
||||||
authentication_method = ChoiceField(
|
authentication_method = ChoiceField(
|
||||||
choices=AuthenticationMethodChoices
|
choices=AuthenticationMethodChoices
|
||||||
)
|
)
|
||||||
@ -45,12 +39,6 @@ class IKEProposalSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class IKEPolicySerializer(NetBoxModelSerializer):
|
class IKEPolicySerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:ikepolicy-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:ikepolicy'
|
|
||||||
)
|
|
||||||
version = ChoiceField(
|
version = ChoiceField(
|
||||||
choices=IKEVersionChoices
|
choices=IKEVersionChoices
|
||||||
)
|
)
|
||||||
@ -75,12 +63,6 @@ class IKEPolicySerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class IPSecProposalSerializer(NetBoxModelSerializer):
|
class IPSecProposalSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:ipsecproposal-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:ipsecproposal'
|
|
||||||
)
|
|
||||||
encryption_algorithm = ChoiceField(
|
encryption_algorithm = ChoiceField(
|
||||||
choices=EncryptionAlgorithmChoices
|
choices=EncryptionAlgorithmChoices
|
||||||
)
|
)
|
||||||
@ -98,12 +80,6 @@ class IPSecProposalSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class IPSecPolicySerializer(NetBoxModelSerializer):
|
class IPSecPolicySerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:ipsecpolicy-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:ipsecpolicy'
|
|
||||||
)
|
|
||||||
proposals = SerializedPKRelatedField(
|
proposals = SerializedPKRelatedField(
|
||||||
queryset=IPSecProposal.objects.all(),
|
queryset=IPSecProposal.objects.all(),
|
||||||
serializer=IPSecProposalSerializer,
|
serializer=IPSecProposalSerializer,
|
||||||
@ -126,12 +102,6 @@ class IPSecPolicySerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class IPSecProfileSerializer(NetBoxModelSerializer):
|
class IPSecProfileSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:ipsecprofile-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:ipsecprofile'
|
|
||||||
)
|
|
||||||
mode = ChoiceField(
|
mode = ChoiceField(
|
||||||
choices=IPSecModeChoices
|
choices=IPSecModeChoices
|
||||||
)
|
)
|
||||||
|
@ -18,8 +18,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class L2VPNSerializer(NetBoxModelSerializer):
|
class L2VPNSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='vpn-api:l2vpn-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='vpn:l2vpn')
|
|
||||||
type = ChoiceField(choices=L2VPNTypeChoices, required=False)
|
type = ChoiceField(choices=L2VPNTypeChoices, required=False)
|
||||||
import_targets = SerializedPKRelatedField(
|
import_targets = SerializedPKRelatedField(
|
||||||
queryset=RouteTarget.objects.all(),
|
queryset=RouteTarget.objects.all(),
|
||||||
@ -47,8 +45,6 @@ class L2VPNSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class L2VPNTerminationSerializer(NetBoxModelSerializer):
|
class L2VPNTerminationSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='vpn-api:l2vpntermination-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='vpn:l2vpntermination')
|
|
||||||
l2vpn = L2VPNSerializer(
|
l2vpn = L2VPNSerializer(
|
||||||
nested=True
|
nested=True
|
||||||
)
|
)
|
||||||
|
@ -23,8 +23,6 @@ __all__ = (
|
|||||||
#
|
#
|
||||||
|
|
||||||
class TunnelGroupSerializer(NetBoxModelSerializer):
|
class TunnelGroupSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='vpn-api:tunnelgroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='vpn:tunnelgroup')
|
|
||||||
|
|
||||||
# Related object counts
|
# Related object counts
|
||||||
tunnel_count = RelatedObjectCountField('tunnels')
|
tunnel_count = RelatedObjectCountField('tunnels')
|
||||||
@ -39,12 +37,6 @@ class TunnelGroupSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class TunnelSerializer(NetBoxModelSerializer):
|
class TunnelSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:tunnel-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:tunnel'
|
|
||||||
)
|
|
||||||
status = ChoiceField(
|
status = ChoiceField(
|
||||||
choices=TunnelStatusChoices
|
choices=TunnelStatusChoices
|
||||||
)
|
)
|
||||||
@ -82,12 +74,6 @@ class TunnelSerializer(NetBoxModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class TunnelTerminationSerializer(NetBoxModelSerializer):
|
class TunnelTerminationSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn-api:tunneltermination-detail'
|
|
||||||
)
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(
|
|
||||||
view_name='vpn:tunneltermination'
|
|
||||||
)
|
|
||||||
tunnel = TunnelSerializer(
|
tunnel = TunnelSerializer(
|
||||||
nested=True
|
nested=True
|
||||||
)
|
)
|
||||||
|
@ -15,8 +15,6 @@ __all__ = (
|
|||||||
exclude_fields=('wirelesslan_count',),
|
exclude_fields=('wirelesslan_count',),
|
||||||
)
|
)
|
||||||
class NestedWirelessLANGroupSerializer(WritableNestedSerializer):
|
class NestedWirelessLANGroupSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslangroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='wireless:wirelesslangroup')
|
|
||||||
wirelesslan_count = serializers.IntegerField(read_only=True)
|
wirelesslan_count = serializers.IntegerField(read_only=True)
|
||||||
_depth = serializers.IntegerField(source='level', read_only=True)
|
_depth = serializers.IntegerField(source='level', read_only=True)
|
||||||
|
|
||||||
@ -26,8 +24,6 @@ class NestedWirelessLANGroupSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedWirelessLANSerializer(WritableNestedSerializer):
|
class NestedWirelessLANSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslan-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='wireless:wirelesslan')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = WirelessLAN
|
model = WirelessLAN
|
||||||
@ -35,8 +31,6 @@ class NestedWirelessLANSerializer(WritableNestedSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class NestedWirelessLinkSerializer(WritableNestedSerializer):
|
class NestedWirelessLinkSerializer(WritableNestedSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslink-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='wireless:wirelesslink')
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = WirelessLink
|
model = WirelessLink
|
||||||
|
@ -15,8 +15,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class WirelessLANGroupSerializer(NestedGroupModelSerializer):
|
class WirelessLANGroupSerializer(NestedGroupModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslangroup-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='wireless:wirelesslangroup')
|
|
||||||
parent = NestedWirelessLANGroupSerializer(required=False, allow_null=True, default=None)
|
parent = NestedWirelessLANGroupSerializer(required=False, allow_null=True, default=None)
|
||||||
wirelesslan_count = serializers.IntegerField(read_only=True, default=0)
|
wirelesslan_count = serializers.IntegerField(read_only=True, default=0)
|
||||||
|
|
||||||
@ -30,8 +28,6 @@ class WirelessLANGroupSerializer(NestedGroupModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class WirelessLANSerializer(NetBoxModelSerializer):
|
class WirelessLANSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslan-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='wireless:wirelesslan')
|
|
||||||
group = WirelessLANGroupSerializer(nested=True, required=False, allow_null=True)
|
group = WirelessLANGroupSerializer(nested=True, required=False, allow_null=True)
|
||||||
status = ChoiceField(choices=WirelessLANStatusChoices, required=False, allow_blank=True)
|
status = ChoiceField(choices=WirelessLANStatusChoices, required=False, allow_blank=True)
|
||||||
vlan = VLANSerializer(nested=True, required=False, allow_null=True)
|
vlan = VLANSerializer(nested=True, required=False, allow_null=True)
|
||||||
|
@ -14,8 +14,6 @@ __all__ = (
|
|||||||
|
|
||||||
|
|
||||||
class WirelessLinkSerializer(NetBoxModelSerializer):
|
class WirelessLinkSerializer(NetBoxModelSerializer):
|
||||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslink-detail')
|
|
||||||
display_url = serializers.HyperlinkedIdentityField(view_name='wireless:wirelesslink')
|
|
||||||
status = ChoiceField(choices=LinkStatusChoices, required=False)
|
status = ChoiceField(choices=LinkStatusChoices, required=False)
|
||||||
interface_a = InterfaceSerializer(nested=True)
|
interface_a = InterfaceSerializer(nested=True)
|
||||||
interface_b = InterfaceSerializer(nested=True)
|
interface_b = InterfaceSerializer(nested=True)
|
||||||
|
Loading…
Reference in New Issue
Block a user