expose virtual circuits in vapor interface response

This commit is contained in:
Marco Ceppi 2020-09-29 14:16:44 -04:00
parent af41013058
commit e3eff85a5c
2 changed files with 24 additions and 1 deletions

View File

@ -81,6 +81,7 @@ spec:
sed -i -e "s/SECRET_KEY = .*/SECRET_KEY = 'netboxci'/g" configuration.py
sed -i -e "s/USER': .*/USER': 'netbox',/g" configuration.py
sed -i -e "s/PASSWORD': .*/PASSWORD': 'netbox',/g" configuration.py
sed -i -e "s/PLUGINS = .*/PLUGINS = ['netbox_virtual_circuit_plugin']/g" configuration.py
"""
}
// finally, kick off tox to run the entire test suite

View File

@ -19,6 +19,8 @@ from utilities.api import ChoiceField, ValidatedModelSerializer, SerializedPKRel
from tenancy.models import Tenant as Customer
from utilities.utils import dynamic_import
from netbox_virtual_circuit_plugin.models import VirtualCircuitVLAN, VirtualCircuit
def get_serializer_for_model(model, prefix=''):
"""
@ -45,6 +47,17 @@ def get_serializer_for_model(model, prefix=''):
)
class NestedVirtualCircuitSerializer(ValidatedModelSerializer):
vcid = serializers.ReadOnlyField(source='virtual_circuit.vcid')
name = serializers.ReadOnlyField(source='virtual_circuit.name')
status = serializers.ReadOnlyField(source='virtual_circuit.status')
context = serializers.ReadOnlyField(source='virtual_circuit.context')
class Meta:
model = VirtualCircuit
fields = ['vcid', 'name', 'status', 'context']
class NestedVaporVLANSerializer(WritableNestedSerializer):
url = serializers.HyperlinkedIdentityField(view_name='ipam-api:vlan-detail')
@ -55,9 +68,18 @@ class NestedVaporVLANSerializer(WritableNestedSerializer):
many=True,
)
virtual_circuit = SerializedPKRelatedField(
source='vlan_of',
queryset=VirtualCircuitVLAN.objects.all(),
serializer=NestedVirtualCircuitSerializer,
pk_field='vlan',
required=False,
many=False,
)
class Meta:
model = VLAN
fields = ['id', 'url', 'vid', 'name', 'display_name', 'prefixes', 'status']
fields = ['id', 'url', 'vid', 'name', 'display_name', 'prefixes', 'status', 'virtual_circuit']
class NestedVLANInterfaceSerializer(WritableNestedSerializer):