Exemple #1
0
class DeviceSerializer(CustomFieldSerializer, serializers.ModelSerializer):
    device_type = DeviceTypeNestedSerializer()
    device_role = DeviceRoleNestedSerializer()
    tenant = TenantNestedSerializer()
    platform = PlatformNestedSerializer()
    rack = RackNestedSerializer()
    primary_ip = DeviceIPAddressNestedSerializer()
    primary_ip4 = DeviceIPAddressNestedSerializer()
    primary_ip6 = DeviceIPAddressNestedSerializer()
    parent_device = serializers.SerializerMethodField()

    class Meta:
        model = Device
        fields = [
            'id', 'name', 'display_name', 'device_type', 'device_role',
            'tenant', 'platform', 'serial', 'asset_tag', 'rack', 'position',
            'face', 'parent_device', 'status', 'primary_ip', 'primary_ip4',
            'primary_ip6', 'comments', 'custom_fields'
        ]

    def get_parent_device(self, obj):
        try:
            device_bay = obj.parent_bay
        except DeviceBay.DoesNotExist:
            return None
        return {
            'id': device_bay.device.pk,
            'name': device_bay.device.name,
            'device_bay': {
                'id': device_bay.pk,
                'name': device_bay.name,
            }
        }
Exemple #2
0
class IPAddressSerializer(serializers.ModelSerializer):
    vrf = VRFTenantSerializer()
    tenant = TenantNestedSerializer()
    interface = InterfaceNestedSerializer()

    class Meta:
        model = IPAddress
        fields = ['id', 'family', 'address', 'vrf', 'tenant', 'interface', 'description', 'nat_inside', 'nat_outside']
Exemple #3
0
class VLANSerializer(serializers.ModelSerializer):
    site = SiteNestedSerializer()
    group = VLANGroupNestedSerializer()
    tenant = TenantNestedSerializer()
    role = RoleNestedSerializer()

    class Meta:
        model = VLAN
        fields = ['id', 'site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description', 'display_name']
Exemple #4
0
class CircuitSerializer(CustomFieldSerializer, serializers.ModelSerializer):
    provider = ProviderNestedSerializer()
    type = CircuitTypeNestedSerializer()
    tenant = TenantNestedSerializer()
    terminations = CircuitTerminationSerializer(many=True)

    class Meta:
        model = Circuit
        fields = ['id', 'cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate', 'comments', 'terminations', 'custom_fields']
Exemple #5
0
class VRFSerializer(CustomFieldSerializer, serializers.ModelSerializer):
    tenant = TenantNestedSerializer()

    class Meta:
        model = VRF
        fields = [
            'id', 'name', 'rd', 'tenant', 'enforce_unique', 'description',
            'custom_fields'
        ]
Exemple #6
0
class PrefixSerializer(serializers.ModelSerializer):
    site = SiteNestedSerializer()
    vrf = VRFTenantSerializer()
    tenant = TenantNestedSerializer()
    vlan = VLANNestedSerializer()
    role = RoleNestedSerializer()

    class Meta:
        model = Prefix
        fields = ['id', 'family', 'prefix', 'site', 'vrf', 'tenant', 'vlan', 'status', 'role', 'description']
Exemple #7
0
class SiteSerializer(CustomFieldSerializer, serializers.ModelSerializer):
    tenant = TenantNestedSerializer()

    class Meta:
        model = Site
        fields = [
            'id', 'name', 'slug', 'tenant', 'facility', 'asn',
            'physical_address', 'shipping_address', 'comments',
            'custom_fields', 'count_prefixes', 'count_vlans', 'count_racks',
            'count_devices', 'count_circuits'
        ]
Exemple #8
0
class RackSerializer(serializers.ModelSerializer):
    site = SiteNestedSerializer()
    group = RackGroupNestedSerializer()
    tenant = TenantNestedSerializer()

    class Meta:
        model = Rack
        fields = [
            'id', 'name', 'facility_id', 'display_name', 'site', 'group',
            'tenant', 'u_height', 'comments'
        ]
Exemple #9
0
class RackSerializer(CustomFieldSerializer, serializers.ModelSerializer):
    site = SiteNestedSerializer()
    group = RackGroupNestedSerializer()
    tenant = TenantNestedSerializer()
    role = RackRoleNestedSerializer()

    class Meta:
        model = Rack
        fields = [
            'id', 'name', 'facility_id', 'display_name', 'site', 'group',
            'tenant', 'role', 'type', 'width', 'u_height', 'comments',
            'custom_fields'
        ]
Exemple #10
0
class CircuitSerializer(serializers.ModelSerializer):
    provider = ProviderNestedSerializer()
    type = CircuitTypeNestedSerializer()
    tenant = TenantNestedSerializer()
    site = SiteNestedSerializer()
    interface = InterfaceNestedSerializer()

    class Meta:
        model = Circuit
        fields = [
            'id', 'cid', 'provider', 'type', 'tenant', 'site', 'interface',
            'install_date', 'port_speed', 'upstream_speed', 'commit_rate',
            'xconnect_id', 'comments'
        ]